CLI リファレンス
Schift CLI は、ファイルのアップロード、バケットの検索、埋め込みベンチマークの実行、使用状況の確認など、ワークスペース操作のためのターミナルファーストインターフェースを提供します。
schift 実行可能ファイル名を共有するパッケージは2つあります:
| パッケージ | サーフェス | 用途 |
|---|---|---|
schift-cli (Python) | 標準、メンテナンス中 | バケット、アップロード、検索、カタログ、エンベディング、ジョブ、使用状況、ベンチマーク、移行 |
@schift-io/cli (npm) | 互換性専用 | レガシーデプロイ、プロバイダー、エージェント、AWP、およびメモリワークフロー |
注意: 新しいターミナルワークフローは Python の
schift-cliを使用するべきです。npm CLI は、upload、search、catalog、migrateなどの標準データコマンドを Python CLI にリダイレクトします。
インストール
Section titled “インストール”Python CLI (標準)
Section titled “Python CLI (標準)”python3 -m pip install schift-cliリポジトリからのローカル開発用:
cd clients/sdk/clipython3 -m pip install -e '.[dev]'このパッケージは、pyproject.toml コンソールエントリポイントを通じて schift 実行可能ファイルをインストールします。
npm CLI (互換性)
Section titled “npm CLI (互換性)”npm install -g @schift-io/cliこれは、schift deploy、schift providers、または schift agent などの古い TypeScript 専用コマンドサーフェスが必要な場合のみ使用してください。
インタラクティブに、または環境変数を通じて認証します。
# インタラクティブログイン — API キーを ~/.schift/config.json に保存しますschift auth login
# 現在の認証ソースを確認しますschift auth status
# 保存されたキーを削除しますschift auth logoutCLI は次の順序で資格情報を解決します:
SCHIFT_API_KEY環境変数~/.schift/config.json
両方が存在する場合、環境変数が優先されます。設定ファイルは 0600 の権限で書き込まれます。
API ベース URL は SCHIFT_API_URL から解決されます。この変数が欠けている場合、CLI はプロダクションのオリジンを仮定しないため、ローカル、ステージング、またはホストされたワークスペース用に明示的に設定してください。
export SCHIFT_API_KEY=sch_your_key_hereexport SCHIFT_API_URL=http://localhost:8080/v1コマンドグループ
Section titled “コマンドグループ”標準 Python コマンド
Section titled “標準 Python コマンド”| コマンド | 用途 |
|---|---|
schift auth ... | ローカル認証状態を管理します |
schift catalog ... | サポートされている埋め込みモデルをブラウズします |
schift embed ... | テキストから埋め込みを生成します |
schift bench ... | 2つのモデル間の移行品質を評価します |
schift migrate ... | プロジェクションをフィットさせ、見積もり/開始/ステータスデータベース移行を実行します |
schift db ... | バケットを作成、リスト、検査します |
schift upload ... | バケットにファイルをアップロードします |
schift jobs ... | 取り込みジョブを検査、再処理、キャンセルします |
schift search ... | バケット検索を実行します |
schift query ... | search の互換性エイリアス |
schift usage ... | 集計された使用状況と請求の概要を表示します |
互換性 npm コマンド
Section titled “互換性 npm コマンド”| コマンド | 用途 |
|---|---|
schift auth login|logout|status | 認証または保存された資格情報をクリアします |
schift deploy | レガシー展開互換性(データをアップロードし、バケットを作成) |
schift agent call | デプロイされたエージェントクエリエンドポイントを呼び出します |
schift awp publish-pack | 第一者 AWP YAML パックを公開します |
schift providers set | 組織レベルの LLM プロバイダーアクセスを構成します |
schift remember, ask, ingest | レガシー メモリワークフロー |
バケットのアップロードと検索
Section titled “バケットのアップロードと検索”schift auth loginschift upload ./handbook.pdf --bucket company-docsschift jobs list --bucket company-docsschift search "revenue report" --bucket company-docs --top-k 5モデルのブラウズとテキストの埋め込み
Section titled “モデルのブラウズとテキストの埋め込み”schift catalog listschift catalog get openai/text-embedding-3-largeschift embed "quarterly revenue report" --model openai/text-embedding-3-largeバッチ埋め込み
Section titled “バッチ埋め込み”schift embed batch \ --file ./texts.jsonl \ --model google/gemini-embedding-004 \ --output ./embeddings.jsonl入力フォーマット:
{"text":"First document"}{"text":"Second document"}出力フォーマット:
{"text":"First document","embedding":[0.123,0.456]}{"text":"Second document","embedding":[0.789,0.012]}移行のベンチマーク
Section titled “移行のベンチマーク”schift bench \ --source openai/text-embedding-3-large \ --target google/gemini-embedding-004 \ --bucket-source ./bucket-source.npy \ --bucket-target ./bucket-target.npy \ --query-source ./query-source.npy \ --query-target ./query-target.npy \ --bucket-document-id doc_1 \ --bucket-document-id doc_2 \ --top-k 10ライブ移行の前に安全ゲートとして bench を使用します。リコールが低い場合は展開をブロックします。
プロジェクションをフィットさせてデータベースを移行
Section titled “プロジェクションをフィットさせてデータベースを移行”schift migrate fit \ --source openai/text-embedding-3-large \ --target google/gemini-embedding-004 \ --source-embeddings ./source.npy \ --target-embeddings ./target.npy \ --project-name docs-migration
schift migrate quote --from 'pgvector://user:password@localhost:5432/app?table=docs'
schift migrate start \ --from 'pgvector://user:password@localhost:5432/app?table=docs' \ --to schift://bucket_abc123注意:
migrate runは廃止されました。公開 API はもはや/migrate/runを公開していません。代わりにmigrate quote、migrate start、migrate statusを使用してください。
| 変数 | 用途 |
|---|---|
SCHIFT_API_KEY | 認証用の API キー。~/.schift/config.json よりも優先されます。 |
SCHIFT_API_URL | Schift API のベース URL、例えば http://localhost:8080/v1。 |
エラーハンドリングと終了動作
Section titled “エラーハンドリングと終了動作”- 認証失敗は、
schift auth loginを実行するように指示する直接的なアクションメッセージを表示します。 - 接続失敗は、解決された API URL を示し、
SCHIFT_API_URLを確認するように提案します。 - API エラーは非ゼロで終了し、利用可能な場合はサーバー提供の詳細テキストを表示します。
- 空の結果セットは通常の出力として処理され、クラッシュは発生しません。