本地文档问答系统RAG全流程详解

系统需要 4 个阶段:


① 文件上传(Upload)

用户把 PDF、DOCX、TXT 等文件上传到 Django 后端。

后端做的事情:

  1. 接收文件 (request.FILES["file"])

  2. 保存到服务器本地目录:

    复制代码
    /your_project/uploads/
  3. 调用 process_file() 解析文件内容

    • PDF 用 PyPDF2

    • DOCX 用 python-docx

    • TXT 用 open()

  4. 把解析出的文本送入向量数据库(如 ChromaDB)

你现在的问题是 process_file 没有调用 → 必须在上传成功后调用它。


② 文档拆分 + 向量化(Embed)

读取到的文档要:

✔ 拆分成小段(chunk)

1 段大约 300~500 字。

✔ 每段生成 embedding 向量

使用:

复制代码
model = SentenceTransformer("all-MiniLM-L6-v2")

✔ 存储到 Chroma DB

格式类似:

segment_id text embedding
doc1-1 "第一段 ..." 0.21, ...
doc1-2 "第二段 ..." ...

你现在代码中已经初始化好了 Chroma,只需要在上传文件解析后调用:

复制代码
collection.add(
    documents=[chunk1, chunk2, ...],
    ids=["doc1-1", "doc1-2", ...]
)

③ 用户输入问题(Query)

前端发 POST 请求给:

复制代码
/send_message/

后端做两件事:

✔ 3.1 语义搜索(Retrieve)

例如:

复制代码
results = collection.query(query_texts=[user_question], n_results=3)

得到最相关的 2~3 条文档片段。

✔ 3.2 拼接上下文(Context)

复制代码
context = "\n".join(results["documents"][0])

④ 生成回答(Generate)

将用户原问题 + 文档上下文发给大模型:

Prompt 示意:

复制代码
你是一个图书问答助手。以下是从文档中检索的相关内容:

{context}

根据这些内容回答用户的问题:{query}

模型返回的 answer 发给前端。


🔥 整个系统流程图(简化)

复制代码
用户上传文件
       ↓
 Django后端接收文件
       ↓
   process_file()
       ↓
 文档拆分 + 向量化
       ↓
   存入 Chroma DB
       ↓
============================
         用户提问
============================
       ↓
   Retrieve(语义搜索)
       ↓
  返回最相关文档片段
       ↓
 拼接 Prompt + 文档
       ↓
   大模型生成回答
       ↓
  返回答案给前端

⭐ 为你总结成一句话:

上传文件 → 文档解析 → 向量数据库存储 → 用户提问 → 检索相关文档 → 大模型基于文档回答问题。

相关推荐
企查查数据服务4 小时前
股权穿透+责任传导是医药并购合规健康度评分卡
大数据·人工智能
陈 洪 伟5 小时前
Transformer彻底剖析(9):归一化演进——BatchNorm、LayerNorm、RMSNorm、Post-LN / Pre-LN、DeepNorm
人工智能·深度学习·transformer
Kari115 小时前
AI 手写 OCR 在教育场景的工程化:为什么准确率从 82% 做到 99% 这么难
人工智能·深度学习·机器学习
数聚天成DeepSData5 小时前
两批标注数据合并前要核对什么
人工智能·深度学习·机器学习·数据集·deepsdata
正经教主5 小时前
【FDE系列】阶段3:Day 77:LangChain 基础 — LCEL 管道与三件套
人工智能·langchain·agent·fde
AI办公探索者5 小时前
从“岗位为中心”到“任务为中心”:企业级Agent Hub的架构演进
人工智能·架构
fly-iot5 小时前
【下一个 AI 方向】:中小企业的数字化建设,物联网解决方案思考,使用开源项目快速搭建降低成本。
人工智能·物联网
方芯半导体5 小时前
2026工业机器人控制芯片赛道:竞争格局与关键选型指标深度解析
大数据·人工智能·机器人
科创致远6 小时前
科创致远 ESOP 赋能车间图纸全维管理实战
大数据·人工智能·制造·精益工程
技灵AI6 小时前
AI 口播视频提示词怎么写?让人物讲解和产品展示更自然
人工智能·音视频