背景
在 AI 应用开发中,向量数据库已成为构建 RAG(检索增强生成)、语义搜索、推荐系统等场景的核心基础设施。然而,传统的向量数据库操作往往需要编写复杂的代码——从数据预处理、向量化、批量导入,到构建查询语句,每一步都需要开发者深入理解 API 细节。
现在借助 Claude Code 和 Agent Skills,有了更简单的使用方式,可以直接用自然语言与 AI 对话,比如"把这个产品表格导入数据库,并帮我找出所有评分 4.3 以上、有 AMOLED 屏幕的手机"。
我们开发了两个 Agent Skills:importing-to-seekdb 和 querying-from-seekdb ,让 Claude Code 能够自动化完成向量数据库的数据管理与智能搜索任务。
什么是 Claude Code?
Claude Code 是 Anthropic 推出的 AI 编程代理,可以在终端中自主执行代码、操作文件、运行命令。它能够理解自然语言指令,自动完成复杂的编程任务。
什么是 Agent Skill?
Agent Skills 是一种轻量级、开放格式 ,用于扩展 AI 代理的能力。它让开发者可以将特定领域的知识、工具和工作流封装成"技能",供 AI 代理按需调用。
技能的目录结构
一个技能本质上是一个包含 SKILL.md 文件的文件夹:
my-skill/
├── SKILL.md # 必需:技能说明 + 元数据
├── scripts/ # 可选:可执行脚本
├── references/ # 可选:参考文档
└── assets/ # 可选:模板、资源文件
当用户提出相关需求时,Claude Code 会自动识别并调用对应的技能。
什么是 seekdb?
seekdb 是由 OceanBase 推出的一款 AI 原生搜索数据库 。它在单一引擎中统一了关系型数据、向量、文本、JSON 和 GIS 等多种数据模型,支持混合搜索和数据库内的 AI 工作流。
核心特性
- 嵌入式模式 :零配置,本地开发即开即用
- 服务器模式 :分布式部署,支持海量数据
- 混合搜索 :融合全文检索与向量语义搜索,结果更精准
- AI 函数 :内置向量嵌入、文本生成等 AI 能力
典型应用场景
| 场景 | 说明 |
|---|---|
| RAG 与知识检索 | 为大语言模型引入实时可信的外部知识,提升回答质量 |
| 语义搜索引擎 | 捕捉用户搜索意图,实现跨模态精准检索 |
| 智能体应用 | 为 AI Agent 提供记忆、规划、感知和推理的统一基础 |
| 电商产品搜索 | 结合属性过滤与语义理解,提升商品发现体验 |
快速开始
前置要求
在安装技能之前,请确保已经安装了 Claude Code。如果还未安装,可以通过以下命令安装:
npm install -g @anthropic-ai/claude-code
然后配置你的 API 密钥:
export ANTHROPIC_API_KEY="your-api-key-here"
# 设置 API Base URL(如果使用代理或自定义端点)
export ANTHROPIC_BASE_URL="https://api.anthropic.com"
第一步:安装 Python 依赖
这两个技能需要以下 Python 包:
pip install pyseekdb pandas openpyxl
第三步:安装技能
只需两条命令即可完成安装:
1. 添加 seekdb 市场
在 Claude Code 中运行:
/plugin marketplace add oceanbase/seekdb-ecology-plugins
2. 安装技能
/plugin install seekdb-plugin@seekdb
3. 重启 Claude Code
安装完成后,退出并重新启动 Claude Code 以确保技能正确加载。
技能一:importing-to-seekdb
功能概述
这个技能让 Claude Code 能够:
- 读取和预览 Excel/CSV 文件
- 自动创建向量数据库集合(Collection)
- 对指定文本列进行向量化(使用 all-MiniLM-L6-v2 模型)
- 批量导入数据,支持大文件分批处理
技能二:querying-from-seekdb
功能概述
这个技能支持三种搜索模式:
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 标量搜索 | 仅按元数据字段过滤 | “找所有三星手机” |
| 混合搜索 | 全文 + 语义双重搜索 | “大电池续航好的手机” |
| 组合搜索 | 标量过滤 + 混合搜索 | “价格低于 1 万的高性价比手机” |
工作流
当用户提出搜索需求时,Claude Code 会:
- 先获取集合信息 :了解有哪些字段可以过滤
- 解析自然语言 :区分"元数据条件"和"语义查询"
- 选择搜索模式 :自动构建最优查询
- 展示或导出结果 :支持 CSV/Excel 导出
实战演示:在 Claude Code 中的完整对话
让我们通过一个真实的 Claude Code 会话,展示如何用自然语言完成从数据导入到智能搜索的全流程。在终端运行 claude 命令启动后,即可开始对话:
对话 1:预览样本数据
用户 :查看下 importing-to-seekdb 技能的 csv 样本数据
Claude Code :
这是 sample_products 数据集,包含 9 条手机产品数据,格式为 CSV 和 Excel。
| 列名 | 类型 | 说明 |
|---|---|---|
| Name | 文本 | 手机产品名称 |
| Brand | 文本 | 品牌 (SAMSUNG, REDMI, POCO, I Kall) |
| Selling Price | 数值 | 售价 |
| MRP | 数值 | 标价 |
| Discount | 文本 | 折扣 (如 “20% off”) |
| Ratings | 数值 | 评分 (1-5分) |
| No_of_ratings | 文本 | 评价数量 |
| Details | 数组 | 产品详细规格 (适合做向量化) |
示例数据预览:
| 品牌 | 型号 | 售价 | 评分 | 折扣 |
|---|---|---|---|---|
| SAMSUNG | Galaxy F13 | ₹11,999 | 4.4 | 20% off |
| REDMI | 9i Sport | ₹7,099 | 4.3 | 29% off |
| POCO | C31 | ₹7,499 | 4.3 | 37% off |
| POCO | M4 Pro 128GB | ₹11,999 | 4.3 | 40% off |
| I Kall | Z7 Ultra | ₹5,999 | 3.2 | 4% off |
Details 列包含 RAM/ROM 配置、屏幕尺寸、摄像头配置、电池容量等规格信息,适合作为向量化列进行语义搜索。
对话 2:导入数据到向量数据库
用户 :帮我导入 csv 样本数据到 seekdb,对 Details 列做向量化
Claude Code :
导入成功!
| 项目 | 值 |
|---|---|
| 集合名称 | sample_products |
| 导入记录数 | 9 条 |
| 向量化列 | Details |
| 嵌入函数 | all-MiniLM-L6-v2 (384 维度) |
- Metadata 字段 : MRP, Name, Brand, Ratings, Discount, No_of_ratings, Selling Price
- Document (向量) : Details 列 - 包含产品规格参数
你现在可以使用 querying-from-seekdb skill 来对这个集合进行语义搜索了!
对话 3:语义搜索 + 元数据过滤
用户 :推荐 2 款评分 4.2 以上,有 AMOLED 屏幕的手机
Claude Code :
根据搜索结果,推荐以下 2 款手机:
1. POCO M4 Pro (Power Black 64 GB)
| 项目 | 详情 |
|---|---|
| 评分 | 4.3 |
| 屏幕 | 16.33 cm (6.43 inch) Full HD+ AMOLED |
| 价格 | ₹10,999 (原价 ₹17,999, 38% off) |
| 评价数 | 121,221+ |
| 配置 | 6GB RAM + 64GB ROM, 可扩展至 1TB |
| 摄像头 | 64MP + 8MP + 2MP 后置 |
| 电池 | 5000 mAh |
| 处理器 | Mediatek Helio G96 |
2. POCO M4 Pro (Power Black 128 GB)
| 项目 | 详情 |
|---|---|
| 评分 | 4.3 |
| 屏幕 | 16.33 cm (6.43 inch) Full HD+ AMOLED |
| 价格 | ₹11,999 (原价 ₹19,999, 40% off) |
| 评价数 | 121,221+ |
| 配置 | 6GB RAM + 128GB ROM, 可扩展至 1TB |
| 摄像头 | 64MP + 8MP + 2MP 后置 |
| 电池 | 5000 mAh |
| 处理器 | Mediatek Helio G96 |
两款都是 POCO M4 Pro,区别仅在于存储容量 (64GB vs 128GB)。AMOLED 屏幕色彩鲜艳、对比度高,适合观影和游戏。两款都有 5000mAh 大电池和 6GB RAM,性价比很高!
对话 4:导出搜索结果
用户 :将这 2 款手机的信息导出为 csv 文件
Claude Code :
导出成功!
| 项目 | 详情 |
|---|---|
| 文件路径 | amoled_phones.csv |
| 记录数 | 2 条 |
导出的字段:id, distance, document, MRP, Name, Brand, Ratings, Discount, No_of_ratings, Selling Price
CSV 文件已保存到当前工作目录,可以直接用 Excel 或其他表格软件打开。
使用自己的数据文件
上面的演示使用了技能自带的样本数据。如果你想使用自己的 Excel 或 CSV 文件,操作同样简单:
1. 准备数据文件
确保你的文件格式为 CSV 或 Excel(.xlsx),包含表头行。建议将要进行语义搜索的文本内容放在一个单独的列中(类似于样本数据中的 Details 列)。
2. 导入自己的文件
在 Claude Code 中,直接告诉 AI 你的文件路径和要向量化的列:
用户 :帮我导入 /path/to/my_products.csv ,对 Description 列做向量化
或者:
用户 :导入 ./data/products.xlsx ,向量化 产品描述 列
Claude Code 会自动:
- 读取并预览你的文件结构
- 创建对应的集合(Collection)
- 对指定列进行向量化
- 批量导入所有数据
3. 开始搜索
导入完成后,就可以像使用样本数据一样,用自然语言进行搜索了:
用户 :找出所有价格低于 5000 元、续航好的产品
注意事项 :
- 文件路径可以是绝对路径或相对路径
- 支持 CSV 和 Excel 格式(.xlsx)
- 向量化列应为文本类型,包含描述性内容效果更好
技术亮点
1. 零代码向量化
无需手动调用 Embedding API,导入时指定 --vectorize-column 即可自动完成文本向量化。
2. 混合搜索(Hybrid Search)
同一个 --query-text 参数同时用于:
- 全文搜索 :精确匹配关键词
- 语义搜索 :理解查询意图
两种结果通过 RRF(Reciprocal Rank Fusion)算法融合,兼顾精确性与语义相关性。
3. 灵活的过滤器
支持丰富的操作符:
// 价格区间
{"Selling Price": {"$gte": 8000, "$lte": 12000}}
// 多值匹配
{"Brand": {"$in": ["SAMSUNG", "REDMI", "POCO"]}}
// 复合条件
{"$and": [{"Ratings": {"$gte": 4.3}}, {"Brand": "POCO"}]}
4. 嵌入式与服务器模式无缝切换
开发时使用嵌入式模式,零配置;生产环境设置环境变量即可切换到服务器模式:
export SEEKDB_HOST=your-server.com
export SEEKDB_PORT=2881
export SEEKDB_USER=root
export SEEKDB_PASSWORD=""
export SEEKDB_DATABASE=production
插件管理
验证安装
在 Claude Code 中运行 /plugin 命令,选择 “Installed” 以确认技能已安装。
更新插件
- 运行
/plugin打开插件管理界面 - 使用方向键导航到 “Marketplaces”
- 选择 seekdb 市场
- 按
u更新市场及其插件
故障排除
如果技能无法正常工作:
-
验证插件安装 :运行
/plugin确认技能已安装 - 重启 Claude Code :完全关闭并重新打开 Claude Code 终端会话
-
检查 Python 依赖 :运行
pip list | grep pyseekdb确认依赖已安装