RAG 知识库数据接入
把文档站点转换成干净、可直接分块的 markdown,用于检索增强生成(RAG)。先用 map_site 枚举全部页面,再用 scrape 抓取并剥离导航与广告等样板内容,最后用 summarize_content 生成摘要,在向量化之前就把语料整理干净。
快速解答
用 map_site(2 credits)枚举整个文档站点,用 scrape(2 credits)返回已剥离导航与广告的 markdown,再用 summarize_content(4 credits)为每个分块附上一段简短摘要。每篇文档大约 6 credits,得到的 markdown 可直接送入你的分块器和向量嵌入模型。
面临的问题
RAG 系统的效果取决于你喂给它的文本。原始 HTML 中夹杂着导航、广告和标记,既推高 tokens 数量,又会污染向量嵌入;而且每个文档站点的版式都不一样,单一解析器永远无法通吃。
解决方案
CrawlForge 的 scrape 一次调用即可返回 markdown、元数据和链接,样板内容已由 Readability 剥离;summarize_content 则把长页面压缩成简短摘要,可作为分块的元数据存储,从而提升检索效果。
代码示例
// Turn a documentation site into RAG-ready markdown
const pages = await mcp.map_site({
url: "https://docs.example.com",
include_sitemap: true,
max_urls: 200,
});
// One call returns markdown, metadata, and links per page
const doc = await mcp.scrape({
url: pages.urls[0],
formats: ["markdown", "metadata", "links"],
onlyMainContent: true,
});
// Condense long pages into chunk-level summaries
const digest = await mcp.summarize_content({
text: doc.markdown,
options: { summaryLength: "short", summaryType: "abstractive" },
});
console.log(doc.markdown); // chunk + embed this
console.log(digest.summary); // store as chunk metadata使用的工具
预估费用:每篇文档约 6 credits
常见问题
如何为 RAG 流水线抓取一个网站?
用 map_site 列出全部 URL,用 scrape 把每个页面返回为已剥离导航与广告的 markdown,再用 summarize_content 为每个分块附上一段简短摘要。这些 markdown 可直接送入你的分块器和向量嵌入模型。
做 RAG 时,为什么 markdown 比原始 HTML 更好?
原始 HTML 会把 tokens 浪费在标记、菜单和广告上,这些噪声最终都会进入你的向量嵌入。scrape 会先跑一遍 Readability,只返回主体内容,因此每个分块在语义上更干净,向量化的成本也更低。
我能让知识库保持最新吗?
可以。按计划定期重跑 map_site 和 scrape,并搭配 track_changes 找出真正发生变化的页面,这样你只需要对这些页面重新做向量嵌入,而不必重建整个索引。
接入一个文档站点要花多少 credits?
每篇文档大约 6 credits——scrape 占 2 credits,summarize_content 占 4 credits——每个站点再加上一次 map_site 调用的 2 credits。一个 200 页的文档站点大约需要 1,200 credits,如果跳过摘要环节则可以减半。