Compare commits

...

2 Commits

Author SHA1 Message Date
-LAN-
8cbf72785f
chore(github-actions): build docker image on 'release/0.15.2-fix1'
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-27 18:58:50 +08:00
-LAN-
f97f82a3e4
fix(llm): deduct LLM quota after processing usage in invoke result
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-27 18:57:47 +08:00
2 changed files with 4 additions and 10 deletions

View File

@ -5,6 +5,7 @@ on:
branches:
- "main"
- "deploy/dev"
- "release/0.15.2-fix1"
release:
types: [published]

View File

@ -185,6 +185,8 @@ class LLMNode(BaseNode[LLMNodeData]):
result_text = event.text
usage = event.usage
finish_reason = event.finish_reason
# deduct quota
self.deduct_llm_quota(tenant_id=self.tenant_id, model_instance=model_instance, usage=usage)
break
except LLMNodeError as e:
yield RunCompletedEvent(
@ -241,16 +243,7 @@ class LLMNode(BaseNode[LLMNodeData]):
)
# handle invoke result
generator = self._handle_invoke_result(invoke_result=invoke_result)
usage = LLMUsage.empty_usage()
for event in generator:
yield event
if isinstance(event, ModelInvokeCompletedEvent):
usage = event.usage
# deduct quota
self.deduct_llm_quota(tenant_id=self.tenant_id, model_instance=model_instance, usage=usage)
return self._handle_invoke_result(invoke_result=invoke_result)
def _handle_invoke_result(self, invoke_result: LLMResult | Generator) -> Generator[NodeEvent, None, None]:
if isinstance(invoke_result, LLMResult):