Claude Code + seekdb:用自然语言操控向量数据库

背景

在 AI 应用开发中,向量数据库已成为构建 RAG(检索增强生成)、语义搜索、推荐系统等场景的核心基础设施。然而,传统的向量数据库操作往往需要编写复杂的代码——从数据预处理、向量化、批量导入,到构建查询语句,每一步都需要开发者深入理解 API 细节。

现在借助 Claude CodeAgent Skills,有了更简单的使用方式,可以直接用自然语言与 AI 对话,比如"把这个产品表格导入数据库,并帮我找出所有评分 4.3 以上、有 AMOLED 屏幕的手机"。
我们开发了两个 Agent Skills:importing-to-seekdbquerying-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 会:

  1. 先获取集合信息 :了解有哪些字段可以过滤
  2. 解析自然语言 :区分"元数据条件"和"语义查询"
  3. 选择搜索模式 :自动构建最优查询
  4. 展示或导出结果 :支持 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” 以确认技能已安装。

更新插件

  1. 运行 /plugin 打开插件管理界面
  2. 使用方向键导航到 “Marketplaces”
  3. 选择 seekdb 市场
  4. u 更新市场及其插件

故障排除

如果技能无法正常工作:

  1. 验证插件安装 :运行 /plugin 确认技能已安装
  2. 重启 Claude Code :完全关闭并重新打开 Claude Code 终端会话
  3. 检查 Python 依赖 :运行 pip list | grep pyseekdb 确认依赖已安装