ServingConfig

サービス提供時の結果(検索結果やレコメンデーション予測など)の生成に使用されるメタデータを構成します。ServingConfig は検索リクエストと予測リクエストで渡され、結果を生成します。

JSON 表現
{
  "name": string,
  "displayName": string,
  "solutionType": enum (SolutionType),
  "modelId": string,
  "diversityLevel": string,
  "rankingExpression": string,
  "createTime": string,
  "updateTime": string,
  "filterControlIds": [
    string
  ],
  "boostControlIds": [
    string
  ],
  "redirectControlIds": [
    string
  ],
  "synonymsControlIds": [
    string
  ],
  "onewaySynonymsControlIds": [
    string
  ],
  "dissociateControlIds": [
    string
  ],
  "replacementControlIds": [
    string
  ],
  "ignoreControlIds": [
    string
  ],
  "promoteControlIds": [
    string
  ],
  "answerGenerationSpec": {
    object (AnswerGenerationSpec)
  },

  // Union field vertical_config can be only one of the following:
  "mediaConfig": {
    object (MediaConfig)
  },
  "genericConfig": {
    object (GenericConfig)
  }
  // End of list of possible types for union field vertical_config.
}
フィールド
name

string

変更不可。完全修飾名 projects/{project}/locations/{location}/collections/{collectionId}/engines/{engineId}/servingConfigs/{servingConfigId}

displayName

string

必須。人が読める形式のサービス提供構成の表示名。Discovery UI で使用されます。

このフィールドは、長さの上限が 128 文字の UTF-8 でエンコードされた文字列にする必要があります。それ以外の場合は、INVALID_ARGUMENT エラーが返されます。

solutionType

enum (SolutionType)

必須。変更不可。サービング構成を関連付けることができるソリューション タイプを指定します。

modelId

string

サービング時に使用するモデルの ID。現在、サポートされているのは RecommendationModel のみです。変更できますが、互換性のあるモデル(関連商品のおすすめのクリック率から関連商品のおすすめのコンバージョン率など)にのみ変更できます。

SolutionTypeSOLUTION_TYPE_RECOMMENDATION の場合は必須。

diversityLevel

string

レコメンデーション モデルの結果で使用する多様性の量(medium-diversityhigh-diversity など)。現在サポートされている値は次のとおりです。

  • no-diversity
  • low-diversity
  • medium-diversity
  • high-diversity
  • auto-diversity

指定しない場合は、レコメンデーション モデルのタイプに基づいてデフォルトが選択されます。デフォルト値: no-diversity

SolutionTypeSOLUTION_TYPE_RECOMMENDATION の場合にのみ設定できます。

rankingExpression

string

ランキング式は、取得ドキュメントのカスタマイズされたランキングを制御します。これを活用するには、ドキュメントのエンベディングが必要です。ServingConfig のランキング式の設定は、サービス構成によって処理されるすべての検索リクエストに適用されます。ただし、SearchRequest.ranking_expression が指定されている場合は、ServingConfig のランキング式がオーバーライドされます。

ランキング式は、単一の関数または「+」で結合された複数の関数です。

  • rankingExpression = function, { " + ", function };

サポートされている関数:

  • double * relevanceScore
  • double * dotProduct(embedding_field_path)

関数変数:

  • relevanceScore: 事前定義されたキーワード。クエリとドキュメントの関連性を測定するために使用されます。
  • embedding_field_path: クエリ エンベディング ベクトルで使用されるドキュメント エンベディング フィールド。
  • dotProduct: embedding_field_path とクエリ エンベディング ベクトルの間のエンベディング関数。

ランキング式の例:

ドキュメントにエンベディング フィールド doc_embedding がある場合、ランキング式は 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding) になります。

createTime

string (Timestamp format)

出力専用。ServingConfig の作成タイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。ServingConfig の更新タイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

filterControlIds[]

string

サービング パスで使用するフィルタ コントロール。トリガーされたフィルタ コントロールがすべて適用されます。フィルタ コントロールは、サービング構成と同じデータストアに存在する必要があります。フィルタ オプションは最大 20 個までです。

boostControlIds[]

string

サービング パスで使用するブースト コントロール。トリガーされたブースト コントロールがすべて適用されます。ブースト コントロールは、サービング構成と同じデータストアに存在する必要があります。ブースト コントロールは最大 20 個までです。

redirectControlIds[]

string

リダイレクト コントロールの ID。複数のリダイレクト アクションが適用される場合でも、最初にトリガーされたリダイレクト アクションのみが適用されます。仕様の最大数は 100 です。

SolutionTypeSOLUTION_TYPE_SEARCH の場合にのみ設定できます。

synonymsControlIds[]

string

条件の同義語の仕様。複数の同義語条件が一致した場合、リスト内の一致するすべての同義語コントロールが実行されます。仕様の最大数は 100 です。

SolutionTypeSOLUTION_TYPE_SEARCH の場合にのみ設定できます。

onewaySynonymsControlIds[]

string

一方向の類義語の条件の仕様。一方向の類義語条件が複数一致した場合、リスト内の一致する一方向の類義語制御がすべて実行されます。仕様の最大数は 100 です。

SolutionTypeSOLUTION_TYPE_SEARCH の場合にのみ設定できます。

dissociateControlIds[]

string

条件は仕様に関連付けられていません。複数の関連付けない条件が一致した場合、リスト内の関連付けないコントロールがすべて実行されます。順序は関係ありません。仕様の最大数は 100 です。

