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

必需。人类可读的服务配置显示名称。在发现界面中使用。

此字段必须是采用 UTF-8 编码的字符串,长度上限为 128 个字符。否则,系统会返回 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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

可选。指定在降位观看过的内容时要回溯的天数。如果设置为 0 或未设置,则默认为最长 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)

可选。要用于用户定义的分类器的 top-k 值。

temperature

number

可选。要用于用户定义的分类器的温度值。

seed

integer

可选。要用于用户定义的分类器的种子值。