直接回答: Crawlbase 它与 LangChain 集成,作为智能体工作流中的专用工具,支持在执行过程中实时检索网络数据。这使得 LLM 能够获取、处理和使用实时网络内容,从而生成基于实际应用的响应,而不是仅仅依赖静态训练数据。
使用 Crawlbase - 浪链您可以将其作为工具集成到 LangChain 或 LangGraph 代理中,以便您的模型可以在执行期间获取实时网络数据。
本指南的目标是为您提供一个可运行、可测试、可迭代的实现方案。
智能体并非仅仅依赖预先训练的知识,而是可以决定何时需要新的或外部信息,即调用 Crawlbase处理响应,并使用该数据生成实际输出。
这意味着包装 Crawlbase“ Crawling API 将其作为 LangChain 工具,注册到 ReAct 风格的代理中,并让模型自行选择何时获取数据,何时直接响应。最终得到一个简单而强大的流程:
1 | 用户查询 → 代理推理 → Crawlbase 获取 → 结构化文本 → 响应 |
Crawlbase 负责代理轮换、阻塞和 JavaScript 渲染。LangChain 负责编排。该模型侧重于推理。
如果你想跟着教程操作,可以使用这里克隆的项目: ScraperHub/如何将crawlbase与langchain结合用于AI数据管道
跳到部分
为何使用 Crawlbase 适用于 LangChain 数据管道?
A 浪链 智能体是一个基于逻辑逻辑模型(LLM)的系统,它不仅能生成文本,还能决定采取哪些行动。它不只是回答问题,还能根据用户的输入选择调用工具、获取数据或执行多步骤推理。
一旦你赋予代理这种程度的自由,就会遇到实际问题。它需要访问真实数据,而网络显然是最佳来源。但通常情况下,问题也正是在这里开始出现的。
由于网络阻塞、动态内容和扩展性方面的挑战,标准的网络爬虫方法很快就会出现问题。 Crawlbase 它在基础架构层面解决了这些问题,因此您的代理逻辑保持清晰。
您的代理无需管理代理、重试或无头浏览器,只需调用一个工具并接收结构化输出即可。
这样就能构建一个更强大的系统,其中:
- 该代理程序处理的是清晰易读的文本,而不是原始 HTML。
- 需要时可以获取包含大量 JavaScript 代码的页面。
- 故障会以结构化信号的形式显现,而不是悄无声息的错误。
- 这样可以避免维护单独的爬虫基础设施。
更重要的是,它能提高你的输出质量。
如果没有真实数据,模型只能根据已有的知识进行猜测。 Crawlbase 在循环中,它可以获取当前信息并基于具体数据做出响应。这使得通用答案变成了真正可靠的答案。
架构:基于地面的AI代理的流程
从宏观上看,该系统由三层组成,每一层都有非常具体的功能。
- Crawlbase客户 处理实际的 Web 请求。它与……通信。 Crawlbase Crawling API根据需要切换常规令牌和 JavaScript 令牌,并返回结构化响应。
- fetch_web_page 工具 它位于中间。它从……获取原始 HTML Crawlbase清理文本,并将其转换为模型可以处理的可读文本。
- LangGraph 代理 是决策者。它会查看用户的查询,并决定是否需要获取数据或可以直接回答。
流程如下:

