ドキュメント

SDK リファレンス

Python パッケージは Hosted API クライアントと projection 中心のワークフローを両方エクスポートします。まずどちらが必要かを区別することが重要です。

入口を選ぶ

export役割主な呼び出し
SchiftHosted API クライアントcatalog, embed, routing, bench, db, query, rerank, usage
Clientレガシー projection クライアントfit(), bench(), list_projections(), get_projection()
Projection完全ローカル変換オブジェクトtransform(), save(), load()
migrate() / client.migrate.run()アダプタベースの書き換え一方のストアから読み、もう一方へ projection 結果を書き込む

Hosted API モジュール

pythonfrom schift import Schift

client = Schift()

client.routing.set(
    primary="openai/text-embedding-3-small",
    fallback="google/gemini-embedding-001",
    mode="failover",
)

documents = [
    {"id": "doc-1", "text": "四半期売上レポート"},
    {"id": "doc-2", "text": "取締役会メモ"},
]

client.db.create_collection("finance-docs", dimension=3072)
client.db.upsert_text("finance-docs", documents, model="openai/text-embedding-3-large")
results = client.query("取締役会メモ", collection="finance-docs", rerank=True)
usage = client.usage.get(period="30d", granularity="day")
モジュール公開呼び出しメモ
cataloglist(), get(model_id)モデルメタデータの参照
embedclient.embed(text, model, dimensions=None).batch(...)numpy.ndarray を返す
routingget(), set(primary=None, fallback=None, mode=None)サーバーに保存されるルーティング方針
benchrun(source, target, data=None)API から BenchReport を返す
dbcreate_collection, list_collections, get_collection, collection_stats, delete_collection, upsert, upsert_textホスト型コレクション操作
queryclient.query(query, collection=None, db=None, model=None, top_k=10, rerank=False, rerank_top_k=None)呼び出し可能モジュール
rerankclient.rerank(query, documents, top_k=5)呼び出し可能モジュール
usageget(period="30d", granularity=None)集計済みアカウント利用量

projection 中心のワークフロー

pythonimport numpy as np
from schift import Client

legacy = Client(api_key="sch_your_key_here")

projection = legacy.fit(
    source=np.load("sample-old.npy"),
    target=np.load("sample-new.npy"),
    source_model="openai/text-embedding-3-small",
    target_model="google/gemini-embedding-001",
)

converted = projection.transform(np.load("all-old.npy"))
projection.save("./projection-openai-to-gemini")

アダプタとストア間移行

アダプタインストール用途
NpyAdapter標準同梱オフラインの .npy 配列とバッチ出力
PgVectorAdapterpip install schift[postgres]PostgreSQL + pgvector テーブル
QdrantAdapterpip install schift[qdrant]Qdrant コレクション
pythonfrom schift import migrate
from schift.adapters.pgvector import PgVectorAdapter
from schift.adapters.qdrant import QdrantAdapter

result = migrate(
    source=PgVectorAdapter(
        conninfo="postgresql://user:pass@localhost/app",
        table="documents",
    ),
    sink=QdrantAdapter(
        url="http://localhost:6333",
        collection="documents-v2",
    ),
    projection=projection,
    dry_run=True,
)