瀏覽代碼

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)
tags/v0.19.0
Stephen Hu 5 月之前
父節點
當前提交
deb2faf7aa
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 2 行新增4 行删除
  1. 2
    4
      api/apps/sdk/session.py

+ 2
- 4
api/apps/sdk/session.py 查看文件

if conv["reference"]: if conv["reference"]:
messages = conv["messages"] messages = conv["messages"]
message_num = 0 message_num = 0
chunk_num = 0
while message_num < len(messages): while message_num < len(messages):
if message_num != 0 and messages[message_num]["role"] != "user": if message_num != 0 and messages[message_num]["role"] != "user":
chunk_list = [] 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: for chunk in chunks:
new_chunk = { new_chunk = {
"id": chunk.get("chunk_id", chunk.get("id")), "id": chunk.get("chunk_id", chunk.get("id")),
} }


chunk_list.append(new_chunk) chunk_list.append(new_chunk)
chunk_num += 1
messages[message_num]["reference"] = chunk_list messages[message_num]["reference"] = chunk_list
message_num += 1 message_num += 1
del conv["reference"] del conv["reference"]

Loading…
取消
儲存