REST Resource: projects.locations.evaluations

Ressource : Evaluation

Une évaluation est une exécution unique (ou un cycle) d'un processus d'évaluation. Il encapsule l'état de l'évaluation et les données qui en résultent.

Représentation JSON
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
Champs
name

string

Identifiant. Nom complet de la ressource Evaluation, au format projects/{project}/locations/{location}/evaluations/{evaluation}.

Ce champ doit être une chaîne encodée au format UTF-8, dont la longueur ne doit pas dépasser 1 024 caractères.

evaluationSpec

object (EvaluationSpec)

Obligatoire. Spécification de l'évaluation.

qualityMetrics

object (QualityMetrics)

Uniquement en sortie. Moyenne des métriques produites par l'évaluation pour tous les SampleQuery dans SampleQuerySet.

Renseigné uniquement lorsque l'état de l'évaluation est "SUCCEEDED" (RÉUSSIE).

state

enum (State)

Uniquement en sortie. État de l'évaluation.

error

object (Status)

Uniquement en sortie. L'erreur survenue lors de l'évaluation. N'est renseigné que lorsque l'état de l'évaluation est "FAILED" (ÉCHEC).

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de Evaluation.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la fin de l'Evaluation.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Uniquement en sortie. Exemple d'erreurs rencontrées lors du traitement de la demande.

EvaluationSpec

Décrit les spécifications de l'évaluation.

