import { DataClient } from "@schift-io/sdk";
const apiKey = process.env.SCHIFT_API_KEY!;
const data = new DataClient({ apiKey });
// 書き込み: 届いた行はすぐ読め、裏でParquetに整理されます
await data.put("custom/app-events", [
{ user_id: "u_42", event: "checkout", latency_ms: 184 },
]);
// 読み取り: フィルタと範囲条件ですぐ読みます
const rows = await data.search("custom/app-events", {
where: { event: "checkout", latency_ms: { gte: 150 } },
});import { VectorClient } from "@schift-io/sdk";
const apiKey = process.env.SCHIFT_API_KEY!;
const vectors = new VectorClient({ apiKey });
const model = "your-embedding-model"; // embedding: number[] from that model
// 登録: ベクトル空間ごとに次元とモデルを検査します
await vectors.upsert("custom/support-docs", [
{ id: "refund-policy", text: "Refunds within 14 days", vectors: { text: embedding } },
], { models: { text: model } });
// 検索: 近いレコードとスコアが返ります
const { hits } = await vectors.search("custom/support-docs", {
queryVector: queryEmbedding,
topK: 5,
});import { readFile } from "node:fs/promises";
import { StructifyClient } from "@schift-io/sdk/structify";
const docs = new StructifyClient({ gatewayUrl: "https://gw.schift.io" });
// PDFとスキーマを送ると
const result = await docs.structify({
file: await readFile("invoice.pdf"),
schema: {
type: "object",
properties: { vendor: { type: "string" }, total: { type: "number" } },
},
});
// 各フィールドに値、信頼度、根拠ブロックが付きますimport { ObserverClient } from "@schift-io/context";
const observer = new ObserverClient(); // SCHIFT_OBSERVER_API_KEY
const run = observer.startRun({
agentId: "support-agent", sessionId, model: "gpt-4.1-mini", provider: "openai",
});
// エージェントが選んだコンテキストとモデルのターンを記録します
run.recordSelection(true, { srn: "srn:document:refund-policy" });
run.record("model_turn", { tokenUsage: 2210, latencyMs: 930 });
// セッションのタイムラインがコンソールに貯まります
run.endRun({ status: "completed" });
await observer.close();プロダクトはあなたが、その下はSchiftが
面倒なことはSchiftが引き受けます。
あなたが作るもの
- 顧客が使う画面
- プロダクトのロジックとプロンプト
- 顧客のフィードバックと次の機能
Schiftが運用するもの
- 文書を読んでうまく分割する
- 埋め込みと検索インデックス
- 貯まるログの整理と保管
- エージェント記録の保存
- サーバーのスケールとバックアップ
- 使った分だけ計算して請求
実測値
条件と日付は各ページにあります。
49.6 ms
Vectors 検索 p50、17万レコード
2026-09-24 UTC、ノートPC 1台とローカル MinIO で測定788 = 788
Context Management の記録トークン = 提供元のトークン
2026-09-22、LangGraph と OpenRouter の実呼び出し
利用範囲を確認し、製品ごとに使った分だけ
製品別の料金を見る01 デモ
用途と提供できる範囲を確認
02 従量課金
使った製品だけ請求
03 月額契約
契約すれば単価が下がる
よくある質問
どのように試せますか?
デモを申し込むと、用途と提供範囲を確認します。利用案内後に製品ごとの無料枠と従量料金が適用されます。
課金はどのような方式ですか?
製品ごとに、使った分だけ支払います。利用量が落ち着いたら製品ごとの月額契約で単価を下げ、超過分は同じ単価で続きます。
費用はどこで確認できますか?
利用量APIで製品別、メーター別の利用量を直接照会できます。料金ページの単価を掛ければ請求額になります。
用意するインフラはありますか?
APIキー一つで始められます。サーバー、ストレージ、スケール、バックアップ、利用量の計量はSchiftが運用します。
どの言語で使えますか?
TypeScriptはnpmの@schift-io/sdk、PythonはPyPIのschiftパッケージを使います。同じ機能をREST APIでも呼び出せます。
貯めたデータはどの形式で残りますか?
Warehouse Logsの行はParquetに整理され、同じAPIでフィルタと集計をかけていつでも読み出せます。
Agentが何を根拠に答えたか確認できますか?
Observe SDKをAgentのループに付けると、コンテキストの候補、選択、除外、モデルのターン、ツールの結果がセッションのタイムラインに記録されます。