REST Resource: projects.locations.evaluations

Ressource : Evaluation

Une évaluation correspond à une seule exécution (ou exécution) 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".

state

enum (State)

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

error

object (Status)

Uniquement en sortie. 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 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)
  },

  // Union field search_spec can be only one of the following:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of list of possible types for union field search_spec.
}
Champs
querySetSpec

object (QuerySetSpec)

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

Champ d'union search_spec. Spécification de la recherche. search_spec ne peut être qu'un des éléments suivants :
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 :

SearchRequest

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

Représentation JSON
{
  "servingConfig": string,
  "branch": string,
  "query": string,
  "imageQuery": {
    object (ImageQuery)
  },
  "pageSize": integer,
  "pageToken": string,
  "offset": integer,
  "oneBoxPageSize": integer,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "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,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "displaySpec": {
    object (DisplaySpec)
  },
  "session": string,
  "sessionSpec": {
    object (SessionSpec)
  },
  "relevanceThreshold": enum (RelevanceThreshold),
  "personalizationSpec": {
    object (PersonalizationSpec)
  },
  "relevanceScoreSpec": {
    object (RelevanceScoreSpec)
  },
  "searchAddonSpec": {
    object (SearchAddonSpec)
  }
}
Champs
servingConfig

string

Obligatoire. Nom de ressource de la configuration de diffusion de la recherche, par exemple 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, c'est-à-dire l'ensemble des 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.

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 : 10 par défaut, 25 maximum.
  • 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 comportant plusieurs data stores. Pour les moteurs avec un seul data store, les spécifications directement sous SearchRequest doivent être utilisées.

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, un INVALID_ARGUMENT est renvoyé.

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 la 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'expansion de la requête. 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 vide 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, un INVALID_ARGUMENT est renvoyé.

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 facettes pour la recherche par facettes. Si ce paramètre est vide, aucun facette n'est renvoyé.

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

boostSpec

object (BoostSpec)

Spécifiez un boost pour certains documents. Pour en savoir plus sur l'amplification, consultez Amplification.

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 cette 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

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 ou se déconnecte du site Web.

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.

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 permettant d'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 d'une requête 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, un 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
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 champs 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)

Configuration de la recherche au fur et à mesure de la saisie. Compatible uniquement avec le secteur IndustryVertical.MEDIA.

displaySpec

object (DisplaySpec)

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

session

string

Nom de la ressource de 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 pertinence de la requête. Par exemple, si la première requête est "Quels ont été les résultats d'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.

La fonctionnalité de recherche multitour est actuellement en disponibilité générale privée. Veuillez utiliser la version v1alpha ou v1beta en attendant que nous lancions cette fonctionnalité en disponibilité générale publique. Vous pouvez également demander à être ajouté à la liste d'autorisation auprès de l'équipe d'assistance Google.

sessionSpec

object (SessionSpec)

Spécification de la session.

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

relevanceThreshold

enum (RelevanceThreshold)

Seuil de pertinence des résultats de recherche.

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

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

personalizationSpec

object (PersonalizationSpec)

Spécification pour 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 compatible qu'avec les demandes de recherche.

ImageQuery

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

Représentation JSON
{

  // Union field image can be only one of the following:
  "imageBytes": string
  // End of list of possible types for union field image.
}
Champs

Champ d'union image.

image ne peut être qu'un des éléments suivants :

imageBytes

string

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

DataStoreSpec

Structure permettant de définir les data stores à filtrer dans un appel de recherche et les configurations de ces data stores. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée.

Représentation JSON
{
  "dataStore": string,
  "filter": string,
  "boostSpec": {
    object (BoostSpec)
  },
  "customSearchOperators": string
}
Champs
dataStore

string

Obligatoire. Nom complet de la ressource DataStore, par exemple projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}. Le chemin d'accès doit inclure le numéro du projet. L'ID du projet n'est pas accepté dans ce champ.

filter

string

Facultatif. Spécification de filtre permettant de filtrer les documents dans le data store spécifié par le champ "dataStore". Pour en savoir plus sur le filtrage, consultez Filtrage.

boostSpec

object (BoostSpec)

Facultatif. Spécifiez un boost pour certains documents. Pour en savoir plus sur l'amplification, consultez Amplification.

customSearchOperators

string

Facultatif. Opérateurs de recherche personnalisés qui, s'ils sont spécifiés, seront utilisés pour filtrer les résultats des datastores de l'espace de travail. Pour en savoir plus sur les opérateurs de recherche personnalisés, consultez SearchOperators.

BoostSpec

Spécifiez un boost pour certains documents.

Représentation JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Champs
conditionBoostSpecs[]

object (ConditionBoostSpec)

