このページでは、サービス提供構成を作成する方法について説明します。サービス提供構成とは、検索結果またはレコメンデーション結果の生成に使用されるモデルまたは一連のコントロールを設定に関連付けるサービス提供エンティティです。
始める前に
Recommendations AI と Retail Search のサービス提供構成では、要件とオプションが異なります。
Recommendations AI のサービス提供構成にはモデルが必要です。既存のモデルを新しいサービス提供構成に接続する場合は、使用するモデルの ID を取得します(
ServingConfig.create
メソッドを使用するときに必要です)。コンソールを使用してサービス提供構成を作成する場合、既存のモデルを接続する代わりに、作成プロセス中に新しいモデルを作成できます。
同じモデルタイプである限り、後でモデルを切り替えることができます。
Retail Search ではサービス提供コントロールを使用できますが、必須ではありません。既存のコントロールを新しいサービス提供構成に接続する場合は、使用するコントロールの ID を取得します。
コンソールを使用してサービス提供構成を作成する場合は、作成プロセス中に新しいコントロールを作成することもできます。
サービス提供構成は、作成した後にサービス提供コントロールに切り替えたり、追加したりできます。
サービス提供構成を作成する
サービス提供構成を作成するには、次のコマンドを使用します。
カタログごとに最大 100 個のサービス提供構成を使用できます。
既存のプレースメントがある場合や新しいプレースメントを作成する場合、Retail API は各プレースメントに関連付けられたサービス提供構成を自動的に作成します。サービス提供構成を作成しても、対応するプレースメントは作成されません。サービス提供構成を削除すると、対応するプレースメントが削除されます。プレースメントを削除すると、対応するサービス提供構成が削除されます。
コンソールでサービス提供構成を作成する
Google Cloud Console の [Serving Configs] ページに新しいサービス提供構成を追加します。
新しいサービス提供構成を作成するには:
Google Cloud Console の [Retail Serving Configs] ページに移動します。
[サービス構成] ページに移動add_box[Create serving config] をクリックします。
Recommendations AI
サービス提供構成が使用されるプロダクトとして [Recommendation] を選択します。
サービス提供構成の名前を指定します。
名前は 1,024 文字以下で、英数字、アンダースコア、ハイフン、スペースのみを含めることができます。
(省略可)必要に応じて ID を更新します。
この ID は指定した名前から生成され、プロジェクト全体で一意である必要があります。50 文字以下にしてください。スペースを含めることはできません。
このサービス提供構成でレコメンデーションを行うモデルを選択または作成します。
新しいモデルの作成の詳細をご覧ください。
料金の再ランキングがレコメンデーションの結果にどの程度影響するかを選択します。
料金の再ランキングでは、同様のおすすめの確率を持つおすすめの商品が料金の高い順に並べられます。関連性はアイテムの注文にも使用されるため、価格の再ランキングを有効にしても、価格順の並べ替えとは同じになりません。
レコメンデーションの結果をどの程度多様化するかを選択します。
多様化は、1 つの予測リクエストで、商品カタログの異なるカテゴリから結果が返されるかどうかに影響します。
このサービス提供構成で類似アイテムモデルを選択した場合は、カテゴリ マッチングを有効にするかどうかを選択します。
カテゴリ マッチングが有効になっている場合、Retail API は、コンテキスト プロダクトと少なくとも 1 つのカテゴリを共有する商品結果のみを返します。カテゴリ マッチングは、価格、在庫状況、フィルタタグなどの他のフィルタリング オプションと組み合わせて使用できます。
Retail Search
- [サービス提供構成の作成] ページで、サービス提供構成を使用するプロダクトとして [検索] を選択します。
- サービス提供構成の名前を指定します。
名前は 1,024 文字以下にしてください。使用できるのは、英数字、アンダースコア、ハイフン、スペースのみです。 - (省略可)必要に応じて ID を更新します。
ID は指定した名前から生成され、プロジェクト全体で一意である必要があります。50 文字以下にしてください。スペースを含めることはできません。 - [次へ] をクリックします。
- このサービス提供構成で動的ファセットを有効にするかどうかを選択します。
- 検索を最適化するサービス提供コントロールを選択または作成します。
コントロールの詳細については、コントロールの作成と管理をご覧ください。
[Create] をクリックして、新しい構成を作成します。
新しい構成が [Serving Configs] ページに表示されます。
構成が検索リクエストで使用できるようになるまでに数分かかることがあります。すぐに推奨に表示されます。
(省略可)[Serving Configs] ページで、サービス提供構成名をクリックし、[Evaluate] タブに移動して、この構成に返されるプロダクトをプレビューします。
評価プレビューは、構成が期待どおりに機能していることの確認に役立ちます。
ServingConfig.create
でサービス提供構成を作成する
サービス提供構成は ServingConfig.create
API メソッドで作成できます。このメソッドの API リファレンス ドキュメントについては、ServingConfig.create
をご覧ください。
どのフィールドを使用するかは、Recommendations AI または Retail Search にサービス提供構成を作成しているかによって異なります。
ServingConfig
フィールドの詳細については、ServingConfigs
API リファレンスをご覧ください。
Recommendations AI
リクエスト本文にサービス提供構成 ID と ServingConfig
のインスタンスを指定した ServingConfig.create
リクエストを作成します。
servingConfigId
: 必須。ServingConfig
の ID を作成します。この値は 4 ~ 63 文字です。有効な文字は/[a-z][0-9]-_/
です。displayName
: 必須。Retail コンソールに表示される、人が読める形式のServingConfig
名。modelID
: 必須。サービス提供時に使用されるモデルの ID。priceRerankingLevel
: 省略可。料金の再ランキングがレコメンデーションの結果にどの程度影響するかを設定します。使用できる値はno-price-reranking
(設定されていない場合はデフォルト値)、low-price-raranking
、medium-price-reranking
、high-price-reranking
です。enableCategoryFilterLevel
: 省略可。「類似アイテム」モデルにカテゴリ フィルタを追加するかどうかを設定します。使用できる値は、relaxed-category-match
(設定されていない場合はデフォルト値)とno-category-match
です。solutionTypes
: 必須。Recommendations AI のサービス提供構成では、SOLUTION_TYPE_RECOMMENDATION
に設定します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": "DISPLAY_NAME", "modelId": "MODEL_ID", "priceRerankingLevel": "PRICE_RERANKING_LEVEL", "diversityLevel": "DIVERSITY_LEVEL", "enableCategoryFilterLevel": "CATEGORY_FILTER_LEVEL", "solutionTypes": [ "SOLUTION_TYPE_RECOMMENDATION" ] }' \ "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/servingConfigs?servingConfigId=SERVING_CONFIG_ID"
Retail Search
リクエスト本文にサービス提供構成 ID と ServingConfig
のインスタンスを指定した ServingConfig.create
リクエストを作成します。
servingConfigId
: 必須。ServingConfig
の ID を作成します。この値は 4 ~ 63 文字です。有効な文字は/[a-z][0-9]-_/
です。displayName
: 必須。Retail コンソールに表示される、人が読める形式のServingConfig
名。facetControlIds
: 省略可。FacetSpec
のみが設定されているコントロールの ID。dynamicFacetSpec.mode
: 省略可。DynamicFacet
機能のモード。 使用できる値は、DISABLED
(設定されていない場合はデフォルト)とENABLED
です。boostControlIds
: 省略可。ブースト サービス提供コントロールの ID。filterControlIds
: 省略可。フィルタ サービス提供コントロールの ID。redirectControlIds
: 省略可。リダイレクト サービス提供コントロールの ID。twowaySynonymsControlIds
: 省略可。双方向の類義語サービス提供コントロールの ID。onewaySynonymsControlIds
: 省略可。一方向の類義語サービス提供コントロールの ID。doNotAssociateControlIds
: 省略可。関連付けないサービス提供コントロールの ID。replacementControlIds
: 省略可。代替サービス提供コントロールの ID。ignoreControlIds
: 省略可。サービス提供コントロールを無視する ID。solutionTypes
: 必須。Retail Search のサービス提供構成では、SOLUTION_TYPE_SEARCH
に設定します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "displayName": DISPLAY_NAME, "facetControlIds": [ "FACET_CONTROL_ID_1", "FACET_CONTROL_ID_2" ], "dynamicFacetSpec": { "mode": "DYNAMIC_FACET_MODE" }, "boostControlIds": [ "BOOST_CONTROL_ID_1", "BOOST_CONTROL_ID_2" ], "filterControlIds": [ "FILTER_CONTROL_ID_1", "FILTER_CONTROL_ID_2" ], "redirectControlIds": [ "REDIRECT_CONTROL_ID_1", "REDIRECT_CONTROL_ID_2" ], "twowaySynonymsControlIds": [ "TWO_WAY_SYNONYM_CONTROL_ID_1", "TWO_WAY_SYNONYM_CONTROL_ID_2" ], "onewaySynonymsControlIds": [ "ONE_WAY_SYNONYM_CONTROL_ID_1", "ONE_WAY_SYNONYM_CONTROL_ID_2" ], "doNotAssociateControlIds": [ "DO_NOT_ASSOCIATE_CONTROL_ID_1", "DO_NOT_ASSOCIATE_CONTROL_ID_2" ], "replacementControlIds": [ "REPLACEMENT_CONTROL_ID_1", "REPLACEMENT_CONTROL_ID_2" ], "ignoreControlIds": [ "IGNORE_CONTROL_ID_1", "IGNORE_CONTROL_ID_2" ], "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ] }' \ "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/servingConfigs?servingConfigId=SERVING_CONFIG_ID"
次のステップ
- 新しいプレースメントから予測をリクエストします。