angeetoile commited on
Commit
d8b33ca
·
verified ·
1 Parent(s): d9d7ca3

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +24 -3
main.py CHANGED
@@ -188,6 +188,15 @@ class LegalRequest(BaseModel):
188
  feature: str
189
  locale: str
190
  payload: LegalPayload
 
 
 
 
 
 
 
 
 
191
 
192
  @app.get("/")
193
  def read_root():
@@ -200,21 +209,33 @@ def read_root():
200
  # ROUTE 1 : REQUÊTE TEXTE (Llama 3.3 70B + RAG Externe)
201
  # =========================================================
202
  @app.post("/api/chat")
203
- async def chat_text(request: TextRequest):
204
  if not groq_client:
205
  raise HTTPException(status_code=500, detail="Le moteur d'IA Groq n'est pas configuré.")
206
 
207
  try:
 
 
208
  completion = groq_client.chat.completions.create(
209
  model="llama-3.3-70b-versatile",
210
  messages=[
211
  {"role": "system", "content": FULL_SYSTEM_PROMPT},
212
- {"role": "user", "content": request.text}
213
  ],
214
  temperature=0.3,
215
  max_tokens=1024
216
  )
217
- return {"ai_response": completion.choices[0].message.content}
 
 
 
 
 
 
 
 
 
 
218
  except Exception as e:
219
  raise HTTPException(status_code=500, detail=f"Erreur d'inférence Groq BSTP : {str(e)}")
220
 
 
188
  feature: str
189
  locale: str
190
  payload: LegalPayload
191
+ class ChatPayload(BaseModel):
192
+ message: str
193
+ historique: Optional[List[Dict[str, Any]]] = []
194
+
195
+ class ChatRequest(BaseModel):
196
+ requestId: str
197
+ feature: str
198
+ locale: str
199
+ payload: ChatPayload
200
 
201
  @app.get("/")
202
  def read_root():
 
209
  # ROUTE 1 : REQUÊTE TEXTE (Llama 3.3 70B + RAG Externe)
210
  # =========================================================
211
  @app.post("/api/chat")
212
+ async def chat_text(request: ChatRequest):
213
  if not groq_client:
214
  raise HTTPException(status_code=500, detail="Le moteur d'IA Groq n'est pas configuré.")
215
 
216
  try:
217
+ user_message = request.payload.message
218
+
219
  completion = groq_client.chat.completions.create(
220
  model="llama-3.3-70b-versatile",
221
  messages=[
222
  {"role": "system", "content": FULL_SYSTEM_PROMPT},
223
+ {"role": "user", "content": user_message}
224
  ],
225
  temperature=0.3,
226
  max_tokens=1024
227
  )
228
+
229
+ # Récupération de la réponse brute de l'IA
230
+ ai_reply = completion.choices[0].message.content
231
+
232
+ # Retour au format strict demandé pour le frontend
233
+ return {
234
+ "responseId": f"res_{request.requestId}",
235
+ "reply": ai_reply,
236
+ "status": "success"
237
+ }
238
+
239
  except Exception as e:
240
  raise HTTPException(status_code=500, detail=f"Erreur d'inférence Groq BSTP : {str(e)}")
241