TL;DR
- 一个网站到 RAG 的管道有五个持久阶段:爬取、规范化、分块、嵌入、存储和带源引用的查询。
- 保留爬取元数据和稳定的文档 ID,以便可以在向量存储中更新已更改或删除的页面。
- 以下代码在离线状态下运行,并具有一个小的固定装置和一个确定性的演示嵌入;在生产中替换其适配器和嵌入函数。
- 在检索后评估答案支持和新鲜度。仅仅成功的爬取响应并不是一个成功的 RAG 系统。
一个网站 RAG 管道需要保留什么?
一个网站语料库不是一袋 Markdown 字符串。每个页面需要源 URL、规范 URL、爬取时间、标题、内容和一个稳定的 ID。Nstdata Crawl 文档记录了站点爬取和多个输出,而它的 Crawl API 指南 描述了状态、页面列表和工件检索。爬虫是获取阶段;您的应用程序负责接受、分块、嵌入、索引和引用检查。对于第一次运行,请使用一个有限的允许站点。
以下代码是一个 完全可运行的离线演示,使用 Python 标准库。它的固定装置代替了爬取适配器的规范化输出。基于哈希的向量故意是一个确定性的测试替代品;它不是语义嵌入,绝不应被用来评判答案质量。生产适配器将轮询 Nstdata 爬取,检索 Markdown 引用,并将 Page 对象传递给同一下游函数。公共文档在一些抓取路由标签上存在争议,因此在实现该网络步骤之前确认实时路由。
完整的爬取到查询示例
将此保存为 rag_demo.py 并运行 python3 rag_demo.py。它打印样本查询的最高得分块的源。
from dataclasses import dataclass from hashlib import sha256





