RAG多数据源接入:本地文件、网页抓取

RAG(检索增强生成)系统要回答得准,前提是把知识正确灌入向量库。
很多新手卡在“数据从哪来”这一步。
本文围绕本地文件、网页抓取、数据库表同步三种常见数据源,给出可直接照做的接入步骤,包含准备条件、代码思路、排错要点和最终验证,适合零基础运维和开发者快速搭建多源知识库。

接入前先确认三样东西

动手前先检查环境,避免中途翻车。
第一,确认已经具备可用的向量数据库和嵌入模型接口,比如 Chroma、Milvus 或云上向量库,保证有写入权限。
第二,准备好 Python 环境,并安装必要的依赖包,例如 langchainpymysqlbeautifulsoup4requests 等。
第三,明确数据源的文件格式、网页结构、数据库表结构,提前清理无效字段,能省不少调试时间。

本地文件:解析和入库

本地文件是最容易接的数据源。
先建一个文件夹,把需要导入的 txtmdpdf 放在里面。
下面用 LangChain 的目录加载器读取:

from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter

loader = DirectoryLoader("./docs", glob="**/*.txt")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
chunks = splitter.split_documents(docs)
# 将 chunks 向量化并写入向量库

如果遇到 PDF 乱码,建议先转成文本再导入,或者换用 PyPDFLoader 单独处理。
路径中不要出现中文和空格,免得解析报错。

网页抓取:从URL到纯文本

网页抓取适合接入公开的新闻、文档站。
先用 requests 获取页面,再用 BeautifulSoup 提取正文,最后切块写入。
示例:

import requests
from bs4 import BeautifulSoup

res = requests.get("https://example.com/article", timeout=10)
soup = BeautifulSoup(res.text, "html.parser")
content = soup.find("article").get_text(separator="\n")
# 处理内容后切块入库

注意两点:一是抓取前查看站点 robots.txt,不要给对方服务器造成压力;
二是页面内容可能包含导航和脚本,需要按实际标签结构过滤。
企业内网页面还要处理登录态,可用 session 携带 Cookie。

数据库表同步:增量更新别忽视

数据库同步是知识库保持新鲜的常用方式。
先读取表数据,再按主键或时间戳去重。
以 MySQL 为例:

import pymysql

conn = pymysql.connect(host="localhost", user="root", password="xxx", database="knowledge")
cur = conn.cursor()
cur.execute("SELECT id, title, content, updated_at FROM articles WHERE updated_at > %s", (last_time,))
rows = cur.fetchall()
# 清洗、切块、向量化后写入向量库

这里最重要的坑是增量同步
如果每次全量导入,数据量大时很慢,还会产生大量重复向量。
建议在源表加 updated_at 字段,并用定时任务记录上次同步时间,只搬运新增和变更的数据。

高频踩坑点与验证结果

实际接入时,比较常见的问题有这些:读取文件时编码不对,可在打开时指定 encoding="utf-8"
分块过大导致检索精度差,一般 chunk_size 在 200-500 字;
重复导入造成重复向量,需要先清理再写入;
数据库权限不足导致无法连接,确认账号具有 SELECT 权限。

验证方法很简单:向量库写入后,打开 RAG 的问答界面输入一条与刚导入数据相关的问题,看返回内容是否来自新数据。
也可以直接查询向量库统计条数,确认数量与源数据一致。
同步逻辑建议先在测试环境跑一遍,再用 cron 定时执行。

如果你正在做 RAG 多数据源接入,建议先按本地文件打通全流程,再逐步增加网页和数据库同步,每接入一种都单独验证。
遇到异常时,优先检查依赖版本和权限配置,再对照本文避坑点定位问题。

分享到:
上一篇
微调训练中断断点续训,训练任务容错处理
下一篇
私有Agent平台账号体系,注册、登录、API密钥权限
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意