Bundata のログイン、組織の AI プロバイダーキー、ワークスペースのモデル選択、埋め込みプロファイル、ベクトル保管、ソースの秘密情報、エージェント認証情報を分けて扱います。
モデルと認証情報
設定 → AI プロバイダー(?tab=api-key)は、組織が所有する OpenAI、Anthropic、Google(Google AI Studio の Gemini API キー)の API キーを保存します。設定 → AI モデル(?tab=ai-models)は、ワークスペース内の各 AI ステップを担当するモデルを設定します。どちらも Bundata のログインではありません。プロバイダーキーやエージェントトークンを Bundata サポートに送ったり、ドキュメントやチケットに貼り付けたりしないでください。
判断表
| 認証情報 | 必要な場面 | 用意する人 | 注意 |
|---|---|---|---|
| Bundata ログイン | サインインが必要なすべての操作 | 管理者が付与したクライアントアカウント | ブラウザは Cookie bundata_session。JWT は明示的な非ブラウザログインだけ |
組織の AI プロバイダーキー(OpenAI、Anthropic、Google) | 文章生成、分析、ルーティング、評価ジャッジ、プロバイダー埋め込み | 設定 → AI プロバイダー でクライアントの owner または admin | 3 つすべてを同時に接続可能。既定プロバイダーは OpenAI または Anthropic |
OpenAI 埋め込み text-embedding-3-large | コレクションのプロファイルが OpenAI(3,072 次元 halfvec)のときの埋め込みとセマンティック検索 | 組織の OpenAI キー(既存の OpenAI インデックス付きコレクションの検索クエリは、設定されていればデプロイメントキーへフォールバック可能) | 入力バリアントは current |
Google 埋め込み gemini-embedding-001 | コレクションのプロファイルが Google(3,072 次元 halfvec)のときの埋め込みとセマンティック検索 | 組織の Google キー | Google キー接続時に選択可能。入力は 2,048 トークン(2,016 UTF-8 バイト)で切り詰められます |
ローカル google/embeddinggemma-300m | そのプロファイルを選んだときの埋め込み(768 次元) | API から到達できる、顧客が運用するサイドカー URL | 入力バリアントは current_text_first_full。選択してもサイドカーは起動しません |
Voyage voyage-context-4 | そのプロファイルを選んだときの埋め込み(1,024 次元) | API 上の運用者設定 Voyage 認証情報(MONGODB_API_KEY) | 設定 → AI プロバイダー には入力しません |
スコープ付きエージェント認証情報(bdk_…) | /api/agent/v1/* およびワークスペース MCP サーバー(/api/agent/v1/mcp)への非ブラウザ呼び出し | 設定 → エージェントアクセス でワークスペースの owner または admin | 作成時に一度だけ表示。作成者の現在のワークスペース権限で動作します |
| ベクトル保管 | 保存済み埋め込みの検索 | 運用者、または別に設定した送信先 | ワークスペースの既定を変えても既存コレクションは再構築されません |
| ソースまたは送信先の秘密情報 | その接続だけ | クライアント管理者。最小権限 | 接続の秘密情報として保存されます。読み取り確認は書き込み権限ではありません |
組織の AI プロバイダー
組織は 設定 → AI プロバイダー で OpenAI、Anthropic、Google のキーを同時に接続できます。
- owner または admin でサインインし、設定 → AI プロバイダー(
/platform/settings?tab=api-key)を開きます。 - OpenAI、Anthropic、または Google のキーを接続します(
PUT /api/account/org/llm/providers/:provider)。 - Bundata は保存前にプロバイダーでキーを検証します。拒否されたキーは
AI_PROVIDER_KEY_REJECTEDとなり、プロバイダーに到達できない場合は何も保存されません(AI_PROVIDER_UNREACHABLE)。 - 各キーは
organization_llm_keysに暗号化(AES-256-GCM)されて保存されます。読み取り時はマスクされたプレースホルダー、キーバージョン、更新日時のみが表示されます。 - 既定プロバイダー: 明示的な選択がないステップでは、OpenAI または Anthropic が Bundata の組み込み既定モデルを提供します(
PUT /api/account/org/llm/default-provider)。2 つ目や 3 つ目のプロバイダーを接続しても、現在の既定プロバイダーは変わりません。 - キーの削除: キーを削除(
DELETE /api/account/org/llm/providers/:provider)する前に、そのキーに依存しているワークスペース選択の件数が警告されます。依存する選択は実行時に拒否(AI_PROVIDER_NOT_CONNECTED)され、無断で別のプロバイダーに置き換えられることはありません。
ワークスペースの AI モデルマップ(設定 → AI モデル)
モデルは具体的なものから順に次の 4 段階で解決されます。
- 項目ごとの選択: コレクション検索ポリシー、抽出エージェントやディスカバリー実行、評価スタジオの実行(
judgeModel、answeringModel)、またはワークフロー AI ノードでの指定。 - ワークスペースの選択: ワークスペース管理者が 設定 → AI モデル(
/platform/settings?tab=ai-models、PUT /api/w/:wsId/ai-models/choices/:step)で行った指定。 - 組織の既定プロバイダー: 組織の既定プロバイダー上の Bundata ルーティングポリシー。
- デプロイ設定: 運用者の環境変数、Amazon Bedrock、GPU 推論プレーン、または顧客管理インストール(
MODELS_MANAGED_BY_INSTALLATION)。
すべてのモデル選択は そのまま実行されるか拒否されるかのどちらかであり、別のモデルへ勝手に差し替えられることはありません。選択したモデルのプロバイダーが未接続、またはデータポリシーで未承認の場合、呼び出しは構造化コード(MODEL_NOT_IN_CATALOG、AI_PROVIDER_NOT_CONNECTED、MODEL_NOT_APPROVED、MODEL_CHOICE_UNAVAILABLE)で失敗します。
- Google のみを接続した組織: Google は既定プロバイダーにできないため、Google キーのみを持つ組織では Gemini で埋める(
POST /api/w/:wsId/ai-models/fill-gemini)を使って、高速ステップにgemini-3.5-flash-lite、標準ステップにgemini-3.8-flashを一括設定できます。 - Google と Amazon Bedrock の切り替え: Amazon Bedrock が有効なデプロイでは、ワークスペース選択がないチャットステップの既定を Bedrock が担当するか、管理者がチャットバックエンド(
chatBackend)を Amazon Bedrock と Google などの接続済み API プロバイダーの間で切り替えられます。設定 → AI モデル で行ったワークスペース選択は指定されたプロバイダーで実行されます。抽出エージェントやディスカバリーの項目別モデル選択は、Bedrock がチャットを担当する場合は勝手に Bedrock へ移されず拒否されます(MODEL_CHOICE_BEDROCK、bedrock_serves_chat)。
埋め込みプロファイル
設定 → 埋め込み設定(/platform/settings?tab=embedding)では、最大 4 つのワークスペース埋め込みプロファイルを選択できます。
| プロファイル | 次元 | 前提 |
|---|---|---|
OpenAI text-embedding-3-large | 3,072(halfvec) | 組織の OpenAI キー(既存の OpenAI インデックス付きコレクションに対する検索クエリは、組織キーがない場合にデプロイメントの OpenAI キーを使用可能) |
Google gemini-embedding-001 | 3,072(halfvec) | 組織の Google キー。インデックスには RETRIEVAL_DOCUMENT、検索には RETRIEVAL_QUERY を使用。入力は 2,016 UTF-8 バイト(2,048 トークン)に切り詰められます |
ローカル google/embeddinggemma-300m | 768(vector) | ワークスペース設定と一緒に保存する、到達可能なサイドカーのベース URL(http または https) |
MongoDB Voyage voyage-context-4 | 1,024(vector) | API 上の運用者設定 Voyage 認証情報(MONGODB_API_KEY) |
コレクションは作成時の埋め込みプロファイルに固定されます。ワークスペースの既定を変更しても新しいコレクションにのみ適用され、既存コレクションには明示的な再インデックスが必要です。ワークフローの Vector Index Update と Search Collection Sync ノードでも、openai、local_embeddinggemma、mongodb_voyage に加えて google(gemini-embedding-001、3,072 次元)を指定できます。
外部ベクトル送信先(Qdrant、Pinecone、Weaviate)への関連付けは、そのターゲットが既に使っているモデルを証言として記録します(targetAlreadyUsesModel: true)。これは稼働確認ではなく証言です。
スコープ付きエージェント認証情報(設定 → エージェントアクセス)
ワークスペースの owner と admin は、設定 → エージェントアクセス(/platform/settings?tab=agent-access)で エージェントコンテキスト API および ワークスペース MCP サーバー 用の非ブラウザトークン(bdk_<16 hex>_<43 base64url>)を作成できます。
- スコープは
context:read、queries:run、replay:run、gaps:report、memory:read、memory:writeです。 - 各認証情報は 1〜365 日で失効し、作成者によるローテーションや任意の admin による失効が可能で、最大 10 個の有効な コンテキストセット にバインドできます。
- エージェント認証情報は非保持ワークスペースでは拒否され、ブラウザオリジンからは使用できません(
AGENT_BROWSER_REQUEST_REFUSED)。
チケットに入れないもの
送るのはワークスペース ID、コレクション ID、リクエストまたは実行 ID、エラーコードです。プロバイダーキー、エージェントの bdk_… トークン、接続パスワード、文書本文、セッション Cookie は送りません。