使用说明
LangGraph MCP聊天机器人
使用LangGraph构建的对话式AI聊天机器人,集成了模型上下文协议(MCP)工具以增强功能。该项目具有一个由LangChain和LangGraph支持的后端,以及一个基于Streamlit的交互式聊天前端。
特性
- 对话式AI:通过LangChain由OpenAI的GPT模型提供支持。
- 工具集成:包括内置的网络搜索工具(DuckDuckGo)和股票价格获取工具(Alpha Vantage)。
- MCP支持:连接到MCP服务器以获取其他工具,如算术运算和费用跟踪。
- 持续对话:使用SQLite检查指针进行基于线程的聊天历史记录。
- 流线型前端:用户友好的界面,用于聊天、管理对话线程和可视化工具使用情况。
- 异步处理:处理异步操作以实现流畅的性能。
先决条件
- Python 3.8+
- OpenAI API密钥(在中设置
.env文件) - AlphaVantage API密钥(用于演示的硬编码代码;替换为您自己的密钥)
- MCP服务器(例如,配置的arith和expense服务器)
安装
-
克隆存储库:
git clone <repository-url> cd Langgraph-MCP -
安装依赖项:
pip install -r requirements.txt(注:创建一个
requirements.txt依赖关系如下langgraph,langchain-openai,streamlit,langchain-mcp-adapters,python-dotenv,requests,aiosqlite.) -
设置环境变量: 创建一个
.env根目录中的文件:OPENAI_API_KEY=your_openai_api_key_here -
配置MCP服务器: 更新
MultiServerMCPClient在langgraph_mcp_backend.py您的MCP服务器详细信息。
用法
运行后端
导入时后端会自动初始化 langgraph_mcp_backend.py。它使用工具和检查指针设置LangGraph工作流。
运行前端
启动Streamlit应用程序:
streamlit run streamlit_frontend_mcp.py
- 在浏览器中打开应用程序。
- 开始新的聊天或加载现有的对话线程。
- 键入消息并与人工智能交互,人工智能可以使用搜索或获取股票价格等工具。
交互示例
- 用户:“人工智能的最新消息是什么?”
- AI使用DuckDuckGo搜索工具。
- 用户:“获取AAPL的股价。”
- AI从Alpha Vantage获取数据。
建筑
- 后端(
langgraph_mcp_backend.py):定义LangGraph状态、节点、工具和编译图。处理异步操作和MCP工具加载。 - 前端(
streamlit_frontend_mcp.py):用于UI、消息呈现和流式响应的Streamlit应用程序。管理线程的会话状态和历史记录。 - 工具:通过LangChain的工具系统集成,包括定制工具和MCP适配器。
配置
- API密钥:将敏感密钥存储在
.env. - MCP服务器:修改不同服务器后端的客户端配置。
- 数据库:聊天记录存储在
chatbot.db使用SQLite。
贡献
- 分叉存储库。
- 创建要素分支。
- 进行更改和测试。
- 提交拉取请求。
许可证
该项目根据MIT许可证获得许可。看 LICENSE 了解详情。