瀏覽代碼

fix(llm/nodes.py): Ensure that the output returns without any exceptions (#14880)

tags/1.0.1
LeanDeR 8 月之前
父節點
當前提交
4f6a4f244c
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 16 行新增17 行删除
  1. 16
    17
      api/core/workflow/nodes/llm/node.py

+ 16
- 17
api/core/workflow/nodes/llm/node.py 查看文件

@@ -191,6 +191,22 @@ class LLMNode(BaseNode[LLMNodeData]):
# deduct quota
self.deduct_llm_quota(tenant_id=self.tenant_id, model_instance=model_instance, usage=usage)
break
outputs = {"text": result_text, "usage": jsonable_encoder(usage), "finish_reason": finish_reason}

yield RunCompletedEvent(
run_result=NodeRunResult(
status=WorkflowNodeExecutionStatus.SUCCEEDED,
inputs=node_inputs,
process_data=process_data,
outputs=outputs,
metadata={
NodeRunMetadataKey.TOTAL_TOKENS: usage.total_tokens,
NodeRunMetadataKey.TOTAL_PRICE: usage.total_price,
NodeRunMetadataKey.CURRENCY: usage.currency,
},
llm_usage=usage,
)
)
except LLMNodeError as e:
yield RunCompletedEvent(
run_result=NodeRunResult(
@@ -211,23 +227,6 @@ class LLMNode(BaseNode[LLMNodeData]):
)
)

outputs = {"text": result_text, "usage": jsonable_encoder(usage), "finish_reason": finish_reason}

yield RunCompletedEvent(
run_result=NodeRunResult(
status=WorkflowNodeExecutionStatus.SUCCEEDED,
inputs=node_inputs,
process_data=process_data,
outputs=outputs,
metadata={
NodeRunMetadataKey.TOTAL_TOKENS: usage.total_tokens,
NodeRunMetadataKey.TOTAL_PRICE: usage.total_price,
NodeRunMetadataKey.CURRENCY: usage.currency,
},
llm_usage=usage,
)
)

def _invoke_llm(
self,
node_data_model: ModelConfig,

Loading…
取消
儲存