Spaces:
Sleeping
Sleeping
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 | |
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) | |