File size: 1,260 Bytes
5f315ec |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
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)}" |