import gradio as gr import requests import language_tool_python from bs4 import BeautifulSoup import os # Load Groq Cloud API key from Hugging Face secrets groq_api_key = os.getenv("GROQ_CLOUD_API_KEY") # Scraping function to fetch user public data (for demo purposes, we will simulate this) def fetch_public_data(name, dob, city): # Here, you could implement logic to fetch public data from sources like LinkedIn, GitHub, etc. # For simplicity, we will return dummy data to simulate a successful fetch. # You can implement web scraping or API integration to fetch real data. # Example scraping code can go here (or via LinkedIn API, etc.) bio = f"{name} is a software engineer from {city} with over 10 years of experience. Known for work in AI, cloud computing, and leadership in various engineering teams." return bio # Helper function to call Groq Cloud LLM API to generate email def generate_email_from_groq(bio, company_name, role): url = "https://api.groq.cloud/generate" # Adjust based on Groq's API documentation headers = { "Authorization": f"Bearer {groq_api_key}", "Content-Type": "application/json", } prompt = f"Write a professional email applying for a {role} position at {company_name}. Use this bio: {bio}. The email should include an introduction, relevant experience, skills, and a closing." data = { "model": "groq-model", # Adjust the model name based on Groq documentation "prompt": prompt, "max_tokens": 300 } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: return response.json().get("choices")[0].get("text").strip() else: return "Error generating email. Please check your API key or try again later." # Grammar and Tone Checker Function def check_grammar(email_text): tool = language_tool_python.LanguageTool('en-US') matches = tool.check(email_text) corrected_text = language_tool_python