目前Qwen模型官方文档中,工具调用的语法格式如下:
tools = [
# 工具1 获取当前时刻的时间
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "当你想知道现在的时间时非常有用。",
"parameters": {} # 因为获取当前时间无需输入参数,因此parameters为空字典
}
},
但是在微软Autogen 0.4中按照该语法调用工具,则会返回错误ValueError: Unsupported tool type: 。
而如果按照Autogen语法调用工具,则会返回错误openai.BadRequestError: Error code: 400 - {'error': {'message': '<400> InternalError.Algo.InvalidParameter: messages with role "tool" must be a response to a preceeding message with "tool_calls". (request id: 20250)', 'type': 'upstream_error', 'param': '400', 'code': 'bad_response_status_code'}}
请问应当如何解决?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在微软Autogen 0.4框架下使用Qwen模型实现工具调用,可按以下一般步骤:
安装依赖:确保安装了Autogen 0.4和Qwen模型相关库,可通过包管理器(如pip)安装,如 pip install autogen qwen (实际安装可能需调整)。
配置Qwen模型:设置Qwen模型访问密钥等必要信息,如在代码中添加 os.environ["QWEN_API_KEY"] = "your_api_key" 等代码(依实际情况)。
导入模块并初始化:在Python脚本中导入Autogen和Qwen相关模块,初始化用户代理、助手代理等,如 user_proxy = autogen.UserProxyAgent(...) 、 assistant_proxy = autogen.AssistantAgent(...) 。
定义工具:用Autogen工具调用机制定义要使用的工具,如 def my_tool(arg): ... ,并注册工具到助手代理, assistant_proxy.register_function(...) 。
进行交互:用户代理发送消息给助手代理,助手代理在需要时调用工具,如 user_proxy.initiate_chat(assistant_proxy, message="...") ,助手代理根据Qwen模型和工具调用处理请求并回复。
实际操作中,需依Autogen 0.4和Qwen模型官方文档调整代码,解决身份验证、模型参数配置等问题。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。