RAG 与向量数据库怎么结合

RAG 是一种自然语言处理方法,它结合了信息检索和文本生成技术,用于提高问答系统、聊天机器人等应用的性能。VectorDB 可用于 RAG 流程中的向量存储和文档检索。

RAG 的基本流程

千帆、LangChain 和 VectorDB 示例文档明确列出了 RAG 的工作流程。

文档处理与向量生成

  • 文档加载(Document Loading)。
  • 文档分割(Document Splitting)。
  • 嵌入向量生成(Embedding Generation)。
  • 写入向量数据库(Writing to Vector Database)。

查询和文档检索

  • 查询生成(Query Generation)。
  • 文档检索(Document Retrieval)。
  • 通过向量检索找到与问题相关的文档内容。

上下文融合与答案生成

  • 上下文融合(Context Integration)。
  • 答案生成(Answer Generation)。
  • Demo 可以把相关的文档内容提炼答复。

示例环境需要哪些组件

示例文档使用百度向量数据库、千帆 Embedding 模型和 BCC 客户端环境搭建知识库。

向量数据库环境

新用户可以创建免费版进行测试。创建百度向量数据库实例时,需要地域、可用区和 BCC 保持在同一个 VPC 内;创建成功后,通过实例详情页查看访问地址信息和账号信息,用于访问操作向量数据库。

千帆 Embedding 模型

千帆模型开通付费之后才能使用;文档说明右上角个人中心的安全认证里面提取用于鉴权调用 Embedding 模型的 Access Key 和 Secret Key。

客户端和依赖包

示例使用 BCC 计算型 c5 2c4g 实例基于 CentOS 系统作为例子;安装 python 3.9,以及 langchain、pymochow、qianfan、pdfplumber 等依赖包。

知识库数据准备

示例要求创建项目目录,将 PDF 文件上传到 knowledge/example_data 目录,并创建访问的配置文件。

查询阶段如何使用 VectorDB

示例代码展示了通过千帆生成问题向量,再使用 VectorDB 客户端执行检索。

生成查询向量

Embedding初始化千帆 AI 平台的嵌入模型对象。
question定义待查询的问题文本,例如“讲解下大模型的发展趋势”。
embedding获取问题文本的嵌入向量。

连接向量数据库

Configuration使用配置信息初始化向量数据库客户端。
MochowClient通过客户端访问和操作百度向量数据库。
database选择数据库,例如 document。

构建近似最近邻搜索

示例代码中通过 AnnSearch 构建近似最近邻搜索对象,指定用于搜索的向量字段名,并提供查询向量。

VectorDB 对 RAG 的支撑能力

产品页和向量索引文档说明了 VectorDB 的检索能力、索引能力和上下游集成能力。

检索能力

通过元数据过滤和向量检索结合,查询出用户想要的结果;基于关键词和短语的 BM25 检索结合向量检索,提供精确检索的能力;基于多种检索进行多路召回及融合排序,提供更加高质量的检索结果。

向量索引能力

向量索引是针对向量类型数据而建立的索引机制,最终目的也是为了加速向量检索的过程。VectorDB 当前支持多种类型的向量索引,同时也支持“无索引”。

模型生态集成

VectorDB 产品兼容市面上大部分的模型,并且有百度智能云的大模型生态加持,能帮助使用 VectorDB 的企业用户打通全链路。

推荐文档

继续查看 RAG 示例、VectorDB 产品概览、索引选择和规格文档。

千帆+Langchain+VectorDB 建立简单的 RAG 示例

查看 RAG 工作流程、环境准备、数据写入、查询向量生成和向量检索示例。

向量数据库 VectorDB

了解 VectorDB 的产品定义、索引类型、相似度算法、向量规模和查询延迟。

向量索引的选择与管理

了解 KNN、HNSW、FLAT、PUCK、IVF 等索引类型及其成本、性能和召回率权衡。

产品规格

查看 VectorDB 的节点类型、节点规格、标准版和免费版实例类型。

相关专题页

继续了解向量数据库概念、选型和云数据库相关内容。

RAG 与向量数据库:VectorDB 的知识库和检索场景

向量数据库是什么:VectorDB 产品能力与应用场景

向量数据库怎么选:VectorDB 检索能力与规格参考

云数据库 RDS for MySQL 是什么,适合哪些业务场景

了解 VectorDB 的 RAG 使用方式

查看产品介绍和 RAG 示例文档,继续了解向量存储、向量检索、上下游模型集成和知识库问答流程。