请问如何在微软的Autogen 0.4框架下使用Qwen模型实现工具调用?

目前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'}}
请问应当如何解决?

展开
收起
n7m5rpxebzapk 2025-03-20 16:34:47 75 分享 版权
1 条回答
写回答
取消 提交回答
  • 资深 C++与人工智能程序员。精通 C++,善用其特性构建稳健架构。在人工智能领域,深入研习机器学习算法,借 C++与 OpenCV 等实现计算机视觉应用,于自然语言处理构建文本处理引擎。以敏锐洞察探索技术融合边界,用代码塑造智能未来。

    在微软Autogen 0.4框架下使用Qwen模型实现工具调用,可按以下一般步骤:

    1. 安装依赖:确保安装了Autogen 0.4和Qwen模型相关库,可通过包管理器(如pip)安装,如 pip install autogen qwen (实际安装可能需调整)。

    2. 配置Qwen模型:设置Qwen模型访问密钥等必要信息,如在代码中添加 os.environ["QWEN_API_KEY"] = "your_api_key" 等代码(依实际情况)。

    3. 导入模块并初始化:在Python脚本中导入Autogen和Qwen相关模块,初始化用户代理、助手代理等,如 user_proxy = autogen.UserProxyAgent(...) 、 assistant_proxy = autogen.AssistantAgent(...) 。

    4. 定义工具:用Autogen工具调用机制定义要使用的工具,如 def my_tool(arg): ... ,并注册工具到助手代理, assistant_proxy.register_function(...) 。

    5. 进行交互:用户代理发送消息给助手代理,助手代理在需要时调用工具,如 user_proxy.initiate_chat(assistant_proxy, message="...") ,助手代理根据Qwen模型和工具调用处理请求并回复。

    实际操作中,需依Autogen 0.4和Qwen模型官方文档调整代码,解决身份验证、模型参数配置等问题。

    2025-04-07 22:38:07
    赞同 89 展开评论

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

还有其他疑问?
咨询AI助理