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密钥)
安装
- 克隆仓库:
git clone https://github.com/Terieyenike/openrouter-with-bright-data
cd openrouter-with-bright-data- 安装依赖项:
pip install -r requirements.txt- 设置环境变量:
创建一个 .env 项目根目录下的文件:
BRIGHT_DATA_API_TOKEN=your_bright_data_token_here
OPENROUTER_API_KEY=your_openrouter_api_key_here使用方法
- 启动Jupyter Notebook:
jupyter notebook- 打开笔记本:
- 开放 main.ipynb - 运行所有单元格以查看代理的实际运行情况
- 测试代理:
笔记本中包含一个测试查询:“使用相关工具搜索有关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 配置
- 注册一个Bright Data账户
- 从仪表板获取您的API令牌
- 把它加到你的(列表/计划等)里
.env文件
OpenRouter 设置
- 注册OpenRouter
- 获取您的API密钥
- 把它加到你的(列表/收藏中)
.env文件
示例用法
该笔记本展示了如何创建一个能够执行以下操作的ReAct代理:
# Example query
"Search for the latest news about AI agents with its relevant tools"该代理将:
- 分析查询
- 选择合适的工具(搜索引擎、以Markdown格式抓取)
- 执行工具
- 处理并展示结果
高级功能
结构化数据提取
该代理可以从以下来源提取结构化数据:
- 电子商务网站(亚马逊、易趣)
- 社交媒体(Instagram、Facebook、X、TikTok)
- 职业网络(领英)
- 房地产(Zillow)
- 讨论论坛(Reddit)
- 视频平台(YouTube)
错误处理
- 优雅地处理速率限制
- 自动重试机制
- 全面的错误日志记录
故障排除
常见问题
- 缺少API密钥确保两者都
BRIGHT_DATA_API_TOKEN并且OPENROUTER_API_KEY已设置在您的.env文件
- 导入错误确保所有依赖项都已安装:
pip install -r requirements.txt- 连接问题请检查您的网络连接和API令牌的有效性
记录日志
该笔记本包含了日志配置,用于过滤掉冗长的SSE连接消息,以获得更简洁的输出。
贡献;做出贡献
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支
- 进行你的更改
- 提交拉取请求
许可证
这个项目是开源的。请查阅仓库以获取许可证详情。
支持
对于问题和疑问:
- 检查 Bright Data 文档
- 评论 LangChain 文档
- 在这个仓库中打开一个问题(或:提交一个议题)
致谢
- Bright Data(通常翻译为“亮数据”或根据具体语境可译为“明亮数据”,但“亮数据”更为常见) 用于网络爬虫基础设施
- LangChain 用于代理框架
- OpenRouter(直译为“开放路由器”,但根据上下文,这可能是一个特定服务或平台的名称,因此也可意译为“开放路由服务”或保持原样作为专有名词使用) 用于访问大型语言模型(LLM)
