使用说明
🤖 带MCP的LangGraph聊天机器人
该项目使用LangGraph实现了一个聊天机器人,该聊天机器人与模型上下文协议(MCP)服务器交互以查询PostgreSQL数据库。它利用LLM(GPT-4o-mini)生成响应,并利用MCP工具访问和检索信息,为数据库功能提供对话界面。
🚀 主要特点
- 通过聊天查询数据库: 允许用户通过聊天机器人界面使用自然语言查询PostgreSQL数据库。
- MCP服务器交互: 与MCP服务器通信(
pr_mcp_server.py)访问数据库查询工具。 - LangGraph编排: 使用LangGraph管理对话流和工具执行。
- LLM供电响应: 使用LLM(GPT-4o-mini)生成智能和上下文感知的响应。
- 工具执行: 基于LLM生成的工具调用动态执行MCP工具。
- 异步操作: 利用异步操作与MCP服务器进行无阻塞通信。
- 模式探索: 提供用于探索数据库模式的工具,包括列出表和检索表模式。
🛠️ 技术栈
- 前端: N/A(后端服务)
- 后端: python
- 数据库: PostgreSQL
- AI/LLM:
langchain_openai(OpenAI LLMs)
- 框架/库:
langgraphlangchainmcp(消息控制协议)psycopg2httpx
- 其他:
jsonostypingasynciodotenv
- 构建工具: 不适用
📦 入门指南
先决条件
- Python 3.7+
- PostgreSQL数据库
- OpenAI API密钥
- MCP已安装(
pip install mcp) - 中列出的其他依赖项
requirements.txt
安装
-
克隆存储库:
git clone <repository_url> cd <repository_directory> -
创建虚拟环境(推荐):
python -m venv venv source venv/bin/activate # On Linux/macOS venv\Scripts\activate # On Windows -
安装依赖项:
pip install -r requirements.txt -
配置环境变量:
- 创建一个
.env根目录中的文件。 - 添加以下变量,用实际值替换占位符:
OPENAI_API_KEY=<your_openai_api_key> DATABASE_URL="postgresql://<user>:<password>@<host>:<port>/<database>" - 创建一个
本地运行
-
运行聊天机器人:
python langgraph/chatbot.py
💻 用法
聊天机器人运行后,您可以通过控制台与它进行交互。聊天机器人将使用LLM和MCP工具回答您关于数据库的问题。
示例问题:
- “ID为123的拉取请求的摘要是什么?”
- “列出洞察架构中的所有表。”
- “pull_request表的架构是什么?”
📂 项目结构
├── langgraph/
│ └── chatbot.py # LangGraph chatbot implementation
├── pr_mcp_server.py # MCP server for database access
├── requirements.txt # Project dependencies
├── README.md # This file
└── .env # Environment variables (API keys, database credentials)
🤝 贡献
欢迎投稿!请按照以下步骤操作:
- 分叉存储库。
- 为您的功能或错误修复创建一个新分支。
- 进行更改,并用描述性消息提交。
- 提交拉取请求。
📬 联系
如果您有任何问题或建议,请随时通过以下方式与我联系: lakshti@hivel.ai.
💖 谢谢
感谢您查看此项目!我希望这有帮助。
此README由以下人员编写 readme.ai,你去AI README生成器。