公共バケット
公共バケットとは?
Section titled “公共バケットとは?”公共バケットは、Schiftによって管理されるグローバルに共有された読み取り専用インデックスです。これには、すべてのSchiftユーザーが即座に検索できる事前インデックス済みの公共データが含まれており、ドキュメントのアップロードは不要です。
Your Agent -> RAG({ bucket: "public--korean-law" }) -> hosted API -> pre-indexed law data利用可能な公共バケット
Section titled “利用可能な公共バケット”| バケットID | ソース | カバレッジ |
|---|---|---|
public--korean-law | korean-law-mcp | 韓国の法律、判例、行政規則 |
公共バケットは通常のバケットと同様に機能します。公共バケットIDを使用するだけです:
import { WorkspaceClient, RAG, Agent } from "@schift-io/sdk";
const client = new WorkspaceClient({ apiKey: "sch_..." });const rag = new RAG( { bucket: "public--korean-law", topK: 5 }, client.transport,);
// 直接検索const results = await rag.search("근로기준법 출산휴가");
// またはエージェントと一緒に使用const agent = new Agent({ name: "Legal Assistant", instructions: "韓国の法律に関する質問に答えます。特定の条文番号を引用してください。", model: "gpt-4o-mini", transport: client.transport, rag,});
const answer = await agent.run("출산휴가 기간이 어떻게 되나요?");公共バケットは遅延インデックスを使用します。法律を検索すると:
- Schiftがその法律がすでにインデックスされているか確認します
- もしインデックスされていれば:即時ベクトル検索(300マイクロ秒未満)
- もしインデックスされていなければ:ソースから取得し、埋め込み、インデックスを作成し、結果を返します
- 同じ法律の次の検索:即時キャッシュヒット
主要な法律(30以上)は事前にウォームアップされています。あまり一般的でない法律は初回アクセス時にインデックスされます。
| 項目 | 支払い主体 |
|---|---|
| 検索 | あなた(検索軸) |
| インデックス作成とストレージ | Schift(無料) |
| LLM(ホスティングルーティングを使用する場合) | あなた(LLM軸) |
| LLM(BYOK) | あなた(プロバイダーに直接) |
検索と実行に対してのみ料金が発生します。Schiftは公共バケットのインデックス作成とストレージコストを全て負担します。
クイックスタート:CLIからの検索
Section titled “クイックスタート:CLIからの検索”アプリを接続する前に公共バケットを確認するために、標準のPython CLIを使用します:
python3 -m pip install schift-cliexport SCHIFT_API_KEY=sch_...export SCHIFT_API_URL=https://api.example.com/v1schift search "근로기준법 출산휴가" --bucket public--korean-law --top-k 5その後、エージェントに同じバケットを埋め込む準備ができたら、上記のSDKの例を使用します。
公共バケットのリスト
Section titled “公共バケットのリスト”curl "$API_BASE_URL/v1/public-buckets" \ -H "Authorization: Bearer sch_..."[ { "id": "public--korean-law", "source": "korean-law-mcp", "status": "ready" }]プライベートデータとの組み合わせ
Section titled “プライベートデータとの組み合わせ”公共バケットとプライベートバケットを組み合わせてクロスリファレンスを行います:
const lawDocs = new RAG({ bucket: "public--korean-law" }, client.transport);const companyDocs = new RAG({ bucket: "my-company-policies" }, client.transport);
const agent = new Agent({ tools: [ lawDocs.asTool("search_korean_law"), companyDocs.asTool("search_company_policies"), ], instructions: "会社のポリシーを韓国の法律と比較します。矛盾があればフラグを立てます。", ...});