Spécifications du boost de condition. Si un document correspond à plusieurs conditions dans les spécifications, les scores d'amplification de ces spécifications sont tous appliqués et combinés de manière non linéaire. Le nombre maximal de spécifications est de 20.

ConditionBoostSpec

Le boost s'applique aux documents qui correspondent à une condition.

Représentation JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Champs
condition

string

Expression qui spécifie une condition d'optimisation. La syntaxe et les champs acceptés sont les mêmes que ceux d'une expression de filtre. Pour en savoir plus sur la syntaxe et les limites, consultez SearchRequest.filter.

Exemples :

  • Pour booster les documents dont l'ID est "doc_1" ou "doc_2", et dont la couleur est "Rouge" ou "Bleu" : (documentId: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))
boost

number

Intensité du boosting de la condition, qui doit être comprise entre -1 et 1. Un boosting négatif correspond à une rétrogradation. La valeur par défaut est 0.0.

Définir la valeur sur 1.0 permet de promouvoir fortement le document. Toutefois, cela ne signifie pas nécessairement que le document boosté sera toujours considéré comme le meilleur résultat, ni que d'autres documents seront forcément exclus. De plus, des résultats peuvent toujours être affichés, même si aucun article ne correspond à la condition. De plus, les résultats nettement plus pertinents pour la requête de recherche peuvent toujours l'emporter sur vos documents très privilégiés mais non pertinents.

Si vous définissez la valeur sur -1,0, le document est fortement rétrogradé. Toutefois, les résultats très pertinents peuvent toujours être affichés. Le document devra faire face à une concurrence en amont pour obtenir un classement assez élevé, mais il n'est pas complètement bloqué.

Si vous définissez la valeur sur 0,0, aucune amélioration n'est appliquée. La condition de boost est ignorée. Seule l'une des combinaisons (condition, boost) ou la boostControlSpec ci-dessous est définie. Si les deux sont définis, l'augmentation globale est ignorée et la spécification boostControlSpec plus précise est appliquée.

boostControlSpec

object (BoostControlSpec)

Spécification complexe pour le classement personnalisé basé sur la valeur d'un attribut défini par le client.

BoostControlSpec

Spécification du classement personnalisé basé sur la valeur d'un attribut spécifié par le client. Il offre plus de contrôles pour un classement personnalisé que la simple combinaison (condition, boost) ci-dessus.

Représentation JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Champs
fieldName

string

Nom du champ dont la valeur sera utilisée pour déterminer le montant du boost.

attributeType

enum (AttributeType)

Type d'attribut à utiliser pour déterminer le montant de l'augmentation. La valeur de l'attribut peut être dérivée de la valeur du champ spécifié dans fieldName. Dans le cas d'une valeur numérique, c'est simple : attributeValue = numerical_field_value. Dans le cas de la fraîcheur, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Type d'interpolation à appliquer pour connecter les points de contrôle listés ci-dessous.

controlPoints[]

object (ControlPoint)

Points de contrôle utilisés pour définir la courbe. La fonction monotone (définie par interpolationType ci-dessus) passe par les points de contrôle listés ici.

AttributeType

Attribut(ou fonction) auquel le classement personnalisé doit être appliqué.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED Type d'attribut non spécifié.
NUMERICAL La valeur du champ numérique sera utilisée pour mettre à jour dynamiquement le montant du boost. Dans ce cas, la valeur d'attribut (valeur x) du point de contrôle correspondra à la valeur réelle du champ numérique pour lequel boostAmount est spécifié.
FRESHNESS Dans le cas d'utilisation de la fraîcheur, la valeur de l'attribut correspond à la durée entre l'heure actuelle et la date spécifiée dans le champ "datetime". La valeur doit être au format XSD dayTimeDuration (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]]. Par exemple, 5D, 3DT12H30M, T24H.

InterpolationType

Type d'interpolation à appliquer. La valeur par défaut est "linéaire" (linéaire par morceaux).

Enums
INTERPOLATION_TYPE_UNSPECIFIED Le type d'interpolation n'est pas spécifié. Dans ce cas, la valeur par défaut est "Linéaire".
LINEAR Une interpolation linéaire par morceaux sera appliquée.

ControlPoint

Points de contrôle utilisés pour définir la courbe. La courbe définie par ces points de contrôle ne peut qu'augmenter ou diminuer de manière monotone(les valeurs constantes sont acceptables).

Représentation JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Champs
attributeValue

string

Peut être l'une des valeurs suivantes : 1. Valeur numérique du champ. 2. Spécification de la durée de fraîcheur : la valeur doit être mise en forme en tant que valeur dayTimeDuration XSD (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]].

boostAmount

number

