mcpField
I
importing-to-seekdb

importing-to-seekdb

github.com/oceanbaseデータ・データベース9323 回インストール30 週間前に更新
リポジトリ

importing-to-seekdb について

importing-to-seekdbは、CSVやExcelファイルをseekdbに取り込むスキルです。表形式データをベクトル検索に使う手順にも対応し、ファイルのプレビュー、列のベクトル化、バッチインポート、コレクション削除を行えます。

主な機能

  1. 01CSVと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

参考資料

コメント