import requests from config import Config class DB_Response_Generator: def __init__(self, config: Config): self.api_url = config.GROQ_API_URL self.headers = { "Content-Type": "application/json", "Authorization": f"Bearer {config.GROQ_API_KEY}" } def generate_response(self, context: str, db_result:str, sqlcode:str) -> str: """Generate SQL query using Groq API""" try: data = { "model": "llama-3.1-8b-instant", "messages": [{ "role": "user", "content": (f"question: {context}\n" "heres the table column test_id,test_date,model_name,noise_level_db,cleaning_efficiency_percent, battery_duration_minutes INT," "area_covered_sqm, dust_collection_grams, operating_temperature_celsius ,maintenance_score, navigation_accuracy_percent ,software_version\n" f"and heres the sql code: {sqlcode} " "below is result of sql query\n" f"{db_result}\n" "make summary and use non technical sentence to explain it into user and use it to answer user question ") }], "temperature": 0.1 } response = requests.post(self.api_url, json=data, headers=self.headers) if response.status_code == 200: response_text = response.json()['choices'][0]['message']['content'] return response_text else: raise Exception(f"Groq API error: {response.status_code}, {response.text}") except Exception as e: return str(e)