Représentation JSON
{
  "querySetSpec": {
    object (QuerySetSpec)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of mutually exclusive fields.
}
Champs
querySetSpec

object (QuerySetSpec)

Facultatif. Spécification de l'ensemble de requêtes.

Spécification de la recherche. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
searchRequest

object (SearchRequest)

Obligatoire. Requête de recherche utilisée pour effectuer l'évaluation.

Seuls les champs suivants de SearchRequest sont acceptés. Si d'autres champs sont fournis, une erreur UNSUPPORTED sera renvoyée :

Fin des champs qui s'excluent mutuellement.

SearchRequest

Message de requête pour la méthode SearchService.Search.

Représentation JSON
{
  "servingConfig": string,
  "branch": string,
  "query": string,
  "pageCategories": [
    string
  ],
  "imageQuery": {
    object (ImageQuery)
  },
  "pageSize": integer,
  "pageToken": string,
  "offset": integer,
  "oneBoxPageSize": integer,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "numResultsPerDataStore": integer,
  "filter": string,
  "canonicalFilter": string,
  "orderBy": string,
  "userInfo": {
    object (UserInfo)
  },
  "languageCode": string,
  "regionCode": string,
  "facetSpecs": [
    {
      object (FacetSpec)
    }
  ],
  "boostSpec": {
    object (BoostSpec)
  },
  "params": {
    string: value,
    ...
  },
  "queryExpansionSpec": {
    object (QueryExpansionSpec)
  },
  "spellCorrectionSpec": {
    object (SpellCorrectionSpec)
  },
  "userPseudoId": string,
  "useLatestData": boolean,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "customFineTuningSpec": {
    object (CustomFineTuningSpec)
  },
  "displaySpec": {
    object (DisplaySpec)
  },
  "crowdingSpecs": [
    {
      object (CrowdingSpec)
    }
  ],
  "session": string,
  "sessionSpec": {
    object (SessionSpec)
  },
  "relevanceThreshold": enum (RelevanceThreshold),
  "relevanceFilterSpec": {
    object (RelevanceFilterSpec)
  },
  "personalizationSpec": {
    object (PersonalizationSpec)
  },
  "relevanceScoreSpec": {
    object (RelevanceScoreSpec)
  },
  "searchAddonSpec": {
    object (SearchAddonSpec)
  },
  "customRankingParams": {
    object (CustomRankingParams)
  },
  "entity": string
}
Champs
servingConfig

string

Obligatoire. Le nom de la ressource de la configuration de service de recherche, tel que projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config ou projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config. Ce champ permet d'identifier le nom de la configuration de diffusion, l'ensemble de modèles utilisés pour effectuer la recherche.

branch

string

Nom de ressource de la branche, par exemple projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0.

Utilisez default_branch comme ID de branche ou laissez ce champ vide pour rechercher des documents dans la branche par défaut.

query

string

Requête de recherche brute.

pageCategories[]

string

Facultatif. Catégories associées à une page de catégorie. Doit être défini pour les requêtes de navigation par catégorie afin d'obtenir une bonne qualité de recherche. Le format doit être le même que PageInfo.page_category. Ce champ est l'équivalent de la requête pour les requêtes de navigation. Il est utilisé par le modèle de navigation lorsque la requête est vide.

Si le champ est vide, il ne sera pas utilisé par le modèle de navigation. Si le champ contient plusieurs éléments, seul le premier sera utilisé.

Pour représenter le chemin d'accès complet d'une catégorie, utilisez le caractère ">" pour séparer les différentes hiérarchies. Si le symbole ">" fait partie du nom de la catégorie, remplacez-le par un ou plusieurs autres caractères. Par exemple, Graphics Cards > RTX>4090 > Founders Edition où "RTX > 4090" représente un niveau, peut être réécrit comme Graphics Cards > RTX_4090 > Founders Edition.

imageQuery

object (ImageQuery)

Requête d'image brute.

pageSize

integer

Nombre maximal de Document à renvoyer. La valeur maximale autorisée dépend du type de données. Les valeurs supérieures à la valeur maximale sont ramenées à la valeur maximale.

  • Sites Web avec indexation de base : par défaut 10, maximum 25.
  • Sites Web avec indexation avancée : 25 par défaut, 50 maximum.
  • Autre : valeur par défaut 50, valeur maximale 100.

Si ce champ est négatif, une erreur INVALID_ARGUMENT est renvoyée.

pageToken

string

Jeton de page reçu d'un appel SearchService.Search précédent. Fournissez-le pour récupérer la page suivante.

Lors de la pagination, tous les autres paramètres fournis à SearchService.Search doivent correspondre à l'appel ayant fourni le jeton de page. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

offset

integer

Entier à index zéro spécifiant le décalage actuel (c'est-à-dire l'emplacement du résultat de départ parmi les Document jugés pertinents par l'API) dans les résultats de recherche. Ce champ n'est pris en compte que si pageToken n'est pas spécifié.

Si ce champ est négatif, une erreur INVALID_ARGUMENT est renvoyée.

Un décalage important peut être plafonné à un seuil raisonnable.

oneBoxPageSize

integer

Nombre maximal de résultats à renvoyer pour OneBox. Cela s'applique à chaque type de OneBox individuellement. Le nombre par défaut est 10.

dataStoreSpecs[]

object (DataStoreSpec)

Spécifications qui définissent les DataStore spécifiques à rechercher, ainsi que les configurations de ces data stores. Cela n'est pris en compte que pour les Engine disposant de plusieurs data stores. Pour les moteurs avec un seul data store, les spécifications directement sous SearchRequest doivent être utilisées.

numResultsPerDataStore

integer

Facultatif. Nombre maximal de résultats à récupérer dans chaque data store. Si aucune valeur n'est spécifiée, la valeur SearchRequest.DataStoreSpec.num_results sera utilisée si elle est fournie. Sinon, il n'y aura aucune limite.

filter

string

La syntaxe des filtres consiste en un langage d'expression permettant de construire un prédicat à partir d'un ou de plusieurs champs des documents filtrés. L'expression de filtre est sensible à la casse.

Si ce champ n'est pas reconnaissable, une erreur INVALID_ARGUMENT est renvoyée.

Le filtrage dans Vertex AI Search s'effectue en mappant la clé de filtre LHS à une propriété clé définie dans le backend Vertex AI Search. Ce mappage est défini par le client dans son schéma. Par exemple, un client média peut avoir un champ "name" (nom) dans son schéma. Dans ce cas, le filtre se présenterait comme suit : filter --> name:'ANY("king kong")'

Pour en savoir plus sur le filtrage, y compris sur la syntaxe et les opérateurs de filtre, consultez Filtrer.

canonicalFilter

string

Filtre par défaut appliqué lorsqu'un utilisateur effectue une recherche sans cocher de filtres sur la page de recherche.

Filtre appliqué à chaque requête de recherche lorsque l'amélioration de la qualité, telle que l'expansion de requête, est nécessaire. Si une requête ne génère pas suffisamment de résultats, ce filtre sera utilisé pour déterminer s'il faut activer ou non le flux d'extension des requêtes. Le filtre d'origine sera toujours utilisé pour la recherche élargie de la requête. Ce champ est fortement recommandé pour obtenir une qualité de recherche élevée.

Pour en savoir plus sur la syntaxe des filtres, consultez SearchRequest.filter.

orderBy

string

Ordre dans lequel les documents sont renvoyés. Les documents peuvent être triés par champ dans un objet Document. Laissez ce champ non défini si les résultats sont triés par pertinence. L'expression orderBy est sensible à la casse.

Pour en savoir plus sur l'ordre des résultats de recherche sur le Web, consultez Ordre des résultats de recherche sur le Web. Pour en savoir plus sur l'ordre des résultats de recherche liés à la santé, consultez Ordre des résultats de recherche liés à la santé. Si ce champ n'est pas reconnaissable, une erreur INVALID_ARGUMENT est renvoyée.

userInfo

object (UserInfo)

Informations sur l'utilisateur final. Fortement recommandé pour l'analyse et la personnalisation. UserInfo.user_agent est utilisé pour déduire deviceType à des fins d'analyse.

languageCode

string

Le code de langue BCP-47 ("en-US" ou "sr-Latn", par exemple). Pour en savoir plus, consultez Champs standards. Ce champ permet de mieux interpréter la requête. Si aucune valeur n'est spécifiée, le code de langue de la requête est détecté automatiquement, ce qui peut ne pas être exact.

regionCode

string

Le code de pays/région Unicode (CLDR) d'un emplacement, tel que "US" et "419". Pour en savoir plus, consultez Champs standards. Si cette valeur est définie, les résultats seront mis en avant en fonction du code régional fourni.

facetSpecs[]

object (FacetSpec)

Spécifications des attributs pour la recherche par attribut. Si ce champ est vide, aucune facette n'est renvoyée.

Vous ne pouvez pas saisir plus de 100 valeurs. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

boostSpec

object (BoostSpec)

Booster les spécifications pour mettre en avant certains documents. Pour en savoir plus sur le boosting, consultez Booster.

params

map (key: string, value: value (Value format))

Paramètres de recherche supplémentaires.

Pour la recherche sur les sites Web publics uniquement, les valeurs acceptées sont les suivantes :

  • user_country_code : chaîne. La valeur par défaut est vide. Si la valeur n'est pas vide, les résultats sont limités ou mis en avant en fonction de l'emplacement fourni. Par exemple, user_country_code: "au".

Pour connaître les codes disponibles, consultez Codes pays.

  • searchType : double. La valeur par défaut est vide. Permet la recherche de contenu autre que des pages Web en fonction de la valeur. La seule valeur non définie par défaut valide est 1, qui permet la recherche d'images. Par exemple, searchType: 1.
queryExpansionSpec

object (QueryExpansionSpec)

Spécification de l'extension des requêtes qui indique les conditions dans lesquelles l'extension des requêtes se produit.

spellCorrectionSpec

object (SpellCorrectionSpec)

Spécification de la correction orthographique qui indique le mode d'application de la correction orthographique.

userPseudoId

string

Facultatif. Identifiant unique permettant d'effectuer le suivi des visiteurs. Par exemple, cela peut être implémenté avec un cookie HTTP, qui doit pouvoir identifier de manière unique un visiteur sur un seul appareil. Cet identifiant unique ne doit pas changer si le visiteur se connecte au site Web ou s'en déconnecte.

Ce champ ne doit PAS avoir de valeur fixe telle que unknown_visitor.

Cet identifiant doit être identique à celui de UserEvent.user_pseudo_id et CompleteQueryRequest.user_pseudo_id.

Le champ doit être une chaîne encodée au format UTF-8 et ne doit pas dépasser 128 caractères. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

useLatestData

boolean

utilise les configurations Engine, ServingConfig et Control fraîchement lues à partir de la base de données.

Remarque : Cela ignore le cache de configuration et introduit une dépendance aux bases de données, ce qui pourrait augmenter considérablement la latence de l'API. Elle ne doit être utilisée que pour les tests, et non pour la diffusion aux utilisateurs finaux.

contentSearchSpec

object (ContentSearchSpec)

Spécification permettant de configurer le comportement de la recherche de contenu.

embeddingSpec

object (EmbeddingSpec)

Utilise l'embedding fourni pour effectuer une récupération sémantique supplémentaire des documents. La récupération est basée sur le produit scalaire de SearchRequest.EmbeddingSpec.EmbeddingVector.vector et de l'embedding de document fourni dans SearchRequest.EmbeddingSpec.EmbeddingVector.field_path.

Si SearchRequest.EmbeddingSpec.EmbeddingVector.field_path n'est pas fourni, ServingConfig.EmbeddingConfig.field_path sera utilisé.

rankingExpression

string

Facultatif. L'expression de classement contrôle le classement personnalisé des documents récupérés. Cela remplace ServingConfig.ranking_expression. La syntaxe et les fonctionnalités acceptées dépendent de la valeur rankingExpressionBackend. Si rankingExpressionBackend n'est pas fourni, la valeur par défaut est RANK_BY_EMBEDDING.

Si rankingExpressionBackend n'est pas fourni ou est défini sur RANK_BY_EMBEDDING, il doit s'agir d'une ou de plusieurs fonctions jointes par "+".

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

Fonctions compatibles :

  • double * relevanceScore
  • double * dotProduct(embedding_field_path)

Variables de fonction :

  • relevanceScore : mots clés prédéfinis, utilisés pour mesurer la pertinence entre la requête et le document.
  • embedding_field_path : champ d'embedding de document utilisé avec le vecteur d'embedding de requête.
  • dotProduct : fonction d'embedding entre embedding_field_path et le vecteur d'embedding de la requête.

Exemple d'expression de classement :

Si le document comporte un champ d'intégration doc_embedding, l'expression de classement peut être 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding).

Si rankingExpressionBackend est défini sur RANK_BY_FORMULA, les types d'expression suivants (et les combinaisons de ceux-ci enchaînés à l'aide des opérateurs + ou *) sont acceptés :

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0) : transformation du rang réciproque, le deuxième argument étant une constante de dénominateur.
  • isNan(signal) : renvoie 0 si le signal est NaN, 1 sinon.
  • fillNan(signal1, signal2 | double) : renvoie signal2 | double si signal1 est NaN, sinon renvoie signal1.