当用户发送查询时,代理首先尝试自行推理。如果答案需要新的或外部数据,它会调用…… fetch_web_page 工具。
然后该工具通过以下方式发送请求 Crawlbase它负责处理所有繁琐的部分,例如代理、阻塞和 JavaScript 渲染。页面检索完成后,响应是结构化数据。
接下来,该工具会去除 HTML 代码,清理文本内容,并将其精简到符合模型限制的程度。清理后的文本会被返回给代理,模型会利用该文本生成合理的答案。
这里的关键在于关注点分离。
该模型侧重于推理,而该工具侧重于准备可用数据。 Crawlbase 处理与访问网络相关的一切事务。
由于每一层都扮演着清晰的角色,因此系统更易于维护和扩展。您可以改变智能体的思维方式而无需改变数据获取方式,反之亦然。
实施:项目设置
现在,让我们按照您在电脑上实际设置的方式一步步来操作。
第 1 步:先决条件
在开始之前,请确保您具备以下条件:
- Python的3.11 或者更新的版本,因为它与现代 LangChain 和 LangGraph 设置非常契合。
- Crawlbase 令牌对于大多数 HTML 页面,请使用常规令牌;对于依赖客户端渲染的网站,请准备好 JavaScript 令牌。
- An 人类学 API 密钥 以上内容适用于示例代理。如果您以后计划使用其他服务提供商,整体模式保持不变。
步骤 2:克隆存储库
在你的终端中运行:
1 | 混帐 克隆 https://github.com/ScraperHub/how-to-use-crawlbase-with-langchain-for-ai-data-pipelines.git |
这会将项目下载到一个新文件夹中,并为您提供一个完整的、可运行的项目,其中所有组件都已连接在一起。
步骤 3:配置环境变量
创建一个 .env 项目根目录下的文件:
1 | CRAWLBASE_REGULAR_TOKEN=你的令牌 |
这些凭证允许代理获取网络数据并生成响应。
第 4 步:安装依赖项
1 | pip install langgraph langchain langchain-core langchain-anthropic httpx python-dotenv pydantic pytest |
如果您要管理多个 Python 项目,建议使用虚拟环境。
可选:快速烟雾测试
在将此代币连接到 LangChain 之前,最好先确认您的代币是否有效。
您可以像这样运行一个简单的实时测试:
1 | 可选的实烟测试 Crawlbase (不接受模拟)。 |
这一步并非必需,但它可以帮助你及早发现问题。如果有效,你就知道你的问题所在了。 Crawlbase 在添加代理之前,请确保设置正确。
步骤五:运行项目
现在您可以运行代理了。在同一文件夹中:
1 | 蟒蛇主.py “今日最新人工智能新闻” |
或者通过标准输入传递输入:
1 | 回音 "summarize https://example.com" | python main.py |
执行该命令时,会触发一个完整的代理循环。
您的查询将传递给 LangGraph 代理,由其决定是否可以直接回答问题或需要外部数据。如果需要外部数据,它将调用…… fetch_web_page 工具。
该工具会向……发送请求 Crawlbase它检索页面,将其转换为纯文本,然后返回给代理。模型随后使用该数据生成符合实际情况的响应。
这就是你正在构建的核心行为:一个能够决定何时获取实时信息并有效利用这些信息的代理。
有关项目结构和设置选项的完整详细说明,请参阅: 读我.
如何知道它是否有效
一旦所有设置都正确,输出应该与标准的 LLM 响应明显不同。
如果你询问近期发生的事件,答案应该反映最新的信息。如果你提供具体的网址,回复内容应该明显使用该网址中的内容。
你还会注意到,模型的行为会根据查询的不同而有所差异。有时它会立即响应,有时则会先获取数据。
如果出现问题,输出结果通常会告诉你原因。缺少令牌、页面被屏蔽或网站大量使用 JavaScript 等问题都会以清晰易懂的消息形式显示,而不是静默无声地报错。
这些并非您的设备配置问题,而是您的系统对实际情况做出反应的信号。
结论:从静态LLM到实时数据代理
整合 Crawlbase LangChain 将您的 LLM 从静态响应器转变为可以访问和验证实时信息的系统。
你的代理不会依赖过时的知识或猜测,而是可以获取实时内容,适应变化,并给出有依据的答案。
当你的应用程序依赖于最新数据时,无论是新闻、定价、文档还是竞争情报,这种模式就变得至关重要。
创建一个 Crawlbase 帐户生成您的令牌,然后将其添加到项目中。您将获得 1,000 次免费请求,用于在实际管道上测试真实查询,然后再进行任何操作。
常见问题
什么时候应该 use_javascript 是真的吗?
当所需内容不在初始 HTML 中,而是在客户端渲染时,可以使用此功能。这在 React 等现代前端框架或页面加载后动态加载内容的网站中很常见。
在这种设置下,模型会根据系统提示来决定何时启用此功能。当 use_javascript=true, Crawlbase 自动切换到您的 JavaScript 令牌。
如果网站屏蔽了网络爬虫怎么办?
当一个网站阻止网络爬虫时, Crawlbase 返回非 200 pc_status并且你的工具会将该错误以易读的消息形式显示出来,而不是默默地失败。
之后,代理程序可以根据情况进行调整。它可能会尝试使用 JavaScript 渲染相同的 URL,切换到不同的数据源,或者根据已知信息调整响应。在产品层面,也值得规划备用策略,例如在必要时引导用户访问官方 API 或手动处理特殊情况。
如何将这个功能扩展到演示之外?
一旦你不再需要处理小型同步请求,最简单的方法就是切换到 Crawlbase“ Enterprise Crawler它专为异步、高容量工作负载而设计,可直接融入您现有的设置中。
您无需重建任何内容。只需配置一个 webhook 即可。 添加几个参数 到你目前 Crawling API 请求。
之后,你的流程就变成了异步的。你的代理触发爬虫,系统则在结果到达时进行处理。 Crawlbase 继续处理 Web 访问方面,这样您就可以专注于提高管道扩展时的可靠性。










