带有MCP服务器的代理
此存储库包含一个非常简单的工具调用代理,支持MCP(模型上下文协议) 担任航空公司客户服务代理。
本项目基于数据和实施 tau2长椅 基准。
它同时包含TypeScript和Python实现。你可以和其中任何一个一起工作。
先决条件
任何具有现代OpenAI兼容函数调用能力的模型都可以使用。LiteLLM支持900多种型号(请参阅 python/agent/supported_models.py).欢迎您使用任何具有工具调用功能的模型。除非您可以使用强大的现代模型,否则我们强烈建议您通过Vertex使用Gemini模型,并使用提供的积分(请参阅Canvas)。您可以在 config.ts 或 config.py 文件。可以在同一文件中配置速率限制。将API键设置为环境变量或在.env文件中。
项目结构
python/agent/-具有CLI和web UI的工具调用代理以及基准实现python/mcp_airline/-用于航空公司域(航班、预订、用户管理)的MCP服务器,该服务器还实现了一个用于编辑用户配置文件数据的web服务器data/-域数据(航空公司数据库、政策、任务)
快速开始
- 设置环境:创建
.env或环境变量。 - 启动MCP航空公司服务器:MCP服务器都是使用流式http协议实现的,因此启动时可以通过以下格式的URL访问它们
http://localhost:[port]/mcp。您可以在不同端口上启动多个服务器。 - MCP检查器可用于检查服务器是否正常运行。跑
npx @modelcontextprotocol/inspector http://localhost:3000/mcp - 使用CLI或Web UI启动代理,将MCP服务器的地址作为参数传递。
- 可选地,运行提供的示例并从tau2基准测试中评估成功。为此,使用另一个LLM模拟用户输入。
开发说明
- 所有MCP服务器共享来自
data/目录 - 航空公司数据库从以下位置加载
data/airline/db.json - 政策在
data/airline/policy.md - 通过web UI或MCP工具对数据库的更改仅在内存中(不持久)
