Gemini-1.5-pro-002是否支持带复杂参数的自动函数调用?
Gemini-1.5-pro-002是否支持带嵌套对象参数的函数调用?
Gemini-1.5-pro-002支持带嵌套对象这类复杂参数的函数调用,你遇到的问题是模型未正确识别嵌套参数的结构要求,而非不支持该功能。
问题分析
你提供的工具定义中,search_request是嵌套对象,但模型返回"search_request": "unknown",原因是模型没有明确理解需要填充嵌套对象内部的具体字段,仅把search_request当成了一个简单字符串参数处理。
解决方案
完善嵌套对象的描述
给嵌套的search_request对象添加清晰的功能描述,明确告知模型这是一个包含多个子字段的对象,而非单一值。明确嵌套对象的必填字段
在嵌套对象的Schema中添加required数组,指定哪些子字段是必须填写的,引导模型生成完整的结构。优化用户提示
在用户查询中明确要求模型按照嵌套结构生成参数,避免模型误解参数类型。
修改后的工具定义示例
{ "functionDeclarations": [ { "name": "SearchPlugin_SearchPerson", "description": "根据搜索请求查找人员信息", "parameters": { "type": "object", "properties": { "search_request": { "type": "object", "description": "存储人员搜索条件的嵌套对象,需填写姓氏、国籍等具体字段", "properties": { "first_name": { "type": "string", "description": "人员的名字" }, "last_name": { "type": "string", "description": "人员的姓氏" }, "nationality": { "type": "string", "description": "人员的国籍" } }, "required": ["last_name", "nationality"] } }, "required": ["search_request"] } } ] }
优化后的用户提示示例
搜索姓氏为Greene的德国人,请按照工具定义的嵌套参数结构生成调用参数
通过以上调整,模型就能正确识别嵌套参数的结构,生成符合要求的函数调用参数。
内容的提问来源于stack exchange,提问作者stefanQ
相关产品推荐
相关产品推荐