Voici quelques exemples de formules de classement qui utilisent les types d'expressions de classement acceptés :

  • 0.2 * semanticSimilarityScore + 0.8 * log(keywordSimilarityScore) : classement principalement basé sur le logarithme de keywordSimilarityScore avec un léger ajustement semantic_smilarity_score.
  • 0.2 * exp(fillNan(semanticSimilarityScore, 0)) + 0.3 * isNan(keywordSimilarityScore) : classe par l'exposant de semanticSimilarityScore en remplissant la valeur par 0 si elle est NaN.Ajoute également un ajustement constant de 0, 3 au score final si semanticSimilarityScore est NaN.
  • 0.2 * rr(semanticSimilarityScore, 16) + 0.8 * rr(keywordSimilarityScore, 16) : classement principalement basé sur le rang réciproque de keywordSimilarityScore, avec un léger ajustement du rang réciproque de semantic_smilarity_score.

Les signaux suivants sont acceptés :

  • semanticSimilarityScore : ajustement de la similarité sémantique calculé à l'aide des embeddings générés par un modèle Google propriétaire. Ce score détermine la similarité sémantique entre une requête de recherche et un document.
  • keywordSimilarityScore : l'ajustement de la correspondance des mots clés utilise la fonction de classement Best Match 25 (BM25). Ce score est calculé à l'aide d'un modèle probabiliste pour estimer la probabilité qu'un document soit pertinent pour une requête donnée.
  • relevanceScore : ajustement de la pertinence sémantique qui utilise un modèle Google propriétaire pour déterminer la signification et l'intention derrière la requête d'un utilisateur dans le contexte du contenu des documents.
  • pctrRank : ajustement du taux de conversion prévu en tant que classement. Le taux de clics prévu (pCTR) est utilisé pour évaluer la pertinence et l'attractivité d'un résultat de recherche du point de vue de l'utilisateur. Un CTR prédictif élevé suggère que le résultat est plus susceptible de répondre à la requête et à l'intention de l'utilisateur, ce qui en fait un signal précieux pour le classement.
  • freshnessRank : ajustement de la fraîcheur sous forme de classement
  • documentAge : temps écoulé en heures depuis la dernière mise à jour du document, sous forme de nombre à virgule flottante (par exemple, 0,25 correspond à 15 minutes).
  • topicalityRank : ajustement de la pertinence thématique sous forme de classement. Utilise un modèle Google propriétaire pour déterminer le chevauchement basé sur les mots clés entre la requête et le document.
  • baseRank : rang par défaut du résultat
  • mediaActorMatch : indique si l'acteur média correspond à la requête.
  • mediaDirectorMatch : indique si le réalisateur du contenu multimédia correspond à la requête.
  • mediaGenreMatch : indique si le genre du contenu multimédia correspond à la requête.
  • mediaLanguageMatch : indique si la langue du contenu multimédia correspond à la requête.
  • mediaTitleMatch : indique si le titre du contenu multimédia correspond à la requête.
  • mediaPrefixSimilarityRank : rang de similarité du préfixe pour les résultats média
  • mediaSemanticSimilarityRank : rang de similarité sémantique pour les résultats média
rankingExpressionBackend

enum (RankingExpressionBackend)

Facultatif. Backend à utiliser pour l'évaluation de l'expression de classement.

userLabels

map (key: string, value: string)

