From deb2faf7aafce8de456edb08cb0aab2ebc22c40e Mon Sep 17 00:00:00 2001 From: Stephen Hu Date: Fri, 16 May 2025 10:58:28 +0800 Subject: [PATCH] Fix:Fail to get list_sessions (#7678) ### What problem does this PR solve? Close #7655 Based on the codes atthe api_app, I think the reference is one-to-one with the message ` def fillin_conv(ans): nonlocal conv, message_id if not conv.reference: conv.reference.append(ans["reference"]) else: conv.reference[-1] = ans["reference"] conv.message[-1] = {"role": "assistant", "content": ans["answer"], "id": message_id} ans["id"] = message_id ` ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- api/apps/sdk/session.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/api/apps/sdk/session.py b/api/apps/sdk/session.py index 05e5bb838..e9edab8b2 100644 --- a/api/apps/sdk/session.py +++ b/api/apps/sdk/session.py @@ -464,12 +464,11 @@ def list_session(tenant_id, chat_id): if conv["reference"]: messages = conv["messages"] message_num = 0 - chunk_num = 0 while message_num < len(messages): if message_num != 0 and messages[message_num]["role"] != "user": chunk_list = [] - if "chunks" in conv["reference"][chunk_num]: - chunks = conv["reference"][chunk_num]["chunks"] + if "chunks" in conv["reference"][message_num]: + chunks = conv["reference"][message_num]["chunks"] for chunk in chunks: new_chunk = { "id": chunk.get("chunk_id", chunk.get("id")), @@ -482,7 +481,6 @@ def list_session(tenant_id, chat_id): } chunk_list.append(new_chunk) - chunk_num += 1 messages[message_num]["reference"] = chunk_list message_num += 1 del conv["reference"]