Valeur comprise entre -1 et 1 permettant d'augmenter le score si la valeur de l'attribut correspond à la valeur spécifiée ci-dessus.

FacetSpec

Spécification d'attribut permettant d'effectuer une recherche par attribut.

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

Nombre maximal de valeurs d'attributs renvoyées pour cet attribut. 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, sauf s'il est indiqué dans ce champ.

Si vous indiquez une clé d'attribut dans ce champ, ses valeurs peuvent apparaître en tant que résultats d'attributs, même si elles sont filtrées dans les résultats de recherche. L'utilisation de ce champ n'a aucune incidence sur les résultats de recherche renvoyés.

Par exemple, supposons qu'il existe 100 documents avec l'attribut de couleur "Rouge" et 200 documents avec l'attribut de couleur "Bleu". Une requête contenant le filtre "color:ANY("Red")" et ayant "color" comme FacetKey.key renverrait par défaut uniquement les documents "Rouge" dans les résultats de recherche, ainsi que "Rouge" avec le nombre 100 comme seul attribut de couleur. Bien que des documents bleus soient également disponibles, "Bleu" ne s'affiche pas comme valeur de facette disponible.

Si "color" figure dans "excludedFilterKeys", la requête renvoie les valeurs d'attribut "Red" avec le nombre 100 et "Blue" avec le nombre 200, car la clé "color" est désormais exclue du filtre. Comme ce champ n'affecte pas les résultats de recherche, ils sont toujours correctement filtrés pour ne renvoyer que les documents "Rouge".

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

enableDynamicPosition

boolean

Active la position dynamique pour cet attribut. Si la valeur est "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 la valeur est définie sur "false", la position de cet attribut dans la réponse est la même que dans la requête. Il est classé avant les attributs dont la position dynamique est activée et tous les attributs dynamiques.

Par exemple, vous pouvez toujours vouloir que le facette de note 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" pour que la position du facette de note dans la réponse soit déterminée automatiquement.

Autre exemple, en supposant que vous ayez les facettes suivantes dans la requête :

  • "rating", enableDynamicPosition = true

  • "price", enableDynamicPosition = false

  • "brands", enableDynamicPosition = false

Vous avez également activé les facettes dynamiques, ce qui génère une facette gender. L'ordre final des facettes dans la réponse peut être ("price", "brands", "rating", "gender") ou ("price", "brands", "gender", "rating"), selon la façon dont l'API ordonne les facettes "gender" et "rating". Toutefois, notez que "price" et "brands" sont toujours classés en première et deuxième positions, car leur propriété enableDynamicPosition est définie sur "false".

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)

Ne définissez cette option que 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
{

  // Union field min can be only one of the following:
  "minimum": number,
  "exclusiveMinimum": number
  // End of list of possible types for union field min.

  // Union field max can be only one of the following:
  "maximum": number,
  "exclusiveMaximum": number
  // End of list of possible types for union field max.
}
Champs

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

Cette valeur ne doit pas être supérieure à la valeur maximale. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée. min ne peut être qu'un des éléments suivants :

minimum

number

Limite inférieure incluse.

exclusiveMinimum

number

Limite inférieure exclusive.

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

Ce champ ne doit pas être inférieur à la valeur minimale. Dans le cas contraire, une erreur INVALID_ARGUMENT est renvoyée. max ne peut être qu'un des éléments suivants :

maximum

number

Limite supérieure inclusive.

exclusiveMaximum

number

Limite supérieure exclusive.

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)

Condition dans laquelle l'extension de requête doit se produire. 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'expansion des requêtes non spécifiée. Dans ce cas, le comportement du serveur est défini par défaut sur Condition.DISABLED.
DISABLED L'extension des requêtes est 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 de la correction orthographique des requêtes.

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

enum (Mode)

Mode dans lequel la correction orthographique remplace la requête de recherche d'origine. 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 Search essaie 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. Limitez-le à 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'embedding de la 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. Option d'énumération ancienne. Utilisez RANK_BY_EMBEDDING à la place.

CLEARBOX

Obsolète : utilisez plutôt RANK_BY_FORMULA. Classement par formule personnalisée. Option d'énumération ancienne. Utilisez RANK_BY_FORMULA à la place.

RANK_BY_EMBEDDING Classement par modèle d'embedding personnalisé, la méthode par défaut pour évaluer l'expression de classement.
RANK_BY_FORMULA Classement par 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 défini par défaut sur 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. Valide uniquement lorsque FilterExtractionCondition est défini sur ENABLED.

Si ce champ est défini, il remplace les noms de champs définis dans ServingConfig.geo_search_query_detection_field_names.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

