EnzGamers commited on
Commit
a8c2b2b
·
verified ·
1 Parent(s): ef55cbb

Update app.py

Browse files

Après chaque réponse réussie, l'extension VS Code essaie d'appeler une deuxième adresse : /spend/calculate. C'est une fonctionnalité de l'extension pour calculer le coût en tokens de la requête. Comme notre API est gratuite et n'a pas cette fonctionnalité, elle ne possède pas cette adresse. Votre serveur répond donc correctement : "Désolé, l'adresse /spend/calculate n'existe pas" (Erreur 404).

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():