admin管理员组

文章数量:1439025

RAG 实战|用 StarRocks + DeepSeek 构建智能问答与企业知识库

RAG 实战|用 StarRocks + DeepSeek 构建智能问答与企业知识库

文章作者:

石强,镜舟科技解决方案架构师

赵恒,StarRocks TSC Member

RAG 和向量索引简介

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合外部知识检索与 AI 生成的技术,弥补了传统大模型知识静态、易编造信息的缺陷,使回答更加准确且基于实时信息。

RAG 的核心流程

检索(Retrieval)

  • 用户输入问题后,RAG 从外部数据库(如维基百科、企业文档、科研论文等)检索相关内容。
  • 检索工具可以是向量数据库、搜索引擎或传统数据库。

生成(Generation)

  • 将检索到的相关信息与用户输入一起输入生成模型(如 GPT、LLaMA 等),生成更准确的回答。
  • 模型基于检索内容“增强”输出,而非仅依赖内部参数化知识。

上图展示了 RAG 的标准流程。首先,图片、文档、视频和音频等数据经过预处理,转换为 Embedding 并存入向量数据库。Embedding 通常是高维 float 数组,借助向量索引(如 HNSW、IVF)进行相似性搜索,加速高效检索。

向量索引通过近似最近邻(ANN)算法优化查询效率,减少高维计算负担。语义搜索匹配用户问题与知识库中的相关内容,使回答基于真实信息,从而降低大模型的“幻觉”风险,提升回答的自然性和可靠性。

关于向量检索的更多介绍,可以参考 腾讯大数据基于 StarRocks 的向量检索探索 这篇文章。这里不再展开说明。

StarRocks + DeepSeek 的典型 RAG 应用场景

DeepSeek 负责生成高质量 Embedding 和回答,StarRocks 提供实时高效的向量检索,二者结合可构建更智能、更精准的 AI 解决方案。

企业级知识库

适用场景:

  • 企业内部知识库(文档搜索、FAQ)
  • 法律、金融、医药等专业领域问答
  • 代码搜索、软件开发文档查询

方案:

  1. 文档嵌入(DeepSeek 负责): 将企业知识库、FAQ、技术文档等数据转换为向量。
  2. 存储+索引(StarRocks 负责): 使用 HNSW 或 IVFPQ 存储向量存储在 StarRocks 中,支持高效检索。
  3. 检索增强生成(RAG 负责): 用户输入问题 → DeepSeek 生成查询向量 → StarRocks 进行向量匹配 → 返回相关文档 → DeepSeek 结合文档生成最终回答。

AI 客服与智能问答

适用场景:

  • 智能客服(银行、证券、电商)
  • 法律、医疗等专业咨询
  • 技术支持自动问答

方案:

  1. 客户对话日志嵌入(DeepSeek 负责): 训练 LLM 处理用户意图,转换历史聊天记录为向量。
  2. 存储+索引(StarRocks 负责): 采用向量索引让客服系统能够高效查找相似案例。
  3. 检索增强(RAG 负责): 结合历史客服对话 + 知识库 + DeepSeek LLM 生成答案。

示例流程:

  • 用户问:“我如何更改银行卡预留手机号?”
  • StarRocks 检索到 3 个最相似的客户服务记录
  • DeepSeek 结合这 3 条历史记录 + 预设 FAQ,生成精准回答

操作演示

系统组成

  • DeepSeek:提供文本向量化(embedding)和答案生成能力
  • StarRocks:高效存储和检索向量数据(3.4+版本支持向量索引)

实现流程:

步骤

负责组件

具体实现

环境准备

Ollama StarRocks

用 Ollama 在本地机器上便捷地部署和运行大型语言模型

数据向量化

DeepSeek-Embedding

文本 → 3584 维向量

存储向量

StarRocks

创建表,存入向量

近似最近邻搜索

StarRocks 向量索引

IVFPQ / HNSW 检索

检索增强

模拟 RAG 逻辑

结合检索数据

生成答案

DeepSeek LLM

生成基于真实数据的回答

1.环境准备

1.1 DeepSeek 本地部署

Tips: 以下内容使用的是 macbook 进行 demo 演示

1.1.1 使用 ollama 安装本地模型

在本地部署 DeepSeek 时,Ollama 主要起到模型管理和提供推理接口的作用,支持运行多个不同的 LLM,并允许用户在本地切换和管理不同的模型。

  • 下载 ollama:/
  • 安装 deepseek-r1:7b
代码语言:javascript代码运行次数:0运行复制
# 该命令会自动下载并加载模型ollama run deepseek-r1:7b

Tips: 如果想使用云端 LLM(如 DeepSeek 的官方 API),需要获取并填写 API Key 访问 DeepSeek 官网()后注册账号并登录;在仪表盘中创建 API Key(通常在 “API Keys” 或 “Developer” 部分),复制生成的密钥(如 sk-xxxxxxxxxxxxxxxx)。

本文标签: RAG 实战|用 StarRocksDeepSeek 构建智能问答与企业知识库