瀏覽代碼

Fix: chat_completion answer data incorrect (#6041)

### What problem does this PR solve?

fix chat_completion answer data incorrect

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)

Co-authored-by: renqi <renqi08266@fxomail.com>
tags/v0.18.0
任奇 7 月之前
父節點
當前提交
940072592f
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 3 行新增7 行删除
  1. 3
    7
      api/apps/sdk/session.py

+ 3
- 7
api/apps/sdk/session.py 查看文件

@@ -259,7 +259,7 @@ def chat_completion_openai_like(tenant_id, chat_id):
# The choices field on the last chunk will always be an empty array [].
def streamed_response_generator(chat_id, dia, msg):
token_used = 0
should_split_index = 0
answer_cache = ""
response = {
"id": f"chatcmpl-{chat_id}",
"choices": [
@@ -285,13 +285,9 @@ def chat_completion_openai_like(tenant_id, chat_id):
try:
for ans in chat(dia, msg, True):
answer = ans["answer"]
incremental = answer[should_split_index:]
incremental = answer.replace(answer_cache, "", 1)
answer_cache = answer.rstrip("</think>")
token_used += len(incremental)
if incremental.endswith("</think>"):
response_data_len = len(incremental.rstrip("</think>"))
else:
response_data_len = len(incremental)
should_split_index += response_data_len
response["choices"][0]["delta"]["content"] = incremental
yield f"data:{json.dumps(response, ensure_ascii=False)}\n\n"
except Exception as e:

Loading…
取消
儲存