eino icon indicating copy to clipboard operation
eino copied to clipboard

工具调用之后拿不到token usage

Open sunyitao opened this issue 8 months ago • 1 comments

工具链调用之后,拿不到token usage信息,使用的dashscope的api。model直接绑定工具可以获取到usage,使用以下方式则不行。

chain := compose.NewChain[[]*schema.Message, []*schema.Message]()
	chain.
		AppendChatModel(a.chatModel, compose.WithNodeName("chat_model")).
		AppendToolsNode(toolsNode, compose.WithNodeName("tools"))

	// compile chain
	agent, err := chain.Compile(ctx)

从返回的报文中看到是有usage信息的:

data: {"choices":[],"object":"chat.completion.chunk","usage":{"prompt_tokens":5200,"completion_tokens":723,"total_tokens":5923,"prompt_tokens_details":{"cached_tokens":0}},"created":1751623871,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-e5038523-7846-96d2-b5bd-24ee5a961bbd"}

sunyitao avatar Jul 04 '25 10:07 sunyitao

这样你拿到的结果是 tools node 的输出,不是模型的输出,所以拿不到 token usage, 可以用 callback 获得模型输出

meguminnnnnnnnn avatar Jul 08 '25 03:07 meguminnnnnnnnn

在adk中怎么获取token消耗 有example吗

1500256797 avatar Dec 19 '25 12:12 1500256797