Files
ds_update_stack/app.py
T
Owusu Samuel Blessing f97d731c82 Add files via upload
2025-03-06 09:24:46 +01:00

41 lines
1.4 KiB
Python

import faiss
from langchain_community.docstore.in_memory import InMemoryDocstore
from langchain_community.vectorstores import FAISS
from langchain_core.prompts import ChatPromptTemplate
from langchain.chains import create_retrieval_chain
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
import openai
from openai import OpenAI
from langchain_community.document_loaders.csv_loader import CSVLoader
from pathlib import Path
from langchain_openai import ChatOpenAI,OpenAIEmbeddings
import os
from dotenv import load_dotenv
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from scripts.rag import get_answer, response_agent
# Load environment variables from a .env file
# Initialize FastAPI app
app = FastAPI()
# Define a request model
class QuestionRequest(BaseModel):
question: str
@app.post("/ask")
def ask_question(request: QuestionRequest):
try:
# Use the RAG system to get the answer
calculation_data = get_answer(rag_chain, request.question)
final_response = response_agent(request.question, calculation_data)
return {"answer": final_response}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=5079)