使用说明
带有MCP(模型上下文协议)的LangChain代理
一个强大的LangChain代理,集成了MCP(模型上下文协议)工具,以增强功能,包括数学运算和统计计算。
🚀 特点
- LangChain 代理使用LangChain框架构建,以处理智能对话
- MCP集成与模型上下文协议工具无缝集成
- 数学运算加法,减法,乘法,除法
- 统计函数平均数、中位数、众数的计算
- PostgreSQL 内存使用 PostgreSQL 数据库实现持久聊天记忆
- **双子座大型语言模型(Gemini LLM)**由谷歌Gemini 2.0闪电模型提供支持
- FastAPI工具服务器工具操作的RESTful API
🛠️ 架构设计
langchain-agent-mcp/
├── main.py # Main application entry point
├── custom_llm.py # Custom LLM wrapper for Gemini
├── tool_server.py # FastAPI server for MCP tools
├── memory/
│ └── postgres_memory.py # PostgreSQL-based chat memory
├── tools/
│ ├── mcp_tool.py # MCP tool integration
│ ├── calculator.py # Mathematical operations
│ └── statistics.py # Statistical functions
└── requirements.txt # Python dependencies
📋 前提条件
- Python 3.8及以上版本
- PostgreSQL 数据库
- 根据您的指示,以下是原文内容的翻译:“Google AI API密钥(用于Gemini)”
🔧 安装
-
克隆仓库
git clone <your-repo-url> cd langchain-agent-mcp -
安装依赖项
pip install -r requirements.txt -
设置环境变量 创建一个
.env根目录下的文件:GOOGLE_API_KEY=your_google_api_key_here POSTGRES_URL=postgresql://username:password@localhost:5432/langchain_mcp -
设置 PostgreSQL 数据库
CREATE DATABASE langchain_mcp;
🚀 使用方法
1. 启动工具服务器
python tool_server.py
这将启动FastAPI服务器 http://localhost:8080
2. 运行主应用程序
python main.py
3. 示例交互
该代理能够处理各种数学和统计查询:
- 基础数学“使用MCP将10乘以4”
- 顺序操作“现在将这个结果除以2”
- 统计学“10、20、30、40的平均数是多少?”
- 模式计算“3,3,4,5,5,5,6的众数是什么?”
🔌 可用工具
数学运算
add_tool两个数的相加subtract_tool两个数的减法multiply_tool两个数的乘法divide_tool两个数的除法
统计函数
mean_tool计算算术平均值median_tool计算中位数mode_tool计算众数(出现频率最高的值)
🧠 记忆系统
该代理使用PostgreSQL来持久化聊天记录,从而能够:
- 记住之前的对话
- 在不同会话之间保持上下文
- 存储聊天记录并管理会话
🛠️ API 接口
工具服务器提供以下端点:
POST /tools/add- 加法运算POST /tools/subtract- 减法运算POST /tools/multiply- 乘法运算POST /tools/divide- 除法运算POST /tools/mean- 平均值计算POST /tools/median- 中位数计算POST /tools/mode- 模式计算
🔧 配置
代理配置
- 代理类型零样本ReAct描述
- 最大迭代次数3
- **提前终止(或提前停止)**生成方法
- 详细模式已启用调试功能
内存配置
- 数据库PostgreSQL
- 会话管理可配置的会话ID
- 持久化存储聊天记录保存
📝 示例输出
🔧 Query 1:
Response: I'll multiply 10 by 4 using the MCP tool.
[Tool execution details...]
The result is 40.
🔧 Query 2:
Response: I'll divide the previous result (40) by 2.
[Tool execution details...]
The result is 20.
🧠 Memory Chat History:
Human: Multiply 10 by 4 using MCP.
AI: The result is 40.
Human: Now divide that result by 2.
AI: The result is 20.
🤝 贡献(或“参与贡献”)
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推送至分支(
git push origin feature/amazing-feature) - 提交一个拉取请求(或:发起一个合并请求)
📄 许可证
此项目遵循MIT许可证授权——详情请参见LICENSE文件。
🙏 致谢
- LangChain 对于代理框架
- 谷歌人工智能 针对Gemini模型
- FastAPI(快速API,一种用于构建API的高性能框架) 用于工具服务器
- PostgreSQL(译文保持原样,因为“PostgreSQL”是一个专有名词,通常不进行翻译) 用于持久内存存储
