mcpField
I
importing-to-seekdb

importing-to-seekdb

github.com/oceanbase数据与数据库9323 次安装30 周前更新
代码仓库

关于 importing-to-seekdb

importing-to-seekdb 是将 CSV 和 Excel 文件导入 seekdb 的技能,面向需要把表格数据用于向量检索的场景。它提供文件预览、可选列向量化、批量导入及集合删除功能。

主要功能

  1. 01导入 CSV 与 Excel 文件
  2. 02预览工作表和数据内容
  3. 03选择列进行向量化
  4. 04批量导入并验证记录
  5. 05删除向量集合

适用场景

  1. 01将产品表格导入 seekdb
  2. 02导入前检查 Excel 工作表与数据
  3. 03为文本列启用语义检索

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oceanbase/seekdb-ecology-plugins --skill importing-to-seekdb

安装后在 Claude Code 中输入/importing-to-seekdb确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

example-data/
sample_products.csv
sample_products.xlsx
scripts/
import_to_seekdb.py
read_excel.py

详细介绍

将数据文件导入 seekdb

将 CSV 或 Excel 文件读取、预览并导入 seekdb 向量数据库,还可选择对列进行向量化以支持语义搜索。另提供集合删除功能。

路径约定

注意:本文档中的所有路径(例如 scripts/、example-data/)均相对于此技能目录,而非项目根目录。

前置条件

  • 已安装 Python 3.10+
  • 所需软件包:
pip install pyseekdb pandas openpyxl

示例数据

example-data/ 目录中提供了以下示例数据文件:

文件描述
sample_products.csvCSV 格式的示例产品数据
sample_products.xlsxExcel 格式的示例产品数据

快速开始

使用提供的 scripts/import_to_seekdb.py 脚本:

# Import with vectorization on Details column
python scripts/import_to_seekdb.py import example-data/sample_products.csv --vectorize-column Details

# Import without vectorization
python scripts/import_to_seekdb.py import example-data/sample_products.csv

# Import Excel with custom collection name
python scripts/import_to_seekdb.py import example-data/sample_products.xlsx -v Description -c my_products

# Delete a collection
python scripts/import_to_seekdb.py delete my_collection

注意:如需列出所有集合,请使用 querying-from-seekdb 技能中的 query_from_seekdb.py list。

脚本

此技能在 scripts/ 目录中提供以下脚本:

脚本描述
import_to_seekdb.py用于导入数据和管理集合的 CLI 主脚本
read_excel.py读取并预览 Excel 文件,提供详细信息
可用命令
import_to_seekdb.py
命令描述
import <file>将 CSV/Excel 文件导入 seekdb,可选择进行向量化
delete <name>从 seekdb 删除集合
read_excel.py

导入前读取并预览 Excel 文件:

# Basic preview (show file info and first 5 rows)
python scripts/read_excel.py example-data/sample_products.xlsx

# List all sheets
python scripts/read_excel.py example-data/sample_products.xlsx --list-sheets

# Preview specific sheet with more rows
python scripts/read_excel.py data.xlsx --sheet "Sheet2" --rows 20

# Show column information and statistics
python scripts/read_excel.py example-data/sample_products.xlsx --columns --stats

# Export to CSV
python scripts/read_excel.py example-data/sample_products.xlsx --to-csv output.csv
选项描述
--sheet, -s要读取的工作表名称(默认:第一个工作表)
--rows, -r预览的行数(默认:5)
--list-sheets, -l列出所有工作表后退出
--columns, -c显示详细的列信息
--stats显示数值列的统计信息
--to-csv将工作表导出为 CSV 文件
--all-rows, -a显示所有行

工作流

import_to_seekdb.py 脚本会自动处理以下步骤:

  1. 读取数据文件 - 支持 CSV(.csv)和 Excel(.xlsx、.xls)格式
  2. 连接 seekdb - 服务模式下使用环境变量,默认使用嵌入式模式
  3. 创建集合 - 可选择使用默认嵌入函数进行向量化(all-MiniLM-L6-v2,384 维)
  4. 导入数据 - 按批处理,可配置批次大小
  5. 验证 - 导入后显示记录数和数据预览

用户交互指南

读取 Excel 文件

当用户想在导入前预览或检查 Excel 文件时:

# Preview file structure and data
python scripts/read_excel.py <file_path>

# With column details and statistics
python scripts/read_excel.py <file_path> --columns --stats

这有助于用户:

  • 了解文件结构(工作表、列、行数)
  • 确定要向量化的列
  • 导入前检查数据质量
导入数据

当用户请求导入数据时,请询问:

  1. 文件路径:“请提供 CSV 或 Excel 文件的路径。”
    • 如果用户需要示例数据,请使用 example-data/ 目录中的文件
    • 建议先使用 read_excel.py 预览文件
  2. 向量化:“是否要通过向量化某一列来启用向量搜索?(是/否)”
  3. 选择列(如果是):“要向量化哪一列?(例如,‘Details’、‘Description’)”
  4. 集合名称:“集合名称是什么?(默认:根据文件名生成)”
  5. 连接模式:“嵌入式(本地)模式还是服务模式?”
集合管理
  • 列出集合:使用 querying-from-seekdb 技能中的 query_from_seekdb.py list
  • 删除集合:运行 python scripts/import_to_seekdb.py delete <collection_name>

嵌入函数

通过 --vectorize-column 启用向量化时,脚本会使用默认嵌入函数(all-MiniLM-L6-v2,384 维)。

处理大型文件

对于行数超过 10,000 的文件,import_to_seekdb.py 脚本会自动使用批处理。你可以配置批次大小:

python scripts/import_to_seekdb.py import large_file.csv -v Details --batch-size 500

参考资料

评论

支持 Markdown