seekdb Vector 与 LlamaIndex 集成
seekdb 提供了向量类型存储、向量索引、embedding 向量搜索的能力。可以将向量化后的数据存储在 seekdb,供下一步的搜索使用。
LlamaIndex 是一个使用 LLM(包括代理和工作流)构建上下文增强生成 AI 应用程序的框架。它提供了数据连接器、数据索引、代理、可观察性/评估集成和工作流等能力。
本教程结合通义千问 API,演示如何将 seekdb 中的向量搜索功能、通义千问与 LlamaIndex 集成实现文档问答。
前提条件
-
您已完成部署 seekdb 数据库。
- 您的环境中已存在可以使用的数据库和账号,并已对数据库账号授读写权限。
- 您可以设置
ob_vector_memory_limit_percentage配置项,以启用向量搜索功能。推荐保持默认值0(自适应模式)。如需更精确设置此配置项,请参考相关配置文档。
-
安装 Python 3.9 及以上版本。
-
安装 所需的依赖项:
python3 -m pip install llama-index-vector-stores-oceanbase llama-index
python3 -m pip install llama-index-embeddings-dashscope
python3 -m pip install llama-index-llms-dashscope -
准备通义千问 API 密钥。
步骤一:获取数据库连接信息
联系 seekdb 数据库部署人员或者管理员获取相应的数据库连接串,例如:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
参数说明:
-
$host:提供 seekdb 数据库连接 IP。 -
$port:提供 seekdb 数据库连接端口。默认是2881,可在部署时自定义。 -
$database_name:需要访问的数据库名称。注意
连接数据库的用户需要拥有该数据库的
CREATE、INSERT、DROP和SELECT权限。更多有关用户权限的信息,请参见 MySQL 模式下的权限分类。 -
$user_name:提供数据库连接账户,格式:用户名。 -
$password:提供账户密码。
更多连接串的信息,请参见 通过 OBClient 连接 OceanBase。
步骤二:构建您的 AI 助手
设置通义千问 API key 环境变量
获取 通义千问 API 密钥 并 配置API-KEY到环境变量。
export DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY"