For the complete documentation index, see llms.txt. This page is also available as Markdown.

LangChain

抓取网页内容的 LangChain 管线(loaders、retrievers、web 搜索工具)可通过 helodata 路由,避免 LLM 驱动采集或 RAG 摄取中被 IP 屏蔽。

文档加载器

WebBaseLoaderPlaywrightURLLoader 等底层用 requests / httpx / Playwright,在对应客户端上设代理即可。

WebBaseLoader

from langchain_community.document_loaders import WebBaseLoader

USER = "helo_s1a2b3c4d5e-type-res-region-us"
PASS = "PASSWORD"
proxy = f"http://{USER}:{PASS}@gate.helodata.io:7777"

loader = WebBaseLoader("https://example.com")
loader.requests_kwargs = {
    "proxies": {"http": proxy, "https": proxy},
    "timeout": 30,
}
docs = loader.load()

PlaywrightURLLoader

Web 搜索工具

TavilySearchDuckDuckGoSearchRun 等命中外部 API 时是否需要代理因情况而异。对基于 HTTP 抓取的工具(如 RequestsGetTool),注入带代理的客户端:

每次 LLM 调用使用粘性会话

LangChain agent 一次 chain 内常有多个子请求,用粘性会话让目标看到一致的 IP 行为:

整个 chain 内所有子请求复用同一个 proxy

标签做归因

通过 X-Helodata-Tag 头把 LLM 驱动的流量与其他爬取分开统计:

常见陷阱

  • 部分版本的 UnstructuredURLLoader 忽略代理 — 改用 WebBaseLoader,或先用 requests 预下载。

  • 异步 loader — 把客户端换成 httpx.AsyncClient(proxy=proxy)aiohttp 按请求传 proxy=

最后更新于

这有帮助吗?