Skip to content

在adk/human-in-the-loop/1_approval样例中,调用tool时,输入参数phone_number可能为非string类型 #200

@xiaobaicai66695

Description

@xiaobaicai66695

Describe the bug

在human-in-the-loop的第一个样例中,当我使用Qwen/Qwen3.5-397B-A17B模型时,会出现
调用tool时,输入参数phone_number可能为非string类型的情况,我改了提示词强调要输入string类型时,还是会出现这种情况。
但是奇怪的是,我将
`

  type bookInput struct {
		Location             string `json:"location"`

		PassengerName        string `json:"passenger_name"`

		PassengerPhoneNumber string `json:"passenger_phone_number"`

	}

`
中的phoneNumber改成int64时,模型调用工具时的输入参数会变成string类型
我将模型换成
deepseek-ai/DeepSeek-V3.2后(改了提示词强调phone_number要输入string类型)这种情况不再出现

To Reproduce

Steps to reproduce the behavior:

  1. 使用硅基流动api中的Qwen/Qwen3.5-397B-A17B模型
  2. cd adk/human-in-the-loop/1_approval
  3. go run .

Expected behavior

期望增强提示词,能保证所有模型调用tool时正确输入

Screenshots

当我使用Qwen/Qwen3.5-397B-A17B模型时,并保持bookInput.PassengerPhoneNumber类型为string时

Image

多次测试结果不一样,这一次在中断时,输入N后再次告诉模型需要string,模型会纠正

Image

当我将bookInput.PassengerPhoneNumber类型改为int64时

Image

当我使用deepseek-ai/DeepSeek-V3.2模型,phone_number为string时

Image

Version:

go 1.25.5
github.com/cloudwego/eino v0.8.7
model_type=ark
ark_model = Qwen/Qwen3.5-397B-A17B
ark_base_url = https://api.siliconflow.cn/v1

Environment:

GOOS=windows

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions