以下のようにすれば ok です。
{"id": "1", "embedding": [0.1, 0.2], "restricts": [{"namespace": "color","allow": ["white", "black"]}, {"namespace": "category","allow": ["t-shirts"]}], "crowding_tag": "basic"}
{"id": "2", "embedding": [0.3, 0.1], "restricts": [{"namespace": "color","allow": ["blue"]}, {"namespace": "category","allow": ["pants"]}], "crowding_tag": "casual"}
// ...以下略...
P.S.
公式ドキュメントを読んでも正しい入力データ形式を把握できなかったため、複数の形式を試し、最終的に正しい形式を把握しました。
ちなみに公式ドキュメントでは restricts
配列内の各要素に crowding_tag
をセットするような書きっぷりになっているものの、そんなことはありませんでした。
ref: https://cloud.google.com/vertex-ai/docs/vector-search/setup/format-structure?hl=en#data-file-formats
さらに公式のサンプル実装ではなぜか allow
が allow_list
となっていたので修正しておきました。
ref: https://github.com/GoogleCloudPlatform/vertex-ai-samples/pull/3500
また Vector Search 関連の terraform plugin にバグがあったので、こちらも修正しておきました。
ref: https://github.com/GoogleCloudPlatform/magic-modules/pull/12637