Spaces:
Runtime error
Runtime error
File size: 1,066 Bytes
64c80f5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | from fastapi import FastAPI, Request
from fastapi.responses import RedirectResponse
import requests
from pydantic import BaseModel
from tools_config import select_tools, run_tools, get_fundamentals, get_performance, get_recent_dividends_rate
from rag_config import vectorstore_config, weaviate_client_config, close_weaviate_client, retrievers
from contextlib import asynccontextmanager
from chain import final_chain
@asynccontextmanager
async def lifespan(app: FastAPI):
app.state.weaviate_client = weaviate_client_config()
app.state.retrievers = retrievers(app.state.weaviate_client)
yield
close_weaviate_client(app.state.weaviate_client)
app = FastAPI(title="Agent_LLM_API", lifespan=lifespan)
class Query(BaseModel):
question: str
ticker: str
@app.get("/")
def root():
return RedirectResponse(url="/docs")
@app.post("/query")
def query(query: Query, request: Request):
response = final_chain((request.app.state.retrievers)).invoke({
"question": query.question,
"ticker": query.ticker
})
return response |