Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import json | |
| from groq import Groq | |
| from config import Config | |
| def evaluate_linkedin_profile(profile_data): | |
| try: | |
| client = Groq(api_key=Config.GROQ_API_KEY) | |
| except Exception as e: | |
| st.error(f"❌ Groq API Configuration Error: {str(e)}") | |
| st.info("Please check your Groq API key configuration.") | |
| return "Error: Groq API configuration failed" | |
| messages = [ | |
| { | |
| "role": "system", | |
| "content": ( | |
| "You are an AI assistant specialized in evaluating LinkedIn profiles. " | |
| "Assess the provided profile data in detail according to the specified criteria. " | |
| "Provide detailed observations for:\n" | |
| "2. Headline and Summary\n" | |
| "3. Experience Section\n" | |
| "5. Custom URL and Creator Mode\n" | |
| "6. Engagement and Content Sharing\n" | |
| "7. Certifications, Licenses, and Education\n" | |
| "8. Featured Section and Multimedia\n" | |
| "11. Role-Specific Evaluation" | |
| ) | |
| }, | |
| { | |
| "role": "user", | |
| "content": f"Profile Data: {json.dumps(profile_data)}" | |
| } | |
| ] | |
| try: | |
| completion = client.chat.completions.create( | |
| model="openai/gpt-oss-120b", | |
| messages=messages, | |
| max_tokens=30000, | |
| temperature=0.5 | |
| ) | |
| # Clean markdown formatting from GPT-OSS response | |
| content = completion.choices[0].message.content | |
| content = content.replace('**', '').replace('*', '') # Remove markdown formatting | |
| return content | |
| except Exception as e: | |
| st.error(f"❌ Groq API Error: {str(e)}") | |
| if "organization_restricted" in str(e): | |
| st.warning("🔑 Your Groq API key has been restricted. Please:") | |
| st.info("1. Check your Groq account at https://console.groq.com/\n2. Generate a new API key\n3. Update your .env file") | |
| return f"Error: {str(e)}" |