Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

名前空間の公開エンドポイント

最終更新 Markdown で表示Agent セットアップ

名前空間 は、独自の公開エンドポイントを公開できます。1 つの URL で、その名前空間内の複数インスタンスを横断して検索し、結果をマージします。ドキュメント、ブログ、サポートポータルなど、複数インスタンスに分かれたコンテンツを 1 つの検索体験で扱う場合に使います。

名前空間エンドポイントは、インスタンスエンドポイントと同じパスを提供し、同じ設定を受け付けます。カスタムドメインCloudflare Access も含みます。公開エンドポイントの設定 を参照してください。このページでは、名前空間固有の内容を扱います。

名前空間の公開エンドポイントを有効にする

名前空間に public_endpoint_params を設定し、公開するインスタンスを instances_allowed に列挙します。

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/<NAMESPACE>" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "public_endpoint_params": {
      "enabled": true,
      "instances_allowed": ["docs", "blog", "support"]
    }
  }'

レスポンスは生成された public_endpoint_id を返します。名前空間のホスト名には ns- プレフィックスが付きます。

https://ns-<NAMESPACE_ENDPOINT_ID>.search.ai.cloudflare.com/search

名前空間エンドポイントを有効にしても、内包するインスタンスエンドポイントは変わりません。それぞれを個別に有効・無効にします。

インスタンスの許可リスト

instances_allowed は、エンドポイントが到達できるインスタンスを制御します。

  • 各エントリは、その名前空間に存在するインスタンスである必要があります。不明なエントリはエラー 7097 を返します。
  • リストには最大 10 インスタンスまで入ります。
  • 空リストは、検索対象がないことを意味します。エンドポイントを初めて有効にしたときの初期状態です。
  • インスタンスを削除するか、別の名前空間へ移すと、許可リストから外れます。

検索可能なインスタンスに解決できないリクエストは、エラー 60013404 を返します。この応答は、インスタンスが存在しない、許可リスト外、許可リストが空、のいずれでも同じです。呼び出し側は、名前空間にどのインスタンスがあるかを発見できません。

一部のインスタンスだけを検索する

デフォルトでは、リクエストは許可リスト内の全インスタンスを検索します。1 リクエストの範囲を狭めるには、リクエスト本文で ai_search_options.instance_ids を設定します。

curl https://ns-<NAMESPACE_ENDPOINT_ID>.search.ai.cloudflare.com/search \
  --header "Content-Type: application/json" \
  --data '{
    "messages": [
      {
        "content": "How do I configure AI Search?",
        "role": "user"
      }
    ],
    "ai_search_options": {
      "instance_ids": ["docs", "support"]
    }
  }'

各値は許可リストに含まれている必要があります。このフィールドの規則は次のとおりです。

  • フィールドを省略するか null にすると、許可リスト全体を検索します。
  • 空配列や文字列以外のエントリなど、不正な値はエラー 60012400 を返します。
  • 許可リスト外の値は、エラー 60013404 を返します。

名前空間の公開エンドポイントを無効にする

public_endpoint_paramsnull にします。設定は消え、トラフィックの配信は止まりますが、識別子は残るため、再度有効にすると同じ URL を再利用できます。

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/<NAMESPACE>" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "public_endpoint_params": null
  }'

エラー

コード メッセージ HTTP ステータス 原因
7097 instances_allowed_contains_unknown_instances 400 instances_allowed のエントリが、この名前空間のインスタンスではありません。
7099 namespace_modified_concurrently_please_retry 409 同時に別の更新が名前空間を変更しました。再試行してください。
60012 invalid ai_search_options.instance_ids 400 instance_ids の値が不正です。
60013 ai_search_not_found 404 リクエストに一致する検索可能なインスタンスがありません。
60014 path not supported for namespace-kind hash 404 パスが /search/chat/completions/mcp のいずれかではありません。
60015 request body must be a JSON object 400 リクエスト本文が JSON オブジェクトではありません。

次のステップ

名前空間

インスタンスを名前空間にまとめ、Workers binding から管理します。

カスタムドメイン

所有するホスト名から、名前空間の公開エンドポイントを配信します。

役に立ちましたか?