PyCon Thailand 2025:如何使用Python将ML API转换为LLM兼容的MCP服务器
发言人: 平田哲也 会议: 泰国PyCon 2025 持续时间: 30分钟
📝 概述
此存储库包含PyCon Thailand 2025演示文稿的代码和幻灯片,演示如何使用Python将传统的机器学习API转换为LLM兼容的MCP(模型上下文协议)服务器。
我们比较了将ML工具与LLM集成的三种不同方法:
- REST API -手动端点管理的标准方法
- 函数调用 -LLM原生工具集成(使用Gemini)
- MCP(模型上下文协议) -工具发现和执行的标准化协议
🎯 关键信息
MCP使您的机器学习工具LLM可被发现 通过标准化协议,消除了URL管理,实现了自动工具发现,同时保持了客户端和服务器之间的松散耦合。
📁 存储库结构
pyconthailand2025-public/
├── code/ # Live demo code implementations
│ ├── client/ # Client implementations (REST, FC, MCP)
│ ├── server/ # Server implementations (REST, FC, MCP)
│ ├── requirements.txt # Python dependencies
│ └── README.md # Detailed code documentation
│
└── slide/ # Presentation slides
├── preview.html # Main presentation (open this!)
├── image/ # Architecture diagrams
└── video/ # Live demo video🚀 快速开始
看 code/README.md 有关详细的设置说明和代码文档。
太长,读不下去了
# 1. Clone and setup
git clone https://github.com/tetsuya0617/pyconthailand2025-public.git
cd pyconthailand2025-public/code
pip install -r requirements.txt
# 2. Set up Gemini API key
echo "GEMINI_API_KEY=your-key-here" > .env
# 3. Run MCP demo (easiest)
python client/mcp_client.py📊 比较摘要
| 功能 | REST API | 函数调用 | MCP |
|---|---|---|---|
| 工具选择 | ❌ 手动路由 | ✅ LLM决定✅ LLM决定 | |
| 网址管理器 | ❌ 硬编码URL | ❌ 手动HTTP端点 | ✅ 无(基于协议) |
| 耦合 | ❌ 紧 | ⚠️ 中等 | ✅ 宽松 |
| 标准化 | ❌ 自定义 | ❌ 供应商特定 | ✅ MCP协议 |
| 发现 | ❌ 手册 | ⚠️ 手动提取 | ✅ 自动 |
🎓 查看演示文稿
打开 幻灯片/预览.html 在浏览器中查看幻灯片。
GitHub页面URL: https://tetsuya0617.github.io/pyconthailand2025-public/slide/preview.html
🛠️ 技术
- Python 3.11+
- API双子星 -LLM用于智能工具选择(免费等级:每天1500个要求)
- 快速API -REST API和函数调用服务器
- FastMCP -MCP服务器框架
- 打手 -免费翻译API
- 更快的耳语 -语音转文本
- 马普 -基于Markdown的幻灯片生成
📚 了解更多
MCP资源
- MCP规范 -正式协议文件
- FastMCP框架 -MCP服务器的Python框架
- MCP Python SDK -官方Python SDK
API双子星
- Gemini API文件 -API官方文件
- 函数调用指南 -如何使用函数调用
- 获取API密钥 -免费套餐可用
📄 许可证
麻省理工学院许可证-您可以自由地将此代码用于学习和教学目的。
👤 作者
平田哲也
- 会议: 泰国PyCon 2025
- 谈话: “如何使用Python将ML API转换为LLM兼容的MCP服务器”
- github: @铁屋0617
🙏 致谢
- PyCon Thailand 2025组织者和社区
- MCP规范的拟人化
- Gemini API的Google
- FastMCP框架贡献者
- Python社区
______________________________________________________________________
问题? 在会议结束后打开一个问题或联系。
想试试演示吗? 看 code/README.md 获取分步说明。
