From f584f5c3d083ac56ef3712aa089b9ded2bc248a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E6=B5=B7=E8=92=BC=E7=81=86?= Date: Thu, 29 May 2025 13:31:17 +0800 Subject: [PATCH] agents openai API add new way to get session_id (#7937) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What problem does this PR solve? SpringAI can only add session_id in metadata。so add new way to get session_id from "id" or "metadata.id" ![image](https://github.com/user-attachments/assets/0c698ebb-2228-46d8-94c5-2a291b6f70bf) ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- api/apps/sdk/session.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/apps/sdk/session.py b/api/apps/sdk/session.py index 80f4228dc..1716db9ee 100644 --- a/api/apps/sdk/session.py +++ b/api/apps/sdk/session.py @@ -388,10 +388,10 @@ def agents_completion_openai_compatibility (tenant_id, agent_id): question = next((m["content"] for m in reversed(messages) if m["role"] == "user"), "") if req.get("stream", True): - return Response(completionOpenAI(tenant_id, agent_id, question, session_id=req.get("id", ""), stream=True), mimetype="text/event-stream") + return Response(completionOpenAI(tenant_id, agent_id, question, session_id=req.get("id", req.get("metadata", {}).get("id","")), stream=True), mimetype="text/event-stream") else: # For non-streaming, just return the response directly - response = next(completionOpenAI(tenant_id, agent_id, question, session_id=req.get("id", ""), stream=False)) + response = next(completionOpenAI(tenant_id, agent_id, question, session_id=req.get("id", req.get("metadata", {}).get("id","")), stream=False)) return jsonify(response)