Skip to content

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

REST API の移行

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

AutoRAG API エンドポイント は、AI Search のレガシー REST API です。引き続き動作しますが、新しい機能と改善は新しい AI Search API エンドポイント でのみ利用できます。

エンドポイントの変更

/autorag/rags/ 配下のレガシー AutoRAG API エンドポイントは、/ai-search/namespaces/{namespace}/instances/ 配下の新しいエンドポイントに置き換わりました。

説明 新しいエンドポイント リファレンス
Chat completions /ai-search/namespaces/{namespace}/instances/{id}/chat/completions API リファレンス
Search /ai-search/namespaces/{namespace}/instances/{id}/search API リファレンス

新しい API には、レガシー API にない インスタンス管理アイテム名前空間レベルの検索 のエンドポイントもあります。レガシーエンドポイントについては AutoRAG API リファレンス を参照してください。

API トークンの権限

レガシー AutoRAG エンドポイントは AutoRAG API トークン権限を使っていました。新しい AI Search エンドポイントは AI Search 権限が必要なので、API 呼び出しに使うトークンの権限を更新します。アカウント API トークン の利用を推奨します。アカウントが所有し、特定のユーザーに紐づきません。AI & Machine Learning > AI Search にある AI Search 権限を追加します。

新しいトークンを作成する

  1. Cloudflare ダッシュボードで Manage Account > API Tokens を開きます。
  2. Create Token を選び、カスタムトークンを開始します。
  3. トークンの名前を入力します。
  4. 権限ポリシーを追加し、AI & Machine Learning > AI Search を選び、必要なアクセスレベルを選びます。AI Search は ReadRunEdit アクセスを提供します。
  5. (任意)クライアント IP アドレスのフィルタとトークンの有効期限を設定します。
  6. トークンを作成し、値をコピーします。

既存のトークンを編集する

  1. Cloudflare ダッシュボードで Manage Account > API Tokens を開きます。
  2. 更新したいトークンを選びます。
  3. 権限ポリシーを追加または更新し、必要なアクセスレベルで AI & Machine Learning > AI Search を含め、保存します。

トークン作成の全体の流れは API トークンを作成する を参照してください。

Chat completions(チャット補完)

AutoRAG の /ai-search エンドポイントから、新しい /chat/completions エンドポイントへ移行する方法です。

移行前(AutoRAG API):

curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/autorag/rags/<INSTANCE_NAME>/ai-search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -d '{
    "query": "What is Cloudflare?"
  }'

移行後(AI Search API):

新しい API は messages 配列形式を使います。

curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/default/instances/<INSTANCE_NAME>/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -d '{
    "messages": [
      {
        "content": "What is Cloudflare?",
        "role": "user"
      }
    ]
  }'

Search(検索)

AutoRAG の /search エンドポイントから、新しい /search エンドポイントへ移行する方法です。

移行前(AutoRAG API):

curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/autorag/rags/<INSTANCE_NAME>/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -d '{
    "query": "What is Cloudflare?"
  }'

移行後(AI Search API):

新しい API は messages 配列形式を使います。query 文字列形式も使えます。

curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/default/instances/<INSTANCE_NAME>/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -d '{
    "messages": [
      {
        "content": "What is Cloudflare?",
        "role": "user"
      }
    ]
  }'

ストリーミング動作の変更

以前の AutoRAG API では、streamtrue にすると、取得したチャンクなしでストリーミング応答だけを受け取りました。

新しい AI Search API では、ストリーミング応答にチャンクが含まれます。取得したチャンクはまず chunks イベントとして送られ、そのあとにストリーミング応答データが続きます。これにより、生成された応答をユーザーへストリーミングしながら、ソースチャンクをすぐに表示できます。

フィルター形式

新しい AI Search REST API は Vectorize 形式のメタデータフィルターを使い、AutoRAG API の形式とは異なります。フィルターはリクエストボディの ai_search_options.retrieval.filters 配下に入れます。旧形式の詳細は メタデータフィルター形式(レガシー) を参照してください。

演算子の対応

フィルター演算子は $ プレフィックス付きの名前に変わりました。

AutoRAG API AI Search API
eq $eq(または暗黙)
ne $ne
gt $gt
gte $gte
lt $lt
lte $lte
$in(新規)
$nin(新規)

単純なフィルター

暗黙の等価で、単一のメタデータフィールドでフィルターします。

移行前(AutoRAG API):

{
	"filters": {
		"type": "eq",
		"key": "folder",
		"value": "customer-a/"
	}
}

移行後(AI Search API):

{
	"ai_search_options": {
		"retrieval": {
			"filters": { "folder": "customer-a/" }
		}
	}
}

複合フィルター(AND)

すべて一致する必要がある複数の条件を組み合わせます。

移行前(AutoRAG API):

{
	"filters": {
		"type": "and",
		"filters": [
			{ "type": "eq", "key": "folder", "value": "customer-a/" },
			{ "type": "gte", "key": "timestamp", "value": "1735689600000" }
		]
	}
}

移行後(AI Search API):

{
	"ai_search_options": {
		"retrieval": {
			"filters": {
				"folder": "customer-a/",
				"timestamp": { "$gte": 1735689600 }
			}
		}
	}
}

API リファレンス

役に立ちましたか?