Facultatif. Contrôle le comportement d'application des filtres extraits à la recherche. Le comportement par défaut dépend de la demande. Pour la recherche structurée dans un seul datastore, la valeur par défaut est HARD_FILTER. Pour la recherche multidépôt de données, le comportement par défaut est SOFT_BOOST. Les filtres basés sur la localisation sont toujours appliqués en tant que filtres stricts. Le paramètre SOFT_BOOST n'a aucune incidence sur eux. Ce champ n'est utilisé que si [SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition][] est défini sur FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

Facultatif. Liste d'autorisation des champs pouvant être utilisés pour l'extraction de filtres en langage naturel. Par défaut, si ce paramètre n'est pas spécifié, tous les champs indexables peuvent être utilisés pour 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 pourront faire l'objet d'une extraction de filtres en langage naturel. Remarque : Pour la recherche multidatastore, cette option n'est pas encore disponible et sera ignorée.

FilterExtractionCondition

Énumération décrivant la condition dans laquelle l'extraction du filtre doit avoir lieu.

Enums
CONDITION_UNSPECIFIED Le comportement du serveur est défini par défaut sur DISABLED.
DISABLED Désactive l'extraction des filtres de langage naturel.
ENABLED Active l'extraction des filtres de langage naturel.

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 unique dans le datastore, l'option par défaut consiste à appliquer des filtres stricts. Pour la recherche multidatastore, la valeur par défaut consiste à appliquer des boosts faibles.
HARD_FILTER Applique tous les filtres extraits en tant que filtres stricts sur les résultats. Les résultats qui ne respectent pas les filtres extraits ne seront pas renvoyés dans l'ensemble de résultats.
SOFT_BOOST Applique tous les filtres extraits en tant que boosts modérés. Les résultats qui passent les filtres seront mis en avant et apparaîtront plus haut dans l'ensemble de résultats.

SearchAsYouTypeSpec

Spécification pour la recherche pendant la saisie dans les requêtes de recherche.

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

enum (Condition)

Condition dans laquelle la saisie semi-automatique doit se produire. Valeur par défaut : Condition.DISABLED

Condition

Énumération décrivant les conditions dans lesquelles la recherche à mesure de la saisie doit avoir lieu.

Enums
CONDITION_UNSPECIFIED Le comportement du serveur est défini par défaut sur Condition.DISABLED.
DISABLED Désactive l'affichage instantané des résultats.
ENABLED Active l'affichage instantané des résultats.
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 à afficher, comme la mise en surbrillance des correspondances.

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 dans tous les documents.
MATCH_HIGHLIGHTING_ENABLED Permet de mettre en surbrillance les correspondances dans tous les documents.

SessionSpec

Spécification de la session.

La fonctionnalité de recherche multitour est actuellement en disponibilité générale privée. Veuillez utiliser la version v1alpha ou v1beta en attendant que nous lancions cette fonctionnalité en disponibilité générale publique. Vous pouvez également demander à être ajouté à la liste d'autorisation auprès de l'équipe d'assistance Google.

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

string

Si cette option est définie, le résultat de la recherche est stocké dans le "tour" spécifié par cet ID de requête.

Exemple : Supposons que la session se présente comme suit : session { name: ".../sessions/xxx" turns { query { text: "Qu'est-ce que foo ?" queryId: ".../questions/yyy" } answer: "Foo est ..." } turns { query { text: "Et bar ?" 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 recherche, associé au dernier tour. Le résultat de recherche stocké peut être utilisé par un appel d'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 ID de requête.

searchResultPersistenceCount

integer

Nombre de meilleurs résultats de recherche à conserver. Les résultats de recherche persistants peuvent être utilisés pour l'appel d'API /answer suivant.

Ce champ est semblable au champ summaryResultCount de SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

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

RelevanceThreshold

Seuil de pertinence des résultats de recherche. Plus le seuil de pertinence est élevé, plus les résultats pertinents sont affichés et moins de résultats sont renvoyé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é.

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 afin d'optimiser les KPI et de 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.

QuerySetSpec

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

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

string

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

QualityMetrics

Décrit les métriques produites 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)

Bénéfice cumulé réduit normalisé (NDCG) par document, à différents niveaux de seuil 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 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)]

Calculez 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 seuil top-k.

Le rappel correspond à la fraction de pages pertinentes récupérées sur l'ensemble des pages pertinentes.

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

pageNdcg

object (TopkMetrics)

Bénéfice cumulé réduit normalisé (NDCG) par page, à différents niveaux de seuil 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 que 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 de métrique à des niveaux top-k spécifiques.

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

number

Valeur Top-1.

top3

number

Valeur du top 3.

top5

number

Valeur du top 5.

top10

number

La valeur du top 10.

É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 à exécuter 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é.