importing-to-seekdb について
importing-to-seekdbは、CSVやExcelファイルをseekdbに取り込むスキルです。表形式データをベクトル検索に使う手順にも対応し、ファイルのプレビュー、列のベクトル化、バッチインポート、コレクション削除を行えます。
主な機能
- 01CSVと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