LangChain与Bright Data MCP服务器集成

该项目展示了如何将LangChain的ReAct代理框架与Bright Data的网页抓取工具通过MCP服务器集成,用于高级网页搜索和抓取功能。

  • by Terieyenike
  • Jupyter Notebook
  • 本地部署
  • 更新于
在 GitHub 查看 Terieyenike/openrouter-with-bright-data

使用说明

Jupyter Notebook:使用Bright Data MCP服务器的LangChain

一个Jupyter笔记本,展示了如何将LangChain与Bright Data的MCP(模型上下文协议)服务器集成,以实现高级网页抓取和搜索功能。

概述

这个项目展示了如何通过Bright Data的MCP服务器,使用LangChain的ReAct代理框架结合其网页抓取工具。该笔记本演示了如何创建一个智能网页搜索代理,该代理能够:

  • 跨多个搜索引擎(谷歌、必应、Yandex)进行搜索
  • 使用高级机器人检测绕过技术抓取网页内容
  • 通过浏览器自动化处理复杂的网页交互
  • 处理来自主要平台的结构化数据

特性/特点

可用工具

  • 搜索引擎从谷歌、必应或Yandex获取搜索结果
  • 将内容抓取为Markdown格式从任何网页中提取内容,同时绕过机器人检测
  • 搜索引擎批次同时运行多个搜索查询
  • **“scrape_batch”可以翻译为“批量抓取”**并行抓取多个网页

关键能力

  • 高级网页抓取绕过机器人检测和验证码
  • 多平台支持针对主要平台(亚马逊、领英、Instagram、脸书、X、抖音、YouTube、Reddit、Zillow等)的结构化数据提取工具
  • 浏览器自动化导航、点击、输入,并对复杂交互进行截图
  • 批处理高效处理多项操作
  • ReAct 代理智能决策以进行工具选择和执行

先决条件

  • Python 3.8或更高版本
  • Jupyter Notebook 或 JupyterLab
  • Bright Data API令牌
  • OpenRouter API密钥(或OpenAI API密钥)

安装

  1. 克隆仓库:

    git clone https://github.com/Terieyenike/openrouter-with-bright-data
    cd openrouter-with-bright-data
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 设置环境变量: 创建一个 .env 项目根目录下的文件:

    BRIGHT_DATA_API_TOKEN=your_bright_data_token_here
    OPENROUTER_API_KEY=your_openrouter_api_key_here
    

使用方法

  1. 启动Jupyter Notebook:

    jupyter notebook
    
  2. 打开笔记本:

    • 开放 main.ipynb
    • 运行所有单元格以查看代理的实际运行情况
  3. 测试代理: 笔记本中包含一个测试查询:“使用相关工具搜索有关AI代理的最新新闻”

项目结构

jn-langchain-with-brightdatamcp/
├── main.ipynb          # Main Jupyter notebook
├── requirements.txt    # Python dependencies
├── README.md          # This file
└── .env               # Environment variables (create this)

依赖项

  • **langchain-mcp-adapters(可译为“LangChain MCP适配器”)**用于LangChain的MCP客户端适配器
  • **LangChain-OpenAI(或“LangChain与OpenAI”)**LangChain的OpenAI集成
  • langgraph基于图的代理框架
  • **python-dotenv(Python环境变量加载库)**环境变量管理
  • 人智的;人类的Anthropic的人工智能模型支持

配置

Bright Data 配置

  1. 注册一个Bright Data账户
  2. 从仪表板获取您的API令牌
  3. 把它加到你的(列表/计划等)里 .env 文件

OpenRouter 设置

  1. 注册OpenRouter
  2. 获取您的API密钥
  3. 把它加到你的(列表/收藏中) .env 文件

示例用法

该笔记本展示了如何创建一个能够执行以下操作的ReAct代理:

# Example query
"Search for the latest news about AI agents with its relevant tools"

该代理将:

  1. 分析查询
  2. 选择合适的工具(搜索引擎、以Markdown格式抓取)
  3. 执行工具
  4. 处理并展示结果

高级功能

结构化数据提取

该代理可以从以下来源提取结构化数据:

  • 电子商务网站(亚马逊、易趣)
  • 社交媒体(Instagram、Facebook、X、TikTok)
  • 职业网络(领英)
  • 房地产(Zillow)
  • 讨论论坛(Reddit)
  • 视频平台(YouTube)

错误处理

  • 优雅地处理速率限制
  • 自动重试机制
  • 全面的错误日志记录

故障排除

常见问题

  1. 缺少API密钥确保两者都 BRIGHT_DATA_API_TOKEN 并且 OPENROUTER_API_KEY 已设置在您的 .env 文件

  2. 导入错误确保所有依赖项都已安装:

    pip install -r requirements.txt
    
  3. 连接问题请检查您的网络连接和API令牌的有效性

记录日志

该笔记本包含了日志配置,用于过滤掉冗长的SSE连接消息,以获得更简洁的输出。

贡献;做出贡献

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建一个特性分支
  3. 进行你的更改
  4. 提交拉取请求

许可证

这个项目是开源的。请查阅仓库以获取许可证详情。

支持

对于问题和疑问:

致谢