Les libellés utilisateur appliqués à une ressource doivent répondre aux exigences suivantes :

  • Chaque ressource peut posséder plusieurs libellés, jusqu'à un maximum de 64.
  • Chaque étiquette doit correspondre à une paire clé/valeur.
  • Les clés doivent comporter un (1) caractère au minimum et 63 au maximum, et ne peuvent pas être vides. Les valeurs peuvent être vides et comporter 63 caractères au maximum.
  • Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Tous les caractères doivent être au format d'encodage UTF-8. Les caractères internationaux sont autorisés.
  • La partie clé d'un libellé doit être unique. Cependant, vous pouvez utiliser la même clé avec plusieurs ressources.
  • Les clés doivent commencer par une lettre minuscule ou un caractère international.

Pour en savoir plus, consultez la documentation Google Cloud.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

Facultatif. Configuration des fonctionnalités de compréhension des requêtes en langage naturel, comme l'extraction des filtres de champ structurés à partir de la requête. Pour en savoir plus, consultez cette documentation. Si naturalLanguageQueryUnderstandingSpec n'est pas spécifié, aucune compréhension supplémentaire des requêtes en langage naturel ne sera effectuée.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

Recherchez la configuration au fur et à mesure de votre saisie. Compatible uniquement avec le secteur IndustryVertical.MEDIA.

customFineTuningSpec

object (CustomFineTuningSpec)

Configurations de réglage fin personnalisées. Si elle est définie, elle est prioritaire sur les configurations définies dans ServingConfig.custom_fine_tuning_spec.

displaySpec

object (DisplaySpec)

Facultatif. Configuration de la fonctionnalité d'affichage, comme la mise en surbrillance des correspondances dans les résultats de recherche.

crowdingSpecs[]

object (CrowdingSpec)

Facultatif. Spécifications de regroupement pour améliorer la diversité des résultats. Si plusieurs CrowdingSpecs sont spécifiés, l'encombrement sera évalué pour chaque combinaison unique des valeurs field, et maxCount sera la valeur maximale de maxCount pour tous les CrowdingSpecs. Par exemple, si le premier CrowdingSpec a field = "color" et maxCount = 3, et que le deuxième CrowdingSpec a field = "size" et maxCount = 2, alors après que trois documents partageant la même couleur ET la même taille ont été renvoyés, les suivants doivent être supprimés ou rétrogradés.

session

string

Nom de ressource de la session. Facultatif.

La session permet aux utilisateurs d'effectuer des appels d'API /search multitours ou de coordonner les appels d'API /search et /answer.

Exemple 1 (appels d'API /search multitours) : appelez l'API /search avec l'ID de session généré lors du premier appel. Ici, la requête de recherche précédente est prise en compte dans la position de la requête. Par exemple, si la première requête est "Comment s'est comportée Alphabet en 2022 ?" et que la requête actuelle est "Et en 2023 ?", elle sera interprétée comme "Quels ont été les résultats d'Alphabet en 2023 ?".

Exemple 2 (coordination entre les appels d'API /search et /answer) : appelez l'API /answer avec l'ID de session généré lors du premier appel. Ici, la génération de la réponse se fait dans le contexte des résultats de recherche du premier appel à la recherche.

sessionSpec

object (SessionSpec)

Spécification de la session.

Ne peut être utilisé que lorsque session est défini.

relevanceThreshold

enum (RelevanceThreshold)

Seuil de pertinence global des résultats de recherche.

La valeur par défaut est le seuil défini par Google, qui utilise un équilibre entre précision et rappel pour fournir des résultats très précis et une couverture complète des informations pertinentes.

Si vous avez besoin d'un filtrage de la pertinence plus précis, utilisez plutôt relevanceFilterSpec.

Cette fonctionnalité n'est pas disponible pour la recherche dans le secteur de la santé.

relevanceFilterSpec

object (RelevanceFilterSpec)

Facultatif. Spécification du filtrage par pertinence précis.

Si aucune valeur n'est spécifiée, la valeur relevanceThreshold globale sera utilisée pour toutes les sous-recherches. Si cette valeur est spécifiée, elle remplace le relevanceThreshold global pour utiliser des seuils par sous-recherche.

Cette fonctionnalité n'est actuellement disponible que pour la recherche personnalisée et la recherche sur le site.

personalizationSpec

object (PersonalizationSpec)

Spécification de la personnalisation.

Notez que si ServingConfig.personalization_spec et SearchRequest.personalization_spec sont définis, SearchRequest.personalization_spec remplace ServingConfig.personalization_spec.

relevanceScoreSpec

object (RelevanceScoreSpec)

Facultatif. Spécification pour renvoyer le score de pertinence.

searchAddonSpec

object (SearchAddonSpec)

Facultatif. SearchAddonSpec permet de désactiver les modules complémentaires pour la recherche conformément au nouveau modèle de revalorisation. Ce champ n'est disponible que pour les demandes de recherche.

customRankingParams

object (CustomRankingParams)

Facultatif. Configuration facultative pour la fonctionnalité de classement personnalisé.

entity

string

Facultatif. Entité pour les clients susceptibles d'exécuter plusieurs entités, domaines, sites ou régions différents (par exemple, "Google US", "Google Ads", "Waymo", "google.com", "youtube.com", etc.). Si cette valeur est définie, elle doit correspondre exactement à UserEvent.entity pour que les résultats de recherche soient boostés par entité.

ImageQuery

Spécifie l'entrée de la requête d'image.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "imageBytes": string
  // End of mutually exclusive fields.
}
Champs
Spécifie les octets de l'image. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
imageBytes

string

Octets de l'image encodés en base64. Formats d'image pris en charge : JPEG, PNG et BMP.

Fin des champs qui s'excluent mutuellement.

FacetSpec

Spécification d'attributs pour effectuer une recherche par attributs.

Représentation JSON
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
Champs
facetKey

object (FacetKey)

Obligatoire. Spécification de la clé de facette.

limit

integer

Valeurs maximales de facettes renvoyées pour cette facette. Si aucune valeur n'est spécifiée, la valeur par défaut est 20. La valeur maximale autorisée est de 300. Les valeurs supérieures à 300 sont réduites à 300. Pour l'agrégation dans la recherche médicale, lorsque [FacetKey.key] est défini sur "healthcare_aggregation_key", la limite est remplacée par 10 000 en interne, quelle que soit la valeur définie ici.

Si ce champ est négatif, une erreur INVALID_ARGUMENT est renvoyée.

excludedFilterKeys[]

string

Liste des clés à exclure lors de la création de facettes.

Par défaut, FacetKey.key n'est pas exclu du filtre à moins qu'il ne soit répertorié dans ce champ.

L'indication d'une clé de facette dans ce champ permet à ses valeurs d'apparaître comme résultats de facette, même lorsqu'elles sont exclues des résultats de recherche. L'utilisation de ce champ n'a aucune incidence sur les résultats de recherche affichés.

Par exemple, supposons qu'il y ait 100 documents avec la facette de couleur « Rouge » et 200 documents avec la facette de couleur « Bleu ». Une requête contenant le filtre "color:ANY("Red")" et ayant "color" comme FacetKey.key ne renverrait par défaut que les documents "Red" dans les résultats de recherche, et renverrait également "Red" avec un nombre de 100 comme seule facette de couleur. Bien que des documents bleus soient également disponibles, « Bleu » ne serait pas affiché comme une valeur de facette disponible.

Si « color » figure dans « excludedFilterKeys », la requête renvoie les valeurs de facette « Red » avec un nombre d’occurrences de 100 et « Blue » avec un nombre d’occurrences de 200, car la clé « color » est désormais exclue du filtre. Ce champ n'ayant aucune incidence sur les résultats de recherche, ces derniers sont toujours correctement filtrés pour ne renvoyer que les documents « rouges ».

Vous ne pouvez pas saisir plus de 100 valeurs. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

enableDynamicPosition

boolean

Permet une position dynamique pour cette facette. Si cette option est activée (valeur « true »), la position de cette facette parmi toutes les facettes de la réponse est déterminée automatiquement. Si les facettes dynamiques sont activées, elles sont regroupées. Si cette option est désactivée, la position de cette facette dans la réponse est la même que dans la requête, et elle est classée avant les facettes dont la position dynamique est activée et toutes les facettes dynamiques.

Par exemple, vous pouvez toujours souhaiter que la facette de notation soit renvoyée dans la réponse, mais il n'est pas nécessaire de toujours l'afficher en haut. Dans ce cas, vous pouvez définir enableDynamicPosition sur true afin que la position du volet d'évaluation dans la réponse soit déterminée automatiquement.

Autre exemple, en supposant que votre requête comporte les facettes suivantes :

  • "rating", enableDynamicPosition = true

  • "prix", activerPositionDynamique = faux

  • "marques", activerPositionDynamique = faux

Et vous avez également activé des facettes dynamiques, qui génèrent une facette gender. L'ordre final des facettes dans la réponse peut alors être (« prix », « marques », « évaluation », « sexe ») ou (« prix », « marques », « sexe », « évaluation ») selon la façon dont l'API ordonne les facettes « sexe » et « évaluation ». Notez cependant que « prix » et « marques » sont toujours classés en première et deuxième position car leur paramètre enableDynamicPosition est faux.

FacetKey

Spécifie comment un facette est calculée.

Représentation JSON
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
Champs
key

string

Obligatoire. Clés de facette textuelles et numériques acceptées dans l'objet Document, sur lesquelles les valeurs de facette sont calculées. La clé de facette est sensible à la casse.

intervals[]

object (Interval)

À définir uniquement si les valeurs doivent être réparties dans des intervalles. Doit être défini pour les facettes avec des valeurs numériques. Ne doit pas être défini pour une facette avec des valeurs de texte. Le nombre maximal d'intervalles est de 30.

restrictedValues[]

string

N'obtient la facette que pour les valeurs restreintes spécifiées. Uniquement compatible avec les champs textuels. Par exemple, supposons que "category" comporte trois valeurs : "Action > 2022", "Action > 2021" et "Sci-Fi > 2022". Si vous définissez "restrictedValues" sur "Action > 2022", la facette "category" ne contient que "Action > 2022". Uniquement compatible avec les champs textuels. Le maximum est de 10.

prefixes[]

string

N'obtient que les valeurs de facette qui commencent par le préfixe de chaîne donné. Par exemple, supposons que "category" comporte trois valeurs : "Action > 2022", "Action > 2021" et "Sci-Fi > 2022". Si vous définissez "prefixes" sur "Action", la facette "category" ne contient que "Action > 2022" et "Action > 2021". Uniquement compatible avec les champs textuels. Le maximum est de 10.

contains[]

string

N'obtient que les valeurs de facette contenant les chaînes données. Par exemple, supposons que "category" comporte trois valeurs : "Action > 2022", "Action > 2021" et "Sci-Fi > 2022". Si vous définissez "contient" sur "2022", la facette "category" ne contient que "Action > 2022" et "Sci-Fi > 2022". Uniquement compatible avec les champs textuels. Le maximum est de 10.

caseInsensitive

boolean

"True" pour rendre les clés de facette insensibles à la casse lors de l'obtention des valeurs de facette avec des préfixes ou des valeurs "contains", "false" dans le cas contraire.

orderBy

string

Ordre dans lequel les documents sont renvoyés.

Les valeurs autorisées sont les suivantes :

Si ce champ n'est pas défini, les valeurs textuelles sont triées dans l'ordre naturel, et les intervalles numériques sont triés dans l'ordre indiqué par FacetSpec.FacetKey.intervals.

Intervalle

Intervalle à virgule flottante.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "minimum": number,
  "exclusiveMinimum": number
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "maximum": number,
  "exclusiveMaximum": number
  // End of mutually exclusive fields.
}
Champs

La borne inférieure de l'intervalle. Si aucun des champs min n'est défini, la limite inférieure est l'infini négatif.

Ce champ ne doit pas dépasser la valeur maximale. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :

minimum

number

Limite inférieure incluse.

exclusiveMinimum

number

Limite inférieure exclusive.

Fin des champs qui s'excluent mutuellement.

