入口を選ぶ
| export | 役割 | 主な呼び出し |
|---|
Schift | Hosted 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")
| モジュール | 公開呼び出し | メモ |
|---|
catalog | list(), get(model_id) | モデルメタデータの参照 |
embed | client.embed(text, model, dimensions=None) と .batch(...) | numpy.ndarray を返す |
routing | get(), set(primary=None, fallback=None, mode=None) | サーバーに保存されるルーティング方針 |
bench | run(source, target, data=None) | API から BenchReport を返す |
db | create_collection, list_collections, get_collection, collection_stats, delete_collection, upsert, upsert_text | ホスト型コレクション操作 |
query | client.query(query, collection=None, db=None, model=None, top_k=10, rerank=False, rerank_top_k=None) | 呼び出し可能モジュール |
rerank | client.rerank(query, documents, top_k=5) | 呼び出し可能モジュール |
usage | get(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 配列とバッチ出力 |
PgVectorAdapter | pip install schift[postgres] | PostgreSQL + pgvector テーブル |
QdrantAdapter | pip 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,
)