0%

RAG学习日志(3) 企业级 RAG 架构

企业 RAG 基本架构

  企业 RAG 基本流程如下:

企业文档/数据库/网页
        ↓
数据采集与解析
        ↓
清洗、切分、元数据提取
        ↓
Embedding 向量化
        ↓
向量库 / 搜索引擎 / 关系库
        ↓
检索 + 重排 Rerank
        ↓
拼接 Prompt
        ↓
大模型生成回答
        ↓
权限控制、日志、评估、监控

1、后端语言和接口

  一般来说,企业级 RAG 常用 Python、FastAPI、Redis、PostgreSQL 作为基础技术栈。Redis 用于管理缓存、任务队列等,PostgreSQL 则负责存用户、文档、权限等等。

2、文档解析

  PDF 文档常用 PyMuPDF、pdfplumber、Unstructured、LlamaParse 来解析,word/Excel/PPT 则使用 python-docx、openpyxl、python-pptx、Unstructured 等工具。

3、文本切分

  RAG 需要将整篇文档切分成小块,常见策略有按标题切分、按段落切分、按 token 长度切分、按 Markdown 层级切分、按表格/条款/FAQ 切分。
  另外注意,企业文档在切分时最好保留文档名、章节标题、页码、来源路径、更新时间、权限标签等信息。

4、Embedding 模型

  Embedding 用来把文本转成向量,方便语义检索。在中文企业知识库中,常用的是 bge-m3、bge-large-zh、Qwen embedding、text-embedding-3-large / small 模型。

5、向量数据库

  常用选择如下:

技术 适合场景
Chroma Demo、个人项目、小型原型
FAISS 本地高性能检索,但工程化能力弱一些
Milvus 数据量大、企业部署、分布式向量库
Qdrant 上手简单,过滤和向量检索能力不错
Weaviate 向量搜索 + 混合搜索能力比较完整
PostgreSQL + pgvector 中小型项目,想少维护一个数据库
Elasticsearch / OpenSearch 关键词检索、混合检索、企业搜索

  其中,Milvus 是比较典型的企业级向量数据库,文档里也持续更新了向量索引、相似度计算、TTL、聚合查询等能力。

6、检索方式

  企业 RAG 不建议只做向量检索,还需要关键词检索 BM25 + 向量检索 Vector Search + 元数据过滤 + Rerank 重排,也就是 Hybrid Search。

7、RAG 编排框架

  常用的一些框架如下:

框架 用途
LangChain RAG、Agent、工具调用、工作流
LangGraph 多步骤 Agent、状态机、复杂流程
LlamaIndex 文档索引、检索、知识库问答
Haystack 企业搜索、RAG pipeline
Dify 低代码知识库应用
FastGPT 中文场景常见的知识库系统
RAGFlow 偏文档解析和知识库问答
AnythingLLM 快速搭建私有知识库
Open WebUI 本地模型 + 知识库界面

  8、权限与安全
  企业 RAG 必须考虑权限,比如普通员工不能查财务文档、销售不能查 HR 薪资文档、不同部门只能查自己的资料、离职员工不能继续访问。常用的技术如下

JWT / OAuth2 / SSO
RBAC 角色权限
ABAC 属性权限
文档级权限
chunk 级权限
审计日志
数据脱敏
访问频率限制

  其中,chunk 级权限实现如下。每一个 chunk 都会带权限 metadata,示例如下:

1
2
3
4
5
6
7
{
"doc_id": "hr_policy_001",
"department": "HR",
"permission": ["HR_MANAGER", "ADMIN"],
"source": "sharepoint",
"updated_at": "2026-06-01"
}

  检索时需要先做权限过滤,再做向量搜索。

  综上,当数据量大、用户多、权限复杂时候,RAG 需要以下技术栈:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
前端:Next.js / Vue
后端:FastAPI / Java Spring Boot
任务队列:Celery / Kafka
关系库:PostgreSQL / MySQL
对象存储:MinIO / S3 / OSS
向量库:Milvus / Qdrant / Weaviate
关键词检索:Elasticsearch / OpenSearch
Embedding 服务:bge-m3 / Qwen embedding 私有化
Rerank 服务:bge-reranker / Qwen reranker
LLM 服务:vLLM + Qwen / DeepSeek
权限:SSO + RBAC + 文档级 ACL
部署:Docker / Kubernetes
监控:Prometheus + Grafana + ELK
评估:Ragas / LangSmith / 自建测试集