66 lines
1.8 KiB
Python
66 lines
1.8 KiB
Python
from dotenv import load_dotenv
|
|
import os
|
|
from groq import Groq
|
|
import json
|
|
|
|
# Load environment variables
|
|
load_dotenv()
|
|
|
|
# Initialize Groq client
|
|
client = Groq(
|
|
api_key=os.getenv("GROQ_API_KEY"),
|
|
)
|
|
|
|
|
|
def chat_with_groq(prompt: str, model: str = "llama-3.3-70b-versatile") -> str:
|
|
try:
|
|
# Create a chat completion
|
|
chat_completion = client.chat.completions.create(
|
|
messages=[
|
|
{
|
|
"role": "system",
|
|
"content": "you are a helpful AI engineer assistant."
|
|
},
|
|
{
|
|
"role": "user",
|
|
"content": prompt
|
|
}
|
|
],
|
|
model=model,
|
|
)
|
|
# Return the response content
|
|
return chat_completion.choices[0].message.content
|
|
except Exception as e:
|
|
return f"An error occurred: {e}"
|
|
|
|
def groq_module_fun(resume_prompt, base64_image):
|
|
completion = client.chat.completions.create(
|
|
model="llama-3.2-90b-vision-preview",
|
|
messages=[
|
|
{
|
|
"role": "user",
|
|
"content": [
|
|
{
|
|
"type": "text",
|
|
"text": resume_prompt
|
|
},
|
|
{
|
|
"type": "image_url",
|
|
"image_url": {
|
|
"url": f"data:image/jpeg;base64,{base64_image}",
|
|
},
|
|
}
|
|
]
|
|
}
|
|
],
|
|
temperature=1,
|
|
max_completion_tokens=1024,
|
|
top_p=1,
|
|
stream=False,
|
|
response_format={"type": "json_object"},
|
|
)
|
|
|
|
# Access the response here inside the function
|
|
api_response = completion.choices[0].message.content
|
|
return api_response
|