首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库 Vector 与 Dify 集成
更新时间:2026-04-09 14:12:04
OceanBase 数据库支持向量类型存储、向量索引、embedding 向量搜索的能力。可以将向量化后的数据存储在 OceanBase 数据库,供下一步的搜索使用。
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
本文介绍如何将 OceanBase 数据库中的向量搜索功能与 Dify 集成。
前提条件
在部署 Dify 之前,请确保您的机器满足以下最低系统要求:
- CPU:2 核
- 内存:4 GB
本集成教程在 Docker 容器平台中进行,确保您已搭建好 Docker 容器平台。
您已完成部署 OceanBase 数据库 V4.3.3 或以上版本并且创建了 MySQL 模式用户租户。创建用户租户的详细信息,参见 创建租户。
- 确保您已经在租户中设置了
ob_vector_memory_limit_percentage配置项,以启用向量搜索功能。V4.3.5 BP3 之前的版本推荐设置值为30,从 V4.3.5 BP3 版本开始推荐保持默认值0。如需更精确设置此配置项,请参考 ob_vector_memory_limit_percentage 计算此值。
- 确保您已经在租户中设置了
步骤一:获取数据库连接信息
联系 OceanBase 数据库部署人员或者管理员获取相应的数据库连接串,例如:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
参数说明:
$host:提供 OceanBase 数据库连接 IP。OceanBase 数据库代理(OceanBase Database Proxy,ODP)连接方式使用的是一个 ODP 地址;直连方式使用的是 OBServer 节点的 IP 地址。$port:提供 OceanBase 数据库连接端口。ODP 连接的方式默认是2883,在部署 ODP 时可自定义;直连方式默认是2881,在部署 OceanBase 数据库时可自定义。$database_name:需要访问的数据库名称。注意
连接租户的用户需要拥有该数据库的
CREATE、INSERT、DROP和SELECT权限。更多有关用户权限的信息,请参见 MySQL 模式下的权限分类。$user_name:提供租户的连接账户。ODP 连接的常用格式:用户名@租户名#集群名或者集群名:租户名:用户名;直连方式格式:用户名@租户名。$password:提供账户密码。
更多连接串的信息,请参见 通过 OBClient 连接 OceanBase 租户。
步骤二:部署 Dify
方法一
部署 Dify 的详细信息,请参考 Docker Compose 部署。
并做出以下改动:
- 修改
.env中的VECTOR_STORE变量值为oceanbase。 - 使用
docker compose --profile oceanbase up -d启动服务。
方法二
也可以参考 Dify for MySQL 信息,快速启动 Dify 服务。
启动服务的操作如下:
cd docker
bash setup-mysql-env.sh
docker compose up -d
步骤三:使用 Dify
使用 Dify 接入大模型,请参考 接入大模型。