hello-sajal / src /app.py
sajal2692's picture
feat: update id pass
22bb39d
import os
import gradio as gr
from langchain_core.messages import AIMessage, HumanMessage
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
from graph import AssistantGraph
# load the environment variables
load_dotenv()
VECTOR_DB_PATH = "data/chroma_db"
SOURCE_DATA_PATH = "data/source.md"
# define llm
llm = ChatOpenAI(model=os.getenv("OPENAI_MODEL"), temperature=0)
# create instance of assistant graph
app = AssistantGraph(llm=llm, vector_db_path=VECTOR_DB_PATH, source_data_path=SOURCE_DATA_PATH)
def process_history(history):
"""Return the history as a list of HumanMessage and AIMessage tuples"""
chat_history = []
for pair in history:
human_message, ai_message = pair
chat_history.append(HumanMessage(content=human_message))
chat_history.append(AIMessage(content=ai_message))
return chat_history
def run(message, history):
chat_history = process_history(history[1:]) # ignore the auto message
inputs = {"keys": {"message": message, "history": chat_history}}
result = app.run(inputs)
response = result["keys"]["response"]
return response
initial_message = "Hi there! I'm Saj, an AI assistant built by Sajal Sharma. I'm here to answer any questions you may have about Sajal. Ask me anything!"
if __name__ == "__main__":
os.system("python src/ingest_data.py")
gr.ChatInterface(run, chatbot=gr.Chatbot(value=[[None, initial_message]])).launch(auth=(os.getenv("auth_id"), os.getenv("auth_pass")))