Преглед изворни кода

fix zhipuAI stream issue (#825)

### What problem does this PR solve?


### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.6.0
KevinHuSh пре 1 година
родитељ
комит
f6a599461f
No account linked to committer's email address
3 измењених фајлова са 5 додато и 4 уклоњено
  1. 1
    1
      api/apps/api_app.py
  2. 1
    1
      api/apps/conversation_app.py
  3. 3
    2
      rag/llm/chat_model.py

+ 1
- 1
api/apps/api_app.py Прегледај датотеку

@@ -222,7 +222,7 @@ def completion():
resp.headers.add_header("Content-Type", "text/event-stream; charset=utf-8")
return resp
else:
ans = chat(dia, msg, False, **req)
ans = chat(dia, msg, **req)
fillin_conv(ans)
API4ConversationService.append_message(conv.id, conv.to_dict())
return get_json_result(data=ans)

+ 1
- 1
api/apps/conversation_app.py Прегледај датотеку

@@ -162,7 +162,7 @@ def completion():
return resp
else:
ans = chat(dia, msg, False, **req)
ans = chat(dia, msg, **req)
fillin_conv(ans)
ConversationService.update_by_id(conv.id, conv.to_dict())
return get_json_result(data=ans)

+ 3
- 2
rag/llm/chat_model.py Прегледај датотеку

@@ -193,10 +193,11 @@ class ZhipuChat(Base):
if not resp.choices[0].delta.content:continue
delta = resp.choices[0].delta.content
ans += delta
tk_count = resp.usage.total_tokens if response.usage else 0
if resp.output.choices[0].finish_reason == "length":
if resp.choices[0].finish_reason == "length":
ans += "...\nFor the content length reason, it stopped, continue?" if is_english(
[ans]) else "······\n由于长度的原因,回答被截断了,要继续吗?"
tk_count = resp.usage.total_tokens
if resp.choices[0].finish_reason == "stop": tk_count = resp.usage.total_tokens
yield ans
except Exception as e:
yield ans + "\n**ERROR**: " + str(e)

Loading…
Откажи
Сачувај