第 6 节 / 共 9 节
SmartVoyage 旅行智能助手项目
🎯 MCP Server + A2A Server + 数据库 + 爬虫的完整 Agent 项目。
💻 代码
SmartVoyage 项目源码
34 个文件📁 a2a_server/
- 📄 __init__.py 0B 下载
- 📄 order_server.py 7.5KB 下载
- 📄 ticket_server.py 17.1KB 下载
- 📄 weather_server.py 12.0KB 下载
📁 mcp_server/
- 📄 __init__.py 0B 下载
- 📄 mcp_order_server.py 3.0KB 下载
- 📄 mcp_ticket_server.py 3.5KB 下载
- 📄 mcp_weather_server.py 3.4KB 下载
📁 sql/
- 📄 create_table.sql 5.7KB 下载
- 📄 insert_data.sql 83.9KB 下载
📁 test/
- 📄 spider_0_hefeng_api.py 771B 下载
- 📄 spider_1_connectdb.py 598B 下载
- 📄 spider_2_fetchdata.py 1.6KB 下载
- 📄 spider_3_get_lastupate.py 1.4KB 下载
- 📄 spider_4_get_shouldupdate.py 1.7KB 下载
- 📄 spider_5_get_storedata.py 5.4KB 下载
- 📄 spider_6_get_update.py 6.0KB 下载
- 📄 spider_7_scheduler_demo.py 628B 下载
- 📄 test_order_agent_server.py 2.3KB 下载
- 📄 test_order_mcp_server.py 2.7KB 下载
- 📄 test_ticket_agent_server.py 3.6KB 下载
- 📄 test_ticket_mcp_server.py 2.8KB 下载
- 📄 test_weather_agent_server.py 3.6KB 下载
- 📄 test_weather_mcp_server.py 2.1KB 下载
📁 utils/
- 📄 __init__.py 0B 下载
- 📄 format.py 2.0KB 下载
- 📄 spider_weather.py 8.7KB 下载
- 📄 __init__.py 0B 下载
- 📄 app.py 11.9KB 下载
- 📄 config.py 861B 下载
- 📄 create_logger.py 1.3KB 下载
- 📄 main.py 11.1KB 下载
- 📄 main_prompts.py 4.7KB 下载
- 📄 requirements.txt 2.3KB 下载
📎 资料
项目导图
- 🧠 smartVoyage.xmind 2.1MB
🧠 smartVoyage.xmind · 大纲
smartVoyage智慧旅游项目
课程简介
面向人群
对大模型有一定了解
对智能体编排有初步概念,有意深入研究
课程目标
进行详细需求分析和方案设计
对智慧旅游的业务需求进行全面分析
从可选方案中做方案选型
掌握项目需要的技术框架
Function calling
MCP协议
智能体的5种模式
A2A协议
掌握项目实战
项目整体规划
数据库设计与数据更新
MCP服务
Agent服务
主程序
课程知识与核心交付
了解需求分析和方案选型的过程
掌握项目需要的支持框架如Function calling、MCP协议和A2A协议
掌握项目实战,包括数据库设计与数据更新、三个Agent服务以及对应的MCP服务
课程详情
整体交付能力
能够独立设计和实施较复杂的智能体项目
一、项目介绍
交付能力:掌握做项目需求和方案选型的思路,掌握Function calling的使用方式
课程内容
需求分析
项目目标
旅游出行的一揽子方案
问题详解
多个领域
天气
景点
特殊活动
行程
行程整体规划
航班
列车
公交地铁
出租车
住宿
餐饮
行李统筹
日程与提醒
保险服务
复杂的相互影响
项目要求
自然语言交流
单次交互<10秒
整体方案<15分钟
qps均值5.2,峰值13.3
资源盘点
人力资源
项目经理:1名
大模型工程师:3名
数据运营团队:2名
旅游行业专家:2名(兼职,每天投入4小时)
硬件资源
cpu服务器若干
一期不提供GPU服务器,可以购买线上api服务
数据资源
可以购买如下商业数据:
- 天气数据
- 铁路班次数据
- 航班数据
- 酒店数据
- 餐饮数据
- 景点数据
- 特殊活动数据
- 特殊装备数据
- 保险数据
方案设计
方案选型
传统人机对话系统
基于大模型的Agent系统
工程实施
大型项目开发的主要问题
可靠性
经济性
可维护性
可扩展性
安全性
最终定案
教学简化
最简化逻辑图
逻辑图
代码级细化
实操:用代码实现Function calling的几种主要方式
二、Function calling与MCP协议
交付能力:掌握MCP的优势、核心架构和通信方式,理解智能体的5种模式
课程内容
Function calling
大模型调用工具的潜力
什么是Function calling
Function calling工作原理
训练Function calling能力
Function calling 使用方式
自定义tool
使用装饰器定义tool
使用pydantic定义tool
在Agent中使用Function calling
MCP协议
MCP协议的优势
什么是MCP协议
MCP协议的核心架构
服务器
客户端
MCP工具调用流程
MCP通信方式
stdio
SSE
Streamable
MCP的三种通信方式代码实现
python_a2a中使用MCP
实操:用代码实现MCP的三种通信方式和python_a2a包里的MCP服务,用代码实现智能体的5种模式
三、智能体与A2A协议
交付能力:掌握A2A协议的架构与核心概念
课程内容
智能体
什么是智能体
智能体的5种模式
工具使用模式
ReAct模式
反思模式
规划模式
多智能体模式
智能体模式的演进历程
智能体5种模式的代码实战
A2A协议
A2A协议理论
架构
核心概念
Agent基础信息
AgentSkill
AgentCard
A2A任务
Task
TaskState
TaskStatus
A2A服务器
A2AServer
artifacts
A2A网络
AgentNetwork
AIAgentRouter
A2A协议实战
A2A与MCP的联合使用
MCP Server
A2A Server
client
多个A2A Server串行
weather_agent
ticket_agent
main_orchestrator
A2A实战案例
router_agent
weather_agent
ticket_agent
main
扩展: multi_intents
实操:用代码实现A2A的三个实战案例
四、项目架构与数据库
交付能力:了解整个项目架构与代码结构;了解项目整体流程和配置模块;数据库结构与初始化;天气数据的采集和更新
课程内容
项目架构
真实项目架构
整体框架
业务逻辑架构
代码结构
整体代码逻辑
代码结构
整体流程
配置模块
数据库初始化
建库建表
train_tickets(火车票表)
flight_tickets(机票表)
concert_tickets(演唱会票表)
weather_data(天气表)
数据插入
数据采集和更新
采集
定时更新
连接数据库
爬取数据
判断是否更新
更新数据
存储数据
定时任务
实操:实现数据库初始化,实现天气数据采集和更新
五、MCP服务与Agent服务
交付能力:掌握MCP服务和Agent服务的开发和调用
课程内容
MCP服务
天气MCP服务器
格式编码
WeatherService类
启动MCP服务器
票务MCP服务器
TicketService类
启动MCP 服务器
订票MCP服务器
Agent服务
天气Agent服务器
导包与配置
查询函数
AgentCard定义
WeatherQueryServer-基础
WeatherQueryServer-处理
运行天气Agent服务器
调用测试
票务Agent服务器
导包与配置
查询函数
AgentCard定义
TicketQueryServer-基础
TicketQueryServer-处理
运行票务Agent服务器
调用测试
订票Agent服务器
导包与配置
查询函数
AgentCard定义
TicketOrderServer实现
运行订票Agent服务器
调用测试
实操:用代码实现3个Agent服务和其对应的MCP服务
六、主程序与简历模板
交付能力:掌握主程序怎样把所有智能体和全流程串联起来,完成对话流;掌握简历的写法
课程内容
主程序介绍
提示词
初始化
意图识别agent
主流程
系统启动
streamlit程序
实操:用代码实现主程序和前台页面