Spaces:
Build error
Build error
| import os | |
| from groq import Groq | |
| from dotenv import load_dotenv | |
| from pathlib import Path | |
| env_file = Path(__file__).parent / ".env" | |
| if not env_file.exists(): | |
| env_file = Path(__file__).parent.parent / ".env" | |
| load_dotenv(env_file) | |
| client = Groq(api_key=os.getenv("GROQ_API_KEY")) | |
| def format_jobs(jobs, job_title, experience_level): | |
| if not jobs: | |
| return "No jobs found. Try different search terms." | |
| raw = "" | |
| for i, job in enumerate(jobs): | |
| raw += f""" | |
| Job {i+1}: | |
| Title: {job['title']} | |
| Company: {job['company']} | |
| Location: {job['location']} | |
| URL: {job['url']} | |
| Description: {job['description']} | |
| --- | |
| """ | |
| response = client.chat.completions.create( | |
| model="llama-3.3-70b-versatile", | |
| messages=[ | |
| { | |
| "role": "system", | |
| "content": "You are a job search assistant. Format job listings clearly and helpfully." | |
| }, | |
| { | |
| "role": "user", | |
| "content": f""" | |
| Here are raw job listings for a {experience_level} {job_title}. | |
| Format each one cleanly with: | |
| - Job title and company | |
| - Location | |
| - Key requirements from description | |
| - Direct apply link | |
| Raw data: | |
| {raw} | |
| """ | |
| } | |
| ] | |
| ) | |
| return response.choices[0].message.content | |