浏览代码

fix:Spark's large language model token calculation error #7911 (#8755)

tags/0.9.0
cherryhuahua 1年前
父节点
当前提交
d0e0111f88
没有帐户链接到提交者的电子邮件
共有 2 个文件被更改,包括 7 次插入4 次删除
  1. 1
    1
      api/core/app/apps/base_app_runner.py
  2. 6
    3
      api/core/model_runtime/model_providers/spark/llm/llm.py

+ 1
- 1
api/core/app/apps/base_app_runner.py 查看文件

@@ -309,7 +309,7 @@ class AppRunner:
if not prompt_messages:
prompt_messages = result.prompt_messages

if not usage and result.delta.usage:
if result.delta.usage:
usage = result.delta.usage

if not usage:

+ 6
- 3
api/core/model_runtime/model_providers/spark/llm/llm.py 查看文件

@@ -213,18 +213,21 @@ class SparkLargeLanguageModel(LargeLanguageModel):
:param prompt_messages: prompt messages
:return: llm response chunk generator result
"""
completion = ""
for index, content in enumerate(client.subscribe()):
if isinstance(content, dict):
delta = content["data"]
else:
delta = content
completion += delta
assistant_prompt_message = AssistantPromptMessage(
content=delta or "",
)

temp_assistant_prompt_message = AssistantPromptMessage(
content=completion,
)
prompt_tokens = self.get_num_tokens(model, credentials, prompt_messages)
completion_tokens = self.get_num_tokens(model, credentials, [assistant_prompt_message])
completion_tokens = self.get_num_tokens(model, credentials, [temp_assistant_prompt_message])

# transform usage
usage = self._calc_response_usage(model, credentials, prompt_tokens, completion_tokens)

正在加载...
取消
保存