全部集成

AI 开发
在 LangChain 中使用 AdsCrawl
将 AdsCrawl 用作 LangChain 应用的浏览器层。通过 LangChain 工具封装 JavaScript SDK,读取实时网页、返回可读的 Markdown,并保留内容对应的来源链接。
能做什么
01
可调用的网页工具
使用 Zod 定义 URL 输入,通过 LangChain 的工具接口提供 read_web_page。
02
实时网页上下文
当任务需要读取指定 URL 时,获取浏览器渲染后的页面文本。
03
可追溯的回答
同时返回 source 与 markdown,让后续链能够引用原始页面。
准备工作
- 具有 API Key 和可用积分的 AdsCrawl 账号。
- Node.js 22.22 或更高版本,在服务端或本地开发环境中运行。
接入方式 01
创建 LangChain 工具
将 AdsCrawl 官方 SDK 接入 LangChain 自定义工具接口。首次验证无需配置语言模型。
安装依赖
在应用目录中运行以下命令。
npm install adscrawl @langchain/core zod配置 API Key
在服务端环境或本地终端设置变量,用自己的密钥替换占位符,不要将其放入前端构建产物或提交到代码仓库。
export ADSCRAWL_API_KEY="your_adscrawl_api_key"保存为 langchain-web.mjs
工具校验 URL、读取网页,返回包含 source 和 markdown 的 JSON 字符串。示例直接调用工具完成验证。
import AdsCrawl from "adscrawl"; import { tool } from "@langchain/core/tools"; import { z } from "zod"; const browser = new AdsCrawl({ apiKey: process.env.ADSCRAWL_API_KEY }); export const readWebPage = tool( async ({ url }) => { const markdown = await browser.markdown({ url, waitUntil: "domcontentloaded", }); if (!markdown.trim()) throw new Error("The page returned no text"); return JSON.stringify({ source: url, markdown }); }, { name: "read_web_page", description: "Read a public web page as browser-rendered Markdown, with its source URL.", schema: z.object({ url: z.string().url() }), }, ); const result = await readWebPage.invoke({ url: "https://example.com" }); console.log(JSON.parse(result));运行并接入下一步
预期输出来源链接与标题为 Example Domain 的 Markdown。将 readWebPage 注册到 LangChain Agent 的 tools 列表后,Agent 即可调用它;模型需单独配置,并可要求 Agent 在使用结果时引用 source。
node langchain-web.mjs
用量与限制
- 本指南定义自定义工具,无需另装 AdsCrawl–LangChain 专用集成包。示例不包含搜索、多页爬取或向量数据库。
- 每次页面请求消耗 AdsCrawl 积分。示例读取单个公开 URL;动态页面可能需要调整 waitUntil,或增加浏览器交互步骤。
- 保留内容的来源 URL。处理长页面时,在传入模型前选择合适的分块方式或上下文长度策略。