Talk2Gita / app.py
GenAIDevTOProd's picture
Update app.py
822fbc0 verified
import gradio as gr
import openai
from getpass import getpass
import os
from langchain.vectorstores import FAISS
from langchain.embeddings import HuggingFaceEmbeddings
#OpenRouter API
openai.api_key = os.environ.get("OPENROUTER_API_KEY")
openai.api_base = "https://openrouter.ai/api/v1"
# Load vector DB
embedding_model = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
db = FAISS.load_local("gita_vector_index", embedding_model, allow_dangerous_deserialization=True)
retriever = db.as_retriever()
# Chat function
def Talk2Gita(query, history):
try:
docs = retriever.get_relevant_documents(query)
context = "\n\n".join([doc.page_content for doc in docs[:2]])
response = openai.ChatCompletion.create(
model="mistralai/mistral-7b-instruct",
messages=[
{"role": "system", "content": "You are a helpful assistant answering questions from the Bhagavad Gita."},
{"role": "user", "content": f"""Context:
{context}
Question:
{query}"""}
],
max_tokens=300,
)
return response["choices"][0]["message"]["content"]
except Exception as e:
return f" Error: {str(e)}"
# Launch Gradio app
gr.ChatInterface(Talk2Gita, title="Talk to the Bhagavad Gita").launch(share=True)