Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.
JSON representation |
---|
{ "name" : string , "displayName" : string , "solutionType" : enum ( |
name
string
Immutable. Fully qualified name projects/{project}/locations/{location}/collections/{collectionId}/engines/{engineId}/servingConfigs/{servingConfigId}
displayName
string
Required. The human readable serving config display name. Used in Discovery UI.
This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
solutionType
enum (
SolutionType
)
Required. Immutable. Specifies the solution type that a serving config can be associated with.
modelId
string
The ID of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR).
Required when SolutionType
is SOLUTION_TYPE_RECOMMENDATION
.
diversityLevel
string
How much diversity to use in recommendation model results e.g. medium-diversity
or high-diversity
. Currently supported values:
-
no-diversity
-
low-diversity
-
medium-diversity
-
high-diversity
-
auto-diversity
If not specified, we choose default based on recommendation model type. Default value: no-diversity
.
Can only be set if SolutionType
is SOLUTION_TYPE_RECOMMENDATION
.
rankingExpression
string
The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if SearchRequest.ranking_expression
is specified, it overrides the ServingConfig ranking expression.
The ranking expression is a single function or multiple functions that are joined by "+".
- rankingExpression = function, { " + ", function };
Supported functions:
- double * relevanceScore
- double * dotProduct(embedding_field_path)
Function variables:
-
relevanceScore
: pre-defined keywords, used for measure relevance between query and document. -
embedding_field_path
: the document embedding field used with query embedding vector. -
dotProduct
: embedding function between embedding_field_path and query embedding vector.
Example ranking expression:
If document has an embedding field doc_embedding, the ranking expression could be 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding)
.
createTime
string (
Timestamp
format)
Output only. ServingConfig created timestamp.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
updateTime
string (
Timestamp
format)
Output only. ServingConfig updated timestamp.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
filterControlIds[]
string
Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.
boostControlIds[]
string
Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.
redirectControlIds[]
string
IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100.
Can only be set if SolutionType
is SOLUTION_TYPE_SEARCH
.
synonymsControlIds[]
string
Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100.
Can only be set if SolutionType
is SOLUTION_TYPE_SEARCH
.
onewaySynonymsControlIds[]
string
Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100.
Can only be set if SolutionType
is SOLUTION_TYPE_SEARCH
.
dissociateControlIds[]
string
Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100.
Can only be set if SolutionType
is SOLUTION_TYPE_SEARCH
.
replacementControlIds[]
string
Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100.
Can only be set if SolutionType
is SOLUTION_TYPE_SEARCH
.
ignoreControlIds[]
string
Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.
promoteControlIds[]
string
Condition promote specifications.
Maximum number of specifications is 100.
answerGenerationSpec
object (
AnswerGenerationSpec
)
Optional. The specification for answer generation.
vertical_config
. Industry vertical specific config. vertical_config
can be only one of the following:mediaConfig
object (
MediaConfig
)
The MediaConfig of the serving configuration.
genericConfig
object (
GenericConfig
)
The GenericConfig of the serving configuration.
MediaConfig
Specifies the configurations needed for Media Discovery. Currently we support:
-
demote_content_watched
: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. -
promote_fresh_content
: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set ifSolutionType
isSOLUTION_TYPE_RECOMMENDATION
.
JSON representation |
---|
{ "demotionEventType" : string , "demoteContentWatchedPastDays" : integer , "contentFreshnessCutoffDays" : integer , // Union field |
demotionEventType
string
Specifies the event type used for demoting recommendation result. Currently supported values:
-
view-item
: Item viewed. -
media-play
: Start/resume watching a video, playing a song, etc. -
media-complete
: Finished or stopped midway through a video, song, etc.
If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.
demoteContentWatchedPastDays
integer
Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.
contentFreshnessCutoffDays
integer
Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.
demote_content_watched
. Specify the threshold for demoting watched content, the threshold can be either percentage or minutes value. This must be set for media-complete
event type. demote_content_watched
can be only one of the following:contentWatchedPercentageThreshold
number
Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.
contentWatchedSecondsThreshold
number
Specifies the content watched minutes threshold for demotion.
GenericConfig
Specifies the configurations needed for Generic Discovery.Currently we support:
-
contentSearchSpec
: configuration for generic content search.
JSON representation |
---|
{
"contentSearchSpec"
:
{
object (
|
Fields | |
---|---|
contentSearchSpec
|
Specifies the expected behavior of content search. Only valid for content-search enabled data store. |
AnswerGenerationSpec
The specification for answer generation.
JSON representation |
---|
{
"userDefinedClassifierSpec"
:
{
object (
|
Fields | |
---|---|
userDefinedClassifierSpec
|
Optional. The specification for user specified classifier spec. |
UserDefinedClassifierSpec
The specification for user defined classifier.
JSON representation |
---|
{ "enableUserDefinedClassifier" : boolean , "preamble" : string , "modelId" : string , "taskMarker" : string , "topP" : number , "topK" : string , "temperature" : number , "seed" : integer } |
Fields | |
---|---|
enableUserDefinedClassifier
|
Optional. Whether or not to enable and include user defined classifier. |
preamble
|
Optional. The preamble to be used for the user defined classifier. |
modelId
|
Optional. The model id to be used for the user defined classifier. |
taskMarker
|
Optional. The task marker to be used for the user defined classifier. |
topP
|
Optional. The top-p value to be used for the user defined classifier. |
topK
|
Optional. The top-k value to be used for the user defined classifier. |
temperature
|
Optional. The temperature value to be used for the user defined classifier. |
seed
|
Optional. The seed value to be used for the user defined classifier. |