关于 importing-to-seekdb
importing-to-seekdb 是将 CSV 和 Excel 文件导入 seekdb 的技能,面向需要把表格数据用于向量检索的场景。它提供文件预览、可选列向量化、批量导入及集合删除功能。
主要功能
- 01导入 CSV 与 Excel 文件
- 02预览工作表和数据内容
- 03选择列进行向量化
- 04批量导入并验证记录
- 05删除向量集合
适用场景
- 01将产品表格导入 seekdb
- 02导入前检查 Excel 工作表与数据
- 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.csvsample_products.xlsxscripts/import_to_seekdb.pyread_excel.py详细介绍
将数据文件导入 seekdb
将 CSV 或 Excel 文件读取、预览并导入 seekdb 向量数据库,还可选择对列进行向量化以支持语义搜索。另提供集合删除功能。
路径约定
注意:本文档中的所有路径(例如
scripts/、example-data/)均相对于此技能目录,而非项目根目录。
前置条件
- 已安装 Python 3.10+
- 所需软件包:
pip install pyseekdb pandas openpyxl
示例数据
example-data/ 目录中提供了以下示例数据文件:
| 文件 | 描述 |
|---|---|
sample_products.csv | CSV 格式的示例产品数据 |
sample_products.xlsx | Excel 格式的示例产品数据 |
快速开始
使用提供的 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 脚本会自动处理以下步骤:
- 读取数据文件 - 支持 CSV(.csv)和 Excel(.xlsx、.xls)格式
- 连接 seekdb - 服务模式下使用环境变量,默认使用嵌入式模式
- 创建集合 - 可选择使用默认嵌入函数进行向量化(all-MiniLM-L6-v2,384 维)
- 导入数据 - 按批处理,可配置批次大小
- 验证 - 导入后显示记录数和数据预览
用户交互指南
读取 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
这有助于用户:
- 了解文件结构(工作表、列、行数)
- 确定要向量化的列
- 导入前检查数据质量
导入数据
当用户请求导入数据时,请询问:
- 文件路径:“请提供 CSV 或 Excel 文件的路径。”
- 如果用户需要示例数据,请使用
example-data/目录中的文件 - 建议先使用
read_excel.py预览文件
- 如果用户需要示例数据,请使用
- 向量化:“是否要通过向量化某一列来启用向量搜索?(是/否)”
- 选择列(如果是):“要向量化哪一列?(例如,‘Details’、‘Description’)”
- 集合名称:“集合名称是什么?(默认:根据文件名生成)”
- 连接模式:“嵌入式(本地)模式还是服务模式?”
集合管理
- 列出集合:使用
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