Spaces:
Sleeping
Sleeping
| from langchain_groq import ChatGroq | |
| from langchain_core.messages import HumanMessage | |
| from dotenv import load_dotenv | |
| import os | |
| class Generator: | |
| def __init__(self,temperature:float=0.14): | |
| groq_key = os.getenv("GROQ_API_KEY") | |
| print("GROQ KEY FOUND:", bool(groq_key)) | |
| self.llm=ChatGroq( | |
| api_key='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', | |
| model="llama-3.3-70b-versatile", | |
| temperature=temperature | |
| ) | |
| def build_prompt(self,query:str,context:str,chat_history:str): | |
| ''' | |
| Build Prompt With Context + Question''' | |
| prompt=f''' | |
| You are intelligent Assistant | |
| Use the document context and conversation history only to answer the user's question. | |
| Rules: | |
| 1. Prefer the document context for document-related questions. | |
| 2. Use chat history for conversation-related questions like: | |
| - "what was my last question?" | |
| - "what did you answer before?" | |
| 3. If the answer is not available in either the context or the chat history, say: | |
| "I don't know based on the given context." | |
| Conversation History: | |
| {chat_history} | |
| context: | |
| {context} | |
| Current question: | |
| {query} | |
| If the answer is not in the context,say: | |
| "I Dont Know Based On The Given Context" | |
| ''' | |
| return prompt | |
| def generate(self,query:str,context:str,chat_history:str=""): | |
| '''Generate Answer Using Llm''' | |
| prompt=self.build_prompt(query,context,chat_history) | |
| response=self.llm.invoke(prompt) | |
| return response.content |