Files changed (1) hide show
  1. app.py +32 -0
app.py CHANGED
@@ -126,6 +126,38 @@ async def create_chat_completion(request: ChatCompletionRequest):
126
  else:
127
  # Code de secours si le stream n'est pas demandé (peu probable)
128
  return {"choices": [{"message": {"role": "assistant", "content": response_text}}]}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
130
  @app.get("/")
131
  def root():
 
126
  else:
127
  # Code de secours si le stream n'est pas demandé (peu probable)
128
  return {"choices": [{"message": {"role": "assistant", "content": response_text}}]}
129
+ # ... (tout votre code existant reste inchangé) ...
130
+
131
+ # Fonction génératrice pour le streaming
132
+ async def stream_generator():
133
+ # ... (le contenu de cette fonction ne change pas) ...
134
+
135
+ # Si l'extension demande un stream, on renvoie le générateur
136
+ if request.stream:
137
+ # ... (cette partie ne change pas) ...
138
+
139
+ # ===============================================================
140
+ # AJOUTEZ LE CODE CI-DESSOUS
141
+ # ===============================================================
142
+
143
+ @app.post("/spend/calculate")
144
+ async def spend_calculate():
145
+ """
146
+ Endpoint factice pour satisfaire le client qui essaie de calculer les coûts.
147
+ Ne fait rien et renvoie une réponse de succès vide.
148
+ """
149
+ return {} # Renvoie un JSON vide avec un statut 200 OK par défaut
150
+
151
+ # ===============================================================
152
+ # FIN DE L'AJOUT
153
+ # ===============================================================
154
+
155
+ @app.get("/")
156
+ def root():
157
+ return {"status": "API compatible OpenAI en ligne (avec streaming)", "model_id": MODEL_ID}
158
+
159
+ # On a besoin de asyncio pour la pause dans le stream
160
+ import asyncio
161
 
162
  @app.get("/")
163
  def root():