from fastapi import Depends, FastAPI, UploadFile
from fastapi.responses import JSONResponse, RedirectResponse
from bot import Chatbot
from utilities import Result, ErrMessage, TokenModel, Version, GetMessage
import pandas as pd
#
app = FastAPI()
chat = Chatbot()
@app.post("/upload-data-file/", tags=["Main API"])
async def create_upload_data(lang: str):
chat.lang = lang
return JSONResponse(status_code=200, content={"message": "File uploaded"})
@app.post("/component/",
tags=["Main API"],
response_model=Result)
async def talk_bot(msg_: GetMessage):
if chat.lang == "tr-TR":
chat.data = pd.read_csv("data/abc.csv", encoding="utf-16")
else:
chat.data = pd.read_csv("data/123.csv")
Merhabalar, öncelikle FastAPI ile Flask çok benzer, problemi Flask gibi düşünüpte cevap verebilirsiniz.
FastAPI kullanarak bir chatbot geliştirmeye çalışıyorum. İlk end pointimi kullanarak bir dil belirliyorum.
Bir daha bu end pointi kullanmıyorum.
İkinci end pointte bu bilgiyi kullanarak işlemler yapacağım.
İlk başlarda herşey yolunda gidiyor. İkinci end pointi kullanarak uygulamamı kullanıyorum. Ancak belli bir süre sonra chat.lang içinde tuttuğum bilgi sıfırlanıyor. “None” haline geliyor. Dolayısıyla yaptığım işlemler yanlış hale geliyor.
Bu arada şu bilgiyide aktarmalıyım. Bu durum local çalışmada yaşanmıyor. Şirketin sunucusuna attığımda bu durum yaşanıyor.
Bir ikinci ekleme
app sınıfına app.state.lang olarak da ekledim ama yine bilgiyi endpointten aldığım için aynı problem yaşanıyor.
Bir end pointten diğerine bilgi aktarmanın doğru yolu bu mudur?
Burada yaptığım yanlışlık nedir?
Çözüm olarak önerileriniz nedir?