Qwen3+Qwen Agent +MCP智能体开发实战(二)—10分钟打造“MiniManus“

系列文章目录

一、Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一)

二、Qwen3+Qwen Agent +MCP智能体开发实战(二)—10分钟打造"MiniManus"


前言

上篇文章Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一)介绍了如何利用阿里发布的Qwen3系列大模型和Qwen-Agent工具快速接入MCP服务端。同时上篇文章通过SQLite数据库AI Agent开发案例带大家贯通了从Qwen3模型API Key注册、Qwen-Agent基本使用和Qwen-Agent接入mcp-server-sqlite的完整开发流程。然而,Qwen-Agent除了具备极强工具调用和接入能力,更有完备的UI展示和用户体验。有不少读者也在后台私信想复现Qwen3官网的github统计分析项目,本期分享就和大家一起利用Qwen-Agent 接入 MCP 10分钟完成项目开发,打造属于你的"MiniManus"~
在这里插入图片描述

一、项目准备

1.1 开发环境依赖

编写该项目前我们需要完成如下准备工作:

  1. 注册Qwen3 API Key (阿里百炼大模型云服务平台
  2. 使用conda创建虚拟环境,安装uvQwen-Agent等python库。

以上环境全部步骤已在我的文章Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一)中详细说明,大家可阅读操作~

1.2 Firecrawl MCP Server接入

要完成github收藏量统计分析项目的开发,我们首先需要一个可以爬取网页的MCP服务器,我这里选择的是Firecrawl MCP Server。 该MCP Server实现了与Firecrawl工具的集成以支持网页抓取搜索、内容提取、批量爬取等功能。Firecrawl MCP Server使用需要以下几步:

  1. 打开Firecrawl登录页,这里可以选择github账号登录。
    在这里插入图片描述

  2. 注册成功后点击左边栏API Keys, 可以看到Firecrawl默认已经创建了一个api_key

在这里插入图片描述

二、代码编写

完成Firecrawl api key的注册之后就可以着手开发AI Agent项目。使用Qwen-Agent开发MCP项目流程特别简单,仅需如下几步,完整代码在: https://codecopy.cn/post/nttt97

  1. 导入相关包并初始化Assistant类, 编写firecrawl-mcp mcp server的json schema配置传入tools参数:
from qwen_agent.agents import Assistant
from qwen_agent.utils.output_beautify import typewriter_print

def init_agent_service():
    llm_cfg = {
        'model': 'qwen3-235b-a22b',
        'model_server': 'dashscope',
        'api_key': '你注册的百炼api key',
        'generate_cfg': {
            'top_p': 0.8
        }
    }

    tools = [{
        "mcpServers": {
            "firecrawl-mcp": {
                "command": "npx",
                "args": ["-y", "firecrawl-mcp"],
                "env": {
                    "FIRECRAWL_API_KEY": "你注册的Firecrawl api key"
                },
            },
        },

    },
    ]

    system = """
        你是一个数据分析师,可以提取网页信息进行数据分析
        """

    bot = Assistant(
        llm=llm_cfg,
        name='智能助理',
        description='具备查询高德地图、提取网页信息、数据分析的能力',
        system_message=system,
        function_list=tools,
    )

    return bot
  1. 定义智能助手,编写简单提示词描述本次任务,要求Qwen-Agent帮我们搜寻QwenLM首页的Markdown文档,分析该仓库下不同项目的收藏量并绘制条形图统计。
def run_query(query=None):
    # 定义智能助手
    bot = init_agent_service()

    from qwen_agent.gui import WebUI

    chatbot_config = {
        'prompt.suggestions': [
            "https://github.com/orgs/QwenLM/repositories 提取这一页的Markdown 文档,然后绘制一个柱状图展示每个项目的收藏量",
        ]
    }
    WebUI(
        bot,
        chatbot_config=chatbot_config,
    ).run()

if __name__ == '__main__':
    run_query()

Qwen-Agent内部实现了一个基于Gradio(大模型应用快速开发库)构建的前端页面,运行该程序后会执行 qwen3_mcp_apply显示内置的WebUI, 启动后即可在 localhost:7860 访问, 效果如下:

在这里插入图片描述

界面右侧就是我们在代码chatbot_config字典prompt.suggestions键中设置的推荐问题,我们点击该问题,点击提交,Qwen-Agent就会根据我们的问题自动查找所需Firecrawl工具函数,完成功能调用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

怎么样是不是不到10分钟我们就完成了Qwen3官网的github页面统计分析案例开发!

三、项目扩展

这时有人要反驳“不是说开发一个MiniManus嘛,这里只能爬取分析网页也没有其它功能呀?”其实这两篇分享只是想让大家体会Qwen-Agent开发智能体的便利性,要扩展功能只需在tools列表中加入新的mcp服务即可,受益于Qwen3大模型强大的工具调用和MCP功能,可以方便的使用Qwen-Agent框架开发Multi Agent应用。

下面我们就来实现在Qwen-Agent中接入高德地图MCP Server打造既可分析网页又可出行规划的多智能体!仅需如下两步修改:

  1. 修改init_agent_service函数中的tools MCP Servers 列表项,加入高德地图amap-mcp-server,关于高德地图API Key的注册可以参考我以前的文章 不写一行代码! VsCode+Cline+高德地图MCP Server 帮你搞定和女友的出行规划(附原理解析), 同时修改system系统提示词,修改后的init_agent_service函数如下。
