Spaces:
Sleeping
Sleeping
File size: 1,573 Bytes
1fbd96f 909f464 1fbd96f 909f464 1fbd96f 909f464 1fbd96f |
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 34 35 36 37 38 39 40 41 42 43 |
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)
|