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。現在サポートされているのは RecommendationModels のみです。変更できますが、互換性のあるモデル(関連商品のおすすめのクリック率から関連商品のおすすめのコンバージョン率など)にのみ変更できます。

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

Media Discovery に必要な構成を指定します。現在サポートされている構成は次のとおりです。

  • 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

Generic Discovery に必要な構成を指定します。現在サポートされている構成は次のとおりです。

  • 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)

省略可。ユーザー定義の分類器に使用する Top-K 値。

temperature

number

省略可。ユーザー定義の分類器に使用する Temperature 値。

seed

integer

省略可。ユーザー定義の分類器に使用するシード値。