diabetes / app.py
Ronaldodev's picture
change api gradio to fastapi
1fbd96f
raw
history blame
1.57 kB
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from gradio_client import Client
# Charger le modèle depuis HuggingFace
client = Client("Qwen/Qwen1.5-72B-Chat")
# Prompt système
system_prompt = (
"Tu es un assistant médical spécialisé dans le domaine du diabète. "
"Donne des réponses claires, précises et utiles. D'abord ta première phrase sera de donner le type de diabète. "
"Evite de dire que tu n'es pas médécin. Donne lui des recommandations pour qu'il n'attrape pas le diabète s'il ne l'a pas, "
"et aussi s'il l'a. Aussi le type de diabète sans oublier de préciser le niveau de son diabète : normale, élevé, "
"hyperglycémie, post-prandiale, etc ... Avant de commencer, faut toujours évaluer et dire le niveau d'atteinte de diabète sur en %."
)
# App FastAPI
app = FastAPI()
# Modèle pour recevoir la requête
class QuestionInput(BaseModel):
question: str
historique: list = []
# Endpoint API pour interagir avec le modèle
@app.post("/ask")
async def ask_question(data: QuestionInput):
try:
response = client.predict(
data.question,
data.historique,
system_prompt,
api_name="/model_chat"
)
new_history = response[1]
reponse_texte = new_history[-1][1]
return {"response": reponse_texte, "history": new_history}
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=7860)