交互式AI代理演示

一个基于Python的演示应用,展示如何通过LangChain和Groq构建交互式AI代理,集成多个MCP服务器实现网络搜索和Airbnb列表浏览功能。

  • by Subhasish18
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Subhasish18/mcpdemo

使用说明

MCP演示

一个Python演示应用程序,展示了使用LangChain和Groq的模型上下文协议(MCP)。该项目演示了如何构建一个交互式AI代理,该代理可以与多个MCP服务器交互,以增强网络搜索和Airbnb列表等功能。

特性

  • 🤖 交互式AI聊天代理 -由Groq的Llama 3.1 70B型号通过LangChain提供动力
  • 🔌 MCP服务器集成 -与多个MCP服务器无缝集成:
    • Airbnb MCP服务器 -搜索和浏览Airbnb房源
    • DuckDuckGo搜索 -执行网络搜索
  • 💾 支持内存的对话 -在交互中保持对话上下文
  • 🔧 易于配置 -简单的基于JSON的MCP服务器配置

先决条件

  • Python 3.13或更高版本
  • Node.js和npm(适用于使用npx的MCP服务器)
  • Groq API密钥(在这里买一个)

安装

  1. 克隆存储库

    git clone <repository-url>
    cd mcpdemo
    
  2. 使用uv安装依赖项 (推荐)

    uv sync
    

    或者使用pip:

    pip install langchain-groq langchain-openai mcp-use python-dotenv
    
  3. 设置环境变量

    创建一个 .env 项目根目录中的文件:

    GROQ_API_KEY=your_groq_api_key_here
    

配置

MCP服务器配置在 browser_mcp.json默认情况下,它包括:

  • Airbnb MCP服务器 -搜索Airbnb房源
  • DuckDuckGo搜索MCP服务器 -用于网络搜索

您可以根据需要修改此文件以添加或删除MCP服务器。

用法

运行交互式聊天应用程序:

python app.py

或使用紫外线:

uv run app.py

交互式命令

  • 聊天 -只需键入您的信息,然后按Enter键
  • exit 或 quit -退出聊天应用程序
  • clear -清除对话历史/记忆

交互示例

You: Search for Airbnb listings in Paris for 2 adults

Assistant: [The agent will use the Airbnb MCP server to search and return results]

You: What's the weather like today?

Assistant: [The agent will use DuckDuckGo search to find current weather information]

项目结构

mcpdemo/
├── app.py              # Main interactive chat application
├── main.py             # Simple hello world entry point
├── open_websites.py    # Utility script for opening websites
├── browser_mcp.json    # MCP server configuration
├── pyproject.toml      # Project dependencies and metadata
└── README.md          # This file

依赖项

  • 朗肯码头 -Groq LLM的LangChain集成
  • 兰开夏 -LangChain OpenAI集成
  • mcp使用 -MCP客户端和代理实用程序
  • python dotenv -环境变量管理

运作原理

  1. 应用程序从配置文件初始化MCP客户端
  2. 使用Groq LLM(Llama 3.1 70B)创建MCP代理
  3. 代理可以使用连接的MCP服务器中的工具来:
    • 搜索网页
    • 浏览Airbnb房源
    • 通过配置的MCP服务器执行其他可用操作
  4. 会话记忆在整个会话过程中保持不变

故障排除

常见问题

“初始化MCP客户端时出错”

  • 确保已安装Node.js和npm
  • 检查你的 browser_mcp.json 文件是有效的JSON
  • 验证您是否有npx命令的互联网连接

“API密钥错误”

  • 确保你的 .env 文件存在并包含 GROQ_API_KEY
  • 验证您的Groq API密钥是否有效

MCP服务器问题

  • 一些MCP服务器需要互联网接入才能通过npx下载
  • 检查MCP服务器包是否在中正确指定 browser_mcp.json

贡献

欢迎投稿!请随时提交拉取请求。

许可证

[在此处添加您的许可证]

致谢