from qwen_agent.agents import Assistant
from qwen_agent.utils.output_beautify import typewriter_print

def init_agent_service():
    llm_cfg = {
        'model': 'qwen3-235b-a22b',
        'model_server': 'dashscope',
        'api_key': '你注册的百炼 api key',
        'generate_cfg': {
            'top_p': 0.8
        }
    }

    tools = [{
        "mcpServers": {
            "firecrawl-mcp": {
                "command": "npx",
                "args": ["-y", "firecrawl-mcp"],
                "env": {
                    "FIRECRAWL_API_KEY": "你注册的firecrawl api key"
                },
            },

            "amap-mcp-server": {
                "command": "npx",
                "args": [
                    "-y",
                    "@amap/amap-maps-mcp-server"
                ],
                "env": {
                    "AMAP_MAPS_API_KEY": "你注册的高德地图api key"
                }
            }
        },
    },]

    system = """
            你是一个规划师和数据分析师 \
                你可以调用高德地图规划旅行路线,同时可以提取网页信息进行数据分析
            """

    bot = Assistant(
        llm=llm_cfg,
        name='智能助理',
        description='具备查询高德地图、提取网页信息、数据分析的能力',
        system_message=system,
        function_list=tools,
    )

    return bot
  1. run_query函数中添加高德地图规划路线的描述,代码如下:
def run_query(query=None):
    # 定义智能助手
    bot = init_agent_service()

    from qwen_agent.gui import WebUI

    chatbot_config = {
        'prompt.suggestions': [
            "https://github.com/orgs/QwenLM/repositories 提取这一页的Markdown 文档,然后绘制一个柱状图展示每个项目的收藏量",
            '帮我查询从故宫去颐和园的路线'
        ]
    }
    WebUI(
        bot,
        chatbot_config=chatbot_config,
    ).run()

if __name__ == '__main__':
    run_query()

测试一下,我们发现Qwen-Agent不只能统计网页信息,更具备高德地图的全部功能啦。要扩展智能体的功能只需要将其与MCP服务结合即可获得相应能力,现在大家还觉得实现一个"MiniManus"只是我们的愿景嘛?

在这里插入图片描述

在这里插入图片描述

四、总结

本篇分享我们进一步使用Qwen-AgentMCPWebUI功能开发了用户友好的智能体应用。得益于Qwen3模型的强大能力和Qwen-Agent工具接入MCP的便捷性,我们可以方便的打造多功能AI Agent,让10min实现Manus成为可能~

MCP技术在 AI 与 应用 之间架起一座桥梁,通过 MCP 服务器和 MCP 客户端,实现“万物互联”, 让大模型不再拘泥于简单的对话转而获得了丰富的能力更好为用户服务。MCP技术必将成为未来开发的主流,受到大家广泛关注的同时也在如火如荼的发展着。

MCP官方在5月9号的1.8.0版本更新中,正式在SDK中加入了HTTP流式MCP服务器的相关功能支持。自此开发者可以通过MCP SDK,高效快速开发流式HTTP MCP服务器,并顺利进行多通道并发的企业级MCP工具部署。毫无疑问,这将是MCP技术迈向企业级应用的至关重要的一步。在以后的文章中我也会对MCP HTTP流式 协议进行深度解析与案例实战。

与此同时众多的开发者也发挥自己的聪明才智,开发了多种多样的MCP服务端,极大的丰富了MCP应用生态。在以后文章中我同时也会通过亲身实践,为大家推荐便捷好用的MCP服务器,方便大家日常应用开发。感兴趣大家点个关注吧。大家也可关注我的同名微信公众号:大模型真好玩,免费分享工作生活中大模型开发教程和资料~

### Qwen Agent 智能体框架使用指南 #### 构建智能体应用的基础要素 Qwen-Agent基于通义千问模型(Qwen),提供了一套完整的开发工具链,旨在协助开发者创建多样化和高效的智能体应用。该框架不仅支持复杂交互逻辑的实现,还内置了多个示例应用程序来展示其灵活性与多样性[^1]。 #### 开发者资源和支持 为了便于开发者理解并充分利用这一平台的功能,Qwen-Agent 提供了详尽的技术文档以及一系列实用的应用实例,如浏览器助手、代码解释器等,这些都极大地简化了学习曲线,并加速了项目的启动过程[^3]。 #### 实现复杂交互逻辑的方法 借助于Qwen-Agent所提供的基于函数调用的支持,开发者可以更加容易地设计出具有高级特性的智能代理程序。这种机制允许智能体执行特定的任务或操作,从而增强了系统的响应能力和自动化水平[^2]。 #### 核心特性之功能调用 作为Qwen-Agent的一项关键技术,功能调用使得智能代理能够与其他外部服务或API进行高效沟通。这为构建具备广泛适用性和强大处理能力的应用奠定了坚实基础[^4]。 ```python from qwen_agent import Agent, Tool def example_function_call(): agent = Agent() # 定义一个简单的工具类对象 tool_example = Tool(name="example_tool", description="An example of a custom tool.") # 向agent注册此工具 agent.register(tool=tool_example) # 使用已注册的工具执行某些动作 result = agent.run(prompt="Perform an action using the registered tool.", tools=[tool_example]) return result ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值