SolutionTypeSOLUTION_TYPE_SEARCH の場合にのみ設定できます。

replacementControlIds[]

string

条件の置換仕様。リストの順序に従って適用されます。以前に交換した用語を再度交換することはできません。仕様の最大数は 100 です。

SolutionTypeSOLUTION_TYPE_SEARCH の場合にのみ設定できます。

ignoreControlIds[]

string

条件無視仕様。複数の無視条件が一致した場合、リスト内の一致する無視コントロールがすべて実行されます。順序は関係ありません。仕様の最大数は 100 です。

promoteControlIds[]

string

条件の昇格の仕様。

仕様の最大数は 100 です。

answerGenerationSpec

object (AnswerGenerationSpec)

省略可。回答生成の仕様。

共用体フィールド vertical_config。業種固有の構成。vertical_config は次のいずれかになります。
mediaConfig

object (MediaConfig)

サービス提供構成の MediaConfig。

genericConfig

object (GenericConfig)

サービス構成の GenericConfig。

MediaConfig

メディア検出に必要な構成を指定します。現在サポートされているのは次のとおりです。

  • demote_content_watched: 視聴済みコンテンツの降格のしきい値。視聴済みコンテンツの順位を下げるか、閲覧済みの詳細ページを使用するかを指定できます。視聴済みコンテンツの降格を使用すると、視聴時間または視聴率がしきい値を超えた場合に、レコメンデーション結果でコンテンツが降格されるように指定できます。
  • promote_fresh_content: 新しいコンテンツのプロモーションの締め切り日。コンテンツの鮮度プロモーションを使用するかどうかを指定できます。コンテンツがカットオフ日以内に公開された場合、そのコンテンツはおすすめの結果に表示されます。SolutionTypeSOLUTION_TYPE_RECOMMENDATION の場合にのみ設定できます。
JSON 表現
{
  "demotionEventType": string,
  "demoteContentWatchedPastDays": integer,
  "contentFreshnessCutoffDays": integer,

  // Union field demote_content_watched can be only one of the following:
  "contentWatchedPercentageThreshold": number,
  "contentWatchedSecondsThreshold": number
  // End of list of possible types for union field demote_content_watched.
}
フィールド
demotionEventType

string

レコメンデーション結果の降格に使用されるイベントタイプを指定します。現在サポートされている値は次のとおりです。

  • view-item: アイテムが閲覧されました。
  • media-play: 動画の視聴や曲の再生などを開始/再開します。
  • media-complete: 動画や曲などが終了したか、途中で停止したか。

未設定の場合、再生履歴の降格は適用されません。コンテンツの更新頻度による降格は引き続き適用されます。

demoteContentWatchedPastDays

integer

省略可。視聴済みコンテンツの表示順位を下げるために遡る日数を指定します。ゼロに設定した場合、または設定しなかった場合は、デフォルトで最大 365 日になります。

contentFreshnessCutoffDays

integer

おすすめの結果に使用されるコンテンツの鮮度を指定します。コンテンツの公開からコンテンツの更新頻度のカットオフ日数を経過している場合、コンテンツの表示順位が下がります。

共用体フィールド demote_content_watched。視聴済みのコンテンツを降格させるしきい値を指定します。しきい値は、割合または分数のいずれかの値にできます。これは media-complete イベントタイプで設定する必要があります。demote_content_watched は次のいずれかになります。
contentWatchedPercentageThreshold

number

視聴済みコンテンツの表示順位を下げるための視聴済みコンテンツの割合のしきい値を指定します。しきい値は [0, 1.0] の範囲で指定する必要があります。

contentWatchedSecondsThreshold

number

視聴済みコンテンツの表示順位を下げるための視聴時間(分)のしきい値を指定します。

GenericConfig

汎用検出に必要な構成を指定します。現在、次の構成がサポートされています。

  • contentSearchSpec: 汎用コンテンツ検索の構成。
JSON 表現
{
  "contentSearchSpec": {
    object (ContentSearchSpec)
  }
}
フィールド
contentSearchSpec

object (ContentSearchSpec)

コンテンツ検索の想定される動作を指定します。コンテンツ検索が有効になっているデータストアでのみ有効です。

AnswerGenerationSpec

回答生成の仕様。

JSON 表現
{
  "userDefinedClassifierSpec": {
    object (UserDefinedClassifierSpec)
  }
}
フィールド
userDefinedClassifierSpec

object (UserDefinedClassifierSpec)

省略可。ユーザー指定の分類子仕様の仕様。

UserDefinedClassifierSpec

ユーザー定義の分類子の仕様。

JSON 表現
{
  "enableUserDefinedClassifier": boolean,
  "preamble": string,
  "modelId": string,
  "taskMarker": string,
  "topP": number,
  "topK": string,
  "temperature": number,
  "seed": integer
}
フィールド
enableUserDefinedClassifier

boolean

省略可。ユーザー定義の分類子を有効にして含めるかどうか。

preamble

string

省略可。ユーザー定義の分類子に使用する前文。

modelId

string

省略可。ユーザー定義の分類子に使用するモデル ID。

taskMarker

string

省略可。ユーザー定義の分類子に使用するタスク マーカー。

topP

number

省略可。ユーザー定義の分類子に使用する top-p 値。

topK

string (int64 format)

省略可。ユーザー定義の分類子に使用する上位 k の値。

temperature

number

省略可。ユーザー定義の分類子に使用する温度値。

seed

integer

省略可。ユーザー定義の分類子に使用されるシード値。