thehexatechcb / app.py
rohanshaw's picture
Upload 5 files
9b61555 verified
raw
history blame
1.44 kB
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from chatbot import Chatbot
# from utils.chatbotmemory import ChatbotMemory
import logging
from langchain_core.messages import AIMessage, HumanMessage
app = FastAPI()
# Add logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logger.addHandler(handler)
# Add CORS
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["GET", "POST", "PUT", "DELETE"],
allow_headers=["*"],
)
bot1 = Chatbot()
# bot2 = ChatbotMemory()
@app.get("/")
def read_root():
return {
"message": "API running successfully",
"endpoints": [
"/chat/v1/",
# "/chat/v2/",
]
}
@app.post("/chat/v1/")
def chat(q: str):
logger.info(q)
answer = bot1.rag_chain.invoke(q)
return {"answer": answer}
# @app.post("/chat/v2/")
# def chatMemory(q: str):
# chat_history = []
# logger.info(q)
# ai_msg = bot2.rag_chain.invoke({"question": q, "chat_history": chat_history})
# chat_history.extend([HumanMessage(content=q), ai_msg])
# return {"answer": ai_msg}