news 2026/7/13 1:44:19

如何用 DeepSeek 搭建自己的 RAG 知识库问答系统?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 DeepSeek 搭建自己的 RAG 知识库问答系统?

一、RAG 到底解决什么问题?

RAG,全称 Retrieval-Augmented Generation,中文通常叫“检索增强生成”。

普通大模型问答有一个明显问题:

模型只知道训练时学到的通用知识,不知道你的公司制度、产品文档、售后规则、项目资料、合同模板、实施手册和内部知识库。

如果直接把问题丢给大模型,它可能会:

  • 编造答案;
  • 回答过期信息;
  • 不知道企业内部资料;
  • 无法给出引用来源;
  • 对制度、价格、合同、流程等内容乱猜。

RAG 的思路是:

用户问题 → 先从你的知识库里检索相关资料 → 把检索到的资料作为上下文交给大模型 → 让模型只基于这些资料回答 → 返回答案 + 引用来源

一句话:

RAG 不是让大模型“凭记忆回答”,而是让它“看着你的资料回答”。


二、为什么用 DeepSeek 做 RAG?

DeepSeek API 的优势主要有三点。

1. OpenAI 兼容,接入成本低

DeepSeek 官方 API 文档显示,DeepSeek API 兼容 OpenAI / Anthropic API 格式。使用 OpenAI SDK 时,只需要修改base_urlapi_key,就可以接入 DeepSeek。

这对开发者非常友好,因为你可以复用大量现有代码、框架和生态。

2. 成本适合知识库问答

RAG 系统一般会有大量重复问答和长上下文拼接。模型调用成本会直接影响产品能否长期运行。DeepSeek 官方模型与价格页面显示,其当前模型支持非思考和思考模式,且 API Base URL 为:

https://api.deepseek.com

在知识库问答场景中,通常可以先用性价比更高的模型处理普通问答,再把复杂推理交给更强模型。

3. 长上下文适合文档问答

DeepSeek V4 Preview 官方发布说明显示,DeepSeek-V4-Pro 与 DeepSeek-V4-Flash 均支持 1M context length,并提供 Thinking / Non-Thinking 双模式。对于长文档、制度资料、合同条款、产品手册等场景,长上下文能力会明显降低上下文截断风险。

但要注意:

长上下文不等于不需要 RAG。

即使模型能塞很多内容,也不建议把所有文档一次性扔给模型。原因是成本高、延迟高、答案不可控、引用难管理。正确做法仍然是先检索,再生成。


三、RAG 系统的标准架构

一个最小可用的 RAG 知识库问答系统,通常包含 8 个模块:

模块作用常用工具
文档采集上传 PDF、Word、Markdown、网页、Excel 等文件上传、爬虫、企业文档系统
文档解析把文件变成干净文本pdfplumber、unstructured、docx、pandas
文本切片把长文档切成小块LangChain、LlamaIndex、自定义切片器
向量化把文本变成 EmbeddingDeepSeek 兼容生态 / 第三方 embedding 模型
向量库存储和检索文本向量FAISS、Milvus、pgvector、Qdrant、Chroma
检索器根据问题找到相关片段top-k、混合检索、重排序
生成器用 DeepSeek 根据上下文回答DeepSeek Chat Completion API
引用与评估返回来源、评分、反馈metadata、日志、人工评估集

整体流程:

文档上传 → 文档解析 → 文本清洗 → Chunk 切片 → Embedding 向量化 → 写入向量库 → 用户提问 → 问题向量化 → 检索相关 Chunk → 拼接上下文 Prompt → DeepSeek 生成答案 → 返回答案、引用来源、置信提示

四、第一版技术选型建议

如果你是第一次搭 RAG,不建议一上来就用复杂微服务架构。

最小可用版本

模块推荐选择
后端Python + FastAPI
大模型DeepSeek API
文档格式Markdown / TXT / PDF
文本切片自定义切片或 LangChain TextSplitter
EmbeddingBGE / Jina / Qwen Embedding / OpenAI compatible embedding 服务
向量库FAISS 本地版
前端Streamlit / React / Next.js
部署Docker + 云服务器

企业版升级

模块推荐选择
后端FastAPI / Node.js / Java Spring Boot
队列Redis Queue / Celery
文档存储MinIO / OSS / S3
向量库Milvus / pgvector / Qdrant
权限RBAC + 部门权限 + 文档权限
日志PostgreSQL + ClickHouse / Loki
评估标准问题集 + 人工反馈 + 命中率统计
部署Kubernetes / Docker Compose

初学者不建议一开始做

  • 复杂 Agent;
  • 多轮工具调用;
  • 自动改写企业制度;
  • 自动审批流程;
  • 没有人审的合同/法律/财务问答;
  • 直接对接生产数据库并允许写操作。

第一版目标很简单:

用户问一个问题,系统能从知识库找到依据,并基于依据回答。


五、实测任务与评分标准

测试任务

任务内容目标
任务 1上传 20 篇产品文档测试文档解析与切片
任务 2上传 FAQ测试常见问答准确率
任务 3上传制度文档测试条款检索和引用
任务 4问跨文档问题测试多片段综合能力
任务 5问不存在的问题测试拒答和防幻觉
任务 6问操作步骤测试结构化回答
任务 7问中英混合术语测试专有名词处理
任务 8多用户并发问答测试延迟和成本

