Quellcode durchsuchen

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

tags/1.0.1
LeanDeR vor 8 Monaten
Ursprung
Commit
4f6a4f244c
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
1 geänderte Dateien mit 16 neuen und 17 gelöschten Zeilen
  1. 16
    17
      api/core/workflow/nodes/llm/node.py

+ 16
- 17
api/core/workflow/nodes/llm/node.py Datei anzeigen

@@ -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,

Laden…
Abbrechen
Speichern