fix(app):
1. Token consumption of the omni model; 2. Token consumption of the cluster includes sub-agents
This commit is contained in:
@@ -403,6 +403,17 @@ class MasterAgentRouter:
|
||||
response = await llm.ainvoke(prompt)
|
||||
ModelApiKeyService.record_api_key_usage(self.db, api_key_config.id)
|
||||
|
||||
# 提取 token 消耗
|
||||
self._last_routing_tokens = 0
|
||||
if hasattr(response, 'usage_metadata') and response.usage_metadata:
|
||||
um = response.usage_metadata
|
||||
self._last_routing_tokens = um.get("total_tokens", 0) if isinstance(um, dict) else getattr(um, "total_tokens", 0)
|
||||
elif hasattr(response, 'response_metadata') and response.response_metadata:
|
||||
token_usage = response.response_metadata.get("token_usage") or response.response_metadata.get("usage", {})
|
||||
if isinstance(token_usage, dict):
|
||||
self._last_routing_tokens = token_usage.get("total_tokens", 0)
|
||||
logger.info(f"Master Agent 路由 token 消耗: {self._last_routing_tokens}")
|
||||
|
||||
# 提取响应内容
|
||||
if hasattr(response, 'content'):
|
||||
return response.content
|
||||
|
||||
Reference in New Issue
Block a user