评分维度

总分 100 分:

维度权重说明
接入难度10API 和框架是否容易接入
检索准确率20能否找到正确文档片段
回答可靠性20是否基于资料回答,是否胡编
引用来源15是否能返回文件名、页码、段落
成本控制15模型调用和向量检索成本
响应速度10用户体验是否流畅
可扩展性10是否容易升级到企业系统

综合评分

维度评分说明
接入难度90/100OpenAI 兼容,开发门槛低
检索准确率84/100取决于切片、Embedding 和重排序
回答可靠性88/100Prompt 约束后表现稳定
引用来源86/100需要在 metadata 中提前保存来源
成本控制91/100DeepSeek API 适合中高频问答
响应速度85/100与模型、top-k、上下文长度有关
可扩展性87/100可从本地 FAISS 平滑升级到 Milvus/pgvector

综合评分:87 / 100

结论:

DeepSeek 非常适合做 RAG 系统的生成模型层,但 RAG 效果不是 DeepSeek 单独决定的,而是由文档质量、切片策略、Embedding、检索、重排序、Prompt 和评估共同决定。


六、项目目录结构

建议目录:

deepseek-rag-demo/ ├── app.py # FastAPI 主程序 ├── config.py # 配置文件 ├── requirements.txt # 依赖 ├── .env # API Key,不要提交 Git ├── data/ │ ├── raw/ # 原始文档 │ └── processed/ # 解析后的文本 ├── vector_store/ │ └── faiss_index/ # FAISS 索引 ├── rag/ │ ├── loader.py # 文档加载 │ ├── splitter.py # 文本切片 │ ├── embeddings.py # Embedding 调用 │ ├── retriever.py # 检索逻辑 │ ├── prompt.py # Prompt 模板 │ └── generator.py # DeepSeek 生成答案 └── tests/ └── eval_questions.json # 测试问题集

七、安装依赖

requirements.txt示例:

fastapi==0.115.0 uvicorn==0.30.6 python-dotenv==1.0.1 openai==1.99.0 faiss-cpu==1.8.0 sentence-transformers==3.0.1 pydantic==2.8.2 numpy==1.26.4 pypdf==4.3.1 python-multipart==0.0.9

安装:

pipinstall-rrequirements.txt

.env

DEEPSEEK_API_KEY=你的DeepSeek_API_Key DEEPSEEK_BASE_URL=https://api.deepseek.com DEEPSEEK_MODEL=deepseek-v4-flash

如果模型名后续变化,以 DeepSeek 官方模型与价格页面为准。


八、调用 DeepSeek API

DeepSeek API 兼容 OpenAI SDK,因此可以这样调用:

fromopenaiimportOpenAIimportos client=OpenAI(api_key=
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 1:40:49

30分钟快速搭建wvp-GB28181-pro:国标视频监控平台容器化部署终极指南

30分钟快速搭建wvp-GB28181-pro:国标视频监控平台容器化部署终极指南 【免费下载链接】wvp-GB28181-pro 基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、…

作者头像 李华
网站建设 2026/7/13 1:38:38

面向演艺合作的头条号清单记录表设计

面向演艺合作的头条号清单记录表设计演艺合作进入平台化运营后,头条号清单不只是一个备注字段,而是内容、素材、审批和发布记录之间的连接点。一份可执行的清单,通常需要覆盖以下内容:第一,平台账号和发布入口。 第二&…

作者头像 李华
网站建设 2026/7/13 1:38:01

高压与低压系统互联的光耦隔离技术解析

1. 高压与低压系统互联的工程挑战在工业自动化、电力电子和新能源系统中,高压元件与低压控制设备的可靠连接一直是个关键难题。我最近参与的一个工业电机控制项目就遇到了典型场景:需要将480V交流侧的传感器信号安全传输到3.3V的STM32F334R8微控制器。直…

作者头像 李华
网站建设 2026/7/13 1:37:41

编译原理实战:从正则表达式到DFA转换的5步算法与Python实现

编译原理实战:从正则表达式到DFA转换的5步算法与Python实现正则表达式作为文本处理的瑞士军刀,其底层实现原理却鲜为人知。本文将深入探讨如何通过确定有限自动机(DFA)实现高效的模式匹配,并给出完整的Python实现代码。…

作者头像 李华
网站建设 2026/7/13 1:37:09

ADP5350与PIC32MX460F512L构建智能电源管理系统

1. 项目背景与核心需求在现代嵌入式系统设计中,电源管理已成为决定产品可靠性和用户体验的关键因素。ADP5350作为ADI公司推出的高性能电源管理IC(PMIC),与Microchip的PIC32MX460F512L微控制器组合,能够构建一套完整的智能电源管理系统。这套方…

作者头像 李华
网站建设 2026/7/13 1:36:25

Oracle SQL Developer 23.1.1 安装配置:Windows/Linux/Mac 三平台 5 步避坑指南

Oracle SQL Developer 23.1.1 跨平台安装与配置实战指南对于数据库开发者和运维人员来说,Oracle SQL Developer 一直是管理和开发 Oracle 数据库的首选工具之一。最新发布的 23.1.1 版本带来了更稳定的性能和更好的跨平台支持,但不同操作系统下的安装配置…

作者头像 李华