Spaces:
Sleeping
Sleeping
| from langchain_core.messages import AIMessage, HumanMessage | |
| from fastapi import FastAPI | |
| from langchain_pinecone.vectorstores import Pinecone | |
| from pydantic import BaseModel | |
| from rag import Rag | |
| from retriever import AskMeAboutRagRetriever | |
| from langchain_huggingface import HuggingFaceEmbeddings | |
| from dotenv import load_dotenv | |
| import os | |
| load_dotenv() | |
| api_key=os.getenv('PINECONE_KEY') | |
| index_name="askmeaboutrag" | |
| vectorstore = Pinecone(pinecone_api_key=api_key, index_name=index_name, embedding=HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")) | |
| retriever = AskMeAboutRagRetriever(vectorstore) | |
| rag_llm = Rag(vectorstore, retriever); | |
| rag_llm.createRagChain() | |
| chat_history = [] | |
| class ChatInput(BaseModel): | |
| question: str | |
| app = FastAPI() | |
| async def root(): | |
| return {"message": "Hello World"} | |
| async def generateResponse(chat_input: ChatInput): | |
| ai_msg = rag_llm.generateResponse(chat_input.question, chat_history) | |
| chat_history.extend( | |
| [ | |
| HumanMessage(content=chat_input.question), | |
| AIMessage(content=ai_msg["answer"]), | |
| ] | |
| ) | |
| return {"response": ai_msg} | |
| if __name__ == "__main__": | |
| import uvicorn | |
| uvicorn.run(app, host="127.0.0.1", port=8000) | |
| print("Server is running") |