yashjainme's picture
Upload 5 files
5f315ec verified
from groq import Groq
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("GROQ_API_KEY")
class ChatBot:
def __init__(self):
self.client = Groq(api_key=api_key)
self.system_prompt = """You are a helpful assistant that answers questions based on website content.
Always respond truthfully based on the provided context. If unsure, say you don't know."""
def generate_response(self, query, context, source_url):
"""Generate response using RAG"""
context_text = "\n\n".join([doc.page_content for doc in context])
prompt = f"""Context: {context_text}
Question: {query}
Answer:"""
try:
response = self.client.chat.completions.create(
messages=[
{"role": "system", "content": self.system_prompt},
{"role": "user", "content": prompt}
],
model="mixtral-8x7b-32768",
temperature=0.5
)
return f"{response.choices[0].message.content}\nSource: {source_url}"
except Exception as e:
return f"Error generating response: {str(e)}"