Limite supérieure de l'intervalle. Si aucun des champs max n'est défini, alors la limite supérieure est l'infini positif.

Ce champ ne doit pas être inférieur à min. Sinon, une erreur INVALID_ARGUMENT est renvoyée. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :

maximum

number

Limite supérieure inclusive.

exclusiveMaximum

number

Limite supérieure exclusive.

Fin des champs qui s'excluent mutuellement.

QueryExpansionSpec

Spécification permettant de déterminer dans quelles conditions l'expansion de requête doit avoir lieu.

Représentation JSON
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
Champs
condition

enum (Condition)

La condition dans laquelle l'extension des requêtes doit avoir lieu. Valeur par défaut : Condition.DISABLED

pinUnexpandedResults

boolean

Indique si les résultats non développés doivent être épinglés. Si ce champ est défini sur "True", les produits non étendus s'affichent toujours en haut des résultats de recherche, suivis des résultats étendus.

Condition

Énumération décrivant la condition dans laquelle l'expansion de requête doit se produire.

Enums
CONDITION_UNSPECIFIED Condition d'extension des requêtes non spécifiée. Dans ce cas, le comportement du serveur est défini par défaut sur Condition.DISABLED.
DISABLED Extension des requêtes désactivée. Seule la requête de recherche exacte est utilisée, même si SearchResponse.total_size est égal à zéro.
AUTO Extension automatique des requêtes générée par l'API Search.

SpellCorrectionSpec

Spécification pour la correction orthographique des requêtes.

Représentation JSON
{
  "mode": enum (Mode)
}
Champs
mode

enum (Mode)

Le mode dans lequel la correction orthographique remplace la requête de recherche initiale. La valeur par défaut est Mode.AUTO.

Mode

Énumération décrivant le mode dans lequel la correction orthographique doit avoir lieu.

Enums
MODE_UNSPECIFIED Mode de correction orthographique non spécifié. Dans ce cas, le comportement du serveur est défini par défaut sur Mode.AUTO.
SUGGESTION_ONLY L'API de recherche tente de trouver une suggestion orthographique. Si une suggestion est trouvée, elle est placée dans SearchResponse.corrected_query. La suggestion orthographique ne sera pas utilisée comme requête de recherche.
AUTO Correction orthographique automatique intégrée à l'API Search. La recherche sera basée sur la requête corrigée si elle est trouvée.

EmbeddingSpec

Spécification qui utilise un vecteur d'embedding de requête personnalisé pour effectuer la récupération sémantique de documents.

Représentation JSON
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
Champs
embeddingVectors[]

object (EmbeddingVector)

Vecteur d'embedding utilisé pour la récupération. Limite de 1.

EmbeddingVector

Vecteur d'embedding.

Représentation JSON
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
Champs
fieldPath

string

Chemin d'accès du champ d'embedding dans le schéma.

vector[]

number

Vecteur d'intégration de requête.

RankingExpressionBackend

Backend à utiliser pour l'évaluation de l'expression de classement.

Enums
RANKING_EXPRESSION_BACKEND_UNSPECIFIED Option par défaut pour les valeurs non spécifiées/inconnues.
BYOE

Obsolète : utilisez plutôt RANK_BY_EMBEDDING. Classement par modèle d'embedding personnalisé, la méthode par défaut pour évaluer l'expression de classement. L'option d'énumération héritée, RANK_BY_EMBEDDING, doit être utilisée à la place.

CLEARBOX

Obsolète : utilisez plutôt RANK_BY_FORMULA. Classement par formule personnalisée. L'option d'énumération héritée, RANK_BY_FORMULA, doit être utilisée à la place.

RANK_BY_EMBEDDING Classement par modèle d'intégration personnalisé : méthode par défaut pour évaluer l'expression de classement.
RANK_BY_FORMULA Classement selon une formule personnalisée.

NaturalLanguageQueryUnderstandingSpec

Spécification permettant d'activer les fonctionnalités de compréhension du langage naturel pour les demandes de recherche.

Représentation JSON
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
Champs
filterExtractionCondition

enum (FilterExtractionCondition)

Condition dans laquelle l'extraction du filtre doit avoir lieu. Le comportement du serveur est par défaut DISABLED.

geoSearchQueryDetectionFieldNames[]

string

Noms de champs utilisés pour le filtrage basé sur la localisation, lorsque des filtres de géolocalisation sont détectés dans les requêtes de recherche en langage naturel. Valable uniquement lorsque FilterExtractionCondition est défini sur ENABLED.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

Facultatif. Contrôle le comportement d'application des filtres extraits à la recherche. Le comportement par défaut dépend de la requête. Pour la recherche structurée dans un seul datastore, la valeur par défaut est HARD_FILTER. Pour la recherche multi-bases de données, le comportement par défaut est SOFT_BOOST. Les filtres basés sur la localisation sont toujours appliqués comme des filtres stricts, et le paramètre SOFT_BOOST ne les affectera pas. Ce champ n'est utilisé que si SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition est défini sur FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

Facultatif. Liste des champs autorisés pour l'extraction de filtres en langage naturel. Par défaut, si cette option n'est pas spécifiée, tous les champs indexables sont éligibles à l'extraction de filtres en langage naturel (mais leur utilisation n'est pas garantie). Si des champs sont spécifiés dans allowedFieldNames, seuls les champs marqués comme indexables dans le schéma et spécifiés dans la liste d'autorisation seront éligibles pour l'extraction du filtre en langage naturel. Remarque : la recherche multi-bases de données n’est pas encore prise en charge et sera ignorée.

FilterExtractionCondition

Énumération décrivant les conditions dans lesquelles l'extraction du filtre doit avoir lieu.

Enums
CONDITION_UNSPECIFIED Le comportement du serveur est par défaut DISABLED.
DISABLED Désactive l'extraction du filtre NL.
ENABLED Permet l'extraction du filtre NL.

ExtractedFilterBehavior

Énumération décrivant comment les filtres extraits sont appliqués à la recherche.

Enums
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED utilisera le comportement par défaut pour les filtres extraits. Pour une recherche dans un seul magasin de données, la valeur par défaut consiste à appliquer des filtres stricts. Pour la recherche multi-bases de données, la valeur par défaut consiste à appliquer des améliorations douces.
HARD_FILTER Applique tous les filtres extraits comme filtres stricts aux résultats. Les résultats qui ne passent pas les filtres extraits ne seront pas inclus dans l'ensemble de résultats.
SOFT_BOOST Applique tous les filtres extraits sous forme d'améliorations douces. Les résultats qui passent les filtres seront mis en avant et placés à un rang plus élevé dans l'ensemble de résultats.

SearchAsYouTypeSpec

Spécifications pour la recherche en temps réel lors de la saisie des requêtes de recherche.

Représentation JSON
{
  "condition": enum (Condition)
}
Champs
condition

enum (Condition)

Les conditions dans lesquelles la recherche pendant la saisie doit avoir lieu. Valeur par défaut : Condition.DISABLED

Condition

Énumération décrivant la condition dans laquelle la recherche pendant la saisie doit avoir lieu.

Enums
CONDITION_UNSPECIFIED Le comportement du serveur est par défaut Condition.DISABLED.
DISABLED Désactive la recherche pendant la saisie.
ENABLED Permet la recherche pendant la saisie.
AUTO Permet de basculer automatiquement entre les modes de recherche "au fur et à mesure de la saisie" et "standard". Idéal pour les implémentations à une seule API (par exemple, la suppression des rebonds).

DisplaySpec

Spécifie les fonctionnalités d'affichage, comme la mise en évidence des matchs.

Représentation JSON
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
Champs
matchHighlightingCondition

enum (MatchHighlightingCondition)

Condition dans laquelle la mise en surbrillance des correspondances doit se produire.

MatchHighlightingCondition

Énumération décrivant la condition dans laquelle la mise en surbrillance des correspondances doit se produire.

Enums
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED Le comportement du serveur est identique à celui de MATCH_HIGHLIGHTING_DISABLED.
MATCH_HIGHLIGHTING_DISABLED Désactive la mise en surbrillance des correspondances sur tous les documents.
MATCH_HIGHLIGHTING_ENABLED Permet de mettre en surbrillance les correspondances dans tous les documents.

CrowdingSpec

Spécification pour l'encombrement. Le regroupement améliore la diversité des résultats de recherche en limitant le nombre de résultats qui partagent la même valeur de champ. Par exemple, le regroupement sur le champ "color" (couleur) avec un maxCount de 3 et un mode DROP_CROWDED_RESULTS renverra au maximum trois résultats avec la même couleur sur toutes les pages.

Représentation JSON
{
  "field": string,
  "maxCount": integer,
  "mode": enum (Mode)
}
Champs
field

string

Champ à utiliser pour l'encombrement. Les documents peuvent être encombrés par un champ dans l'objet Document. Le champ "Encombrement" est sensible à la casse.

maxCount

integer

Nombre maximal de documents à conserver par valeur du champ. Une fois qu'il y a au moins maxCount résultats précédents qui contiennent la même valeur pour le champ donné (selon l'ordre spécifié dans orderBy), les résultats ultérieurs avec la même valeur sont "écartés". Si aucune valeur n'est spécifiée, la valeur par défaut est 1.

mode

enum (Mode)

Mode à utiliser pour les documents qui sont éloignés.

Mode

Énumération décrivant le mode à utiliser pour les documents qui sont écartés. Elles peuvent être supprimées ou reléguées sur les pages suivantes.

Enums
MODE_UNSPECIFIED Mode d'encombrement non spécifié. Dans ce cas, le comportement du serveur est défini par défaut sur Mode.DROP_CROWDED_RESULTS.
DROP_CROWDED_RESULTS Supprimez les résultats regroupés.
DEMOTE_CROWDED_RESULTS_TO_END Reléguer les résultats encombrés sur les pages suivantes.

SessionSpec

Spécification de la session.

Représentation JSON
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
Champs
queryId

string

Si cette option est activée, le résultat de la recherche est enregistré dans le « tour » spécifié par cet ID de requête.

Exemple : Imaginons que la session se présente comme suit : session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } }

L'utilisateur peut appeler l'API /search avec une requête comme celle-ci :

session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" }

L'API stocke ensuite le résultat de la recherche, associé au dernier tour. Le résultat de recherche enregistré peut être utilisé par un appel API /answer ultérieur (avec l'ID de session et l'ID de requête spécifiés). Il est également possible d'appeler /search et /answer en parallèle avec le même ID de session et le même ID de requête.

searchResultPersistenceCount

integer

Nombre de meilleurs résultats de recherche à conserver. Les résultats de recherche enregistrés peuvent être utilisés pour l'appel API /answer ultérieur.

Ce champ est similaire au champ summaryResultCount dans SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

10 résultats maximum en mode Documents et 50 en mode Blocs.

RelevanceThreshold

Le seuil de pertinence des résultats de recherche. Plus le seuil de pertinence est élevé, plus les résultats affichés sont pertinents et moins il y a de résultats retournés.

Enums
RELEVANCE_THRESHOLD_UNSPECIFIED Valeur par défaut. Dans ce cas, le comportement du serveur est défini par défaut sur le seuil défini par Google.
LOWEST Seuil de pertinence le plus bas.
LOW Seuil de pertinence faible.
MEDIUM Seuil de pertinence moyen.
HIGH Seuil de pertinence élevé.

RelevanceFilterSpec

Spécification du filtrage par pertinence.

Représentation JSON
{
  "keywordSearchThreshold": {
    object (RelevanceThresholdSpec)
  },
  "semanticSearchThreshold": {
    object (RelevanceThresholdSpec)
  }
}
Champs
keywordSearchThreshold

object (RelevanceThresholdSpec)

Facultatif. Spécification du seuil de filtrage par pertinence pour la recherche par mots clés.

semanticSearchThreshold

object (RelevanceThresholdSpec)

Facultatif. Spécification du seuil de filtrage par pertinence pour la recherche sémantique.

RelevanceThresholdSpec

Spécification pour le filtrage par pertinence sur une sous-recherche spécifique.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "relevanceThreshold": enum (RelevanceThreshold),
  "semanticRelevanceThreshold": number
  // End of mutually exclusive fields.
}
Champs
Configure la façon dont le seuil de pertinence est déterminé. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
relevanceThreshold

enum (RelevanceThreshold)

Seuil de pertinence prédéfini pour la sous-recherche.

semanticRelevanceThreshold

number

Seuil de pertinence personnalisé pour la sous-recherche. La valeur doit être comprise entre 0,0 et 1,0.

Fin des champs qui s'excluent mutuellement.

RelevanceScoreSpec

Spécification pour renvoyer le score de pertinence du document.

Représentation JSON
{
  "returnRelevanceScore": boolean
}
Champs
returnRelevanceScore

boolean

Facultatif. Indique s'il faut renvoyer le score de pertinence pour les résultats de recherche. Plus le score est élevé, plus le document est pertinent par rapport à la requête.

SearchAddonSpec

SearchAddonSpec permet de désactiver les modules complémentaires pour la recherche conformément au nouveau modèle de revalorisation. Par défaut, si SearchAddonSpec n'est pas spécifié, nous considérons que le client souhaite les activer partout où cela est possible.

Représentation JSON
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
Champs
disableSemanticAddOn

boolean

Facultatif. Si la valeur est "true", le module complémentaire sémantique est désactivé. Le module complémentaire sémantique inclut les embeddings et JetStream.

disableKpiPersonalizationAddOn

boolean

Facultatif. Si la valeur est "true", le re-classement et la personnalisation des événements sont désactivés pour optimiser les KPI et personnaliser les résultats.

disableGenerativeAnswerAddOn

boolean

Facultatif. Si la valeur est "true", le module complémentaire de réponses génératives est désactivé. Le module complémentaire de réponses génératives inclut le langage naturel pour les filtres et les réponses simples.

CustomRankingParams

Paramètres de configuration de la fonctionnalité de classement personnalisé.

Représentation JSON
{
  "expressionsToPrecompute": [
    string
  ]
}
Champs
expressionsToPrecompute[]

string

Facultatif. Liste des expressions de classement à évaluer (consultez rankingExpression pour la documentation sur la syntaxe). Les résultats de l'évaluation seront renvoyés dans le champ SearchResponse.SearchResult.rank_signals.precomputed_expression_values.

QuerySetSpec

Décrit la spécification de l'ensemble de requêtes.

Représentation JSON
{
  "sampleQuerySet": string
}
Champs
sampleQuerySet

string

Facultatif. Le nom complet de la ressource SampleQuerySet utilisée pour l'évaluation, au format projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}.

QualityMetrics

Décrit les indicateurs produits par l'évaluation.

Représentation JSON
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
Champs
docRecall

object (TopkMetrics)

Rappel par document, à différents niveaux de seuil top-k.

Le rappel correspond à la fraction de documents pertinents récupérés sur l'ensemble des documents pertinents.

Exemple (top 5) : * Pour un seul SampleQuery, si 3 documents pertinents sur 5 sont récupérés dans le top 5, rappel@5 = 3/5 = 0,6

docPrecision

object (TopkMetrics)

Précision par document, à différents niveaux de seuil top-k.

La précision est la fraction des documents récupérés qui sont pertinents.

Exemple (top 5) : * Pour un seul SampleQuery, si 4 documents sur 5 récupérés dans le top 5 sont pertinents, precision@5 = 4/5 = 0,8

docNdcg

object (TopkMetrics)

Gain cumulatif actualisé normalisé (NDCG) par document, à différents niveaux de coupure top-k.

NDCG mesure la qualité du classement, accordant une plus grande importance aux meilleurs résultats.

Exemple (top 3) : supposons que SampleQuery avec trois documents récupérés (D1, D2, D3) et des jugements de pertinence binaires (1 pour pertinent, 0 pour non pertinent) :

Récupérés : [D3 (0), D1 (1), D2 (1)] Idéal : [D1 (1), D2 (1), D3 (0)]

Calculer NDCG@3 pour chaque SampleQuery : * DCG@3 : 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * DCG@3 idéal : 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3 : 1,13/1,63 = 0,693

pageRecall

object (TopkMetrics)

Rappel par page, à différents niveaux de coupure top-k.

Le taux de rappel correspond à la fraction de pages pertinentes récupérées parmi toutes les pages pertinentes.

Exemple (top-5) : * Pour un seul SampleQuery, si 3 des 5 pages pertinentes sont récupérées dans le top-5, recall@5 = 3/5 = 0,6

pageNdcg

object (TopkMetrics)

Gain cumulatif actualisé normalisé (NDCG) par page, à différents niveaux de coupure top-k.

Le NDCG mesure la qualité du classement, en accordant une plus grande pertinence aux résultats en première position.

Exemple (top-3) : Supposons SampleQuery avec trois pages récupérées (P1, P2, P3) et des jugements de pertinence binaires (1 pour pertinent, 0 pour non pertinent) :

Récupéré : [P3 (0), P1 (1), P2 (1)] Idéal : [P1 (1), P2 (1), P3 (0)]

Calculer NDCG@3 pour SampleQuery : * DCG@3 : 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * DCG@3 idéal : 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3 : 1,13/1,63 = 0,693

TopkMetrics

Stocke les valeurs des métriques à des niveaux spécifiques de top-k.

Représentation JSON
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
Champs
top1

number

La valeur numéro 1.

top3

number

Valeur du top 3.

top5

number

Valeur du top 5.

top10

number

Les 10 meilleures valeurs.

État

Décrit l'état d'une évaluation.

Enums
STATE_UNSPECIFIED L'évaluation n'est pas spécifiée.
PENDING Le service se prépare à procéder à l'évaluation.
RUNNING L'évaluation est en cours.
SUCCEEDED L'évaluation a bien été effectuée.
FAILED L'évaluation a échoué.

Méthodes

create

Crée un objet Evaluation.

get

Récupère un Evaluation.

list

Obtient une liste de Evaluation.

listResults

Obtient une liste de résultats pour un Evaluation donné.