REST Resource: projects.locations.evaluations

Recurso: Evaluation

Una evaluación es una sola ejecución (o corrida) de un proceso de evaluación. Encapsula el estado de la evaluación y los datos resultantes.

Representación JSON
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
Campos
name

string

Es el identificador. Es el nombre completo del recurso Evaluation, con el formato projects/{project}/locations/{location}/evaluations/{evaluation}.

Este campo debe ser una cadena codificada en UTF-8 con un límite de longitud de 1,024 caracteres.

evaluationSpec

object (EvaluationSpec)

Obligatorio. Es la especificación de la evaluación.

qualityMetrics

object (QualityMetrics)

Solo salida. Son las métricas que produce la evaluación, cuyo promedio se calcula en todos los SampleQuerys del SampleQuerySet.

Solo se completa cuando el estado de la evaluación es SUCCEEDED.

state

enum (State)

Solo salida. Es el estado de la evaluación.

error

object (Status)

Solo salida. Es el error que se produjo durante la evaluación. Solo se completa cuando el estado de la evaluación es FAILED.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo en la que se creó Evaluation.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Solo salida. Es la marca de tiempo en la que se completó el Evaluation.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Solo salida. Es una muestra de los errores que se encontraron durante el procesamiento de la solicitud.

EvaluationSpec

Describe la especificación de la evaluación.

Representación 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.
}
Campos
querySetSpec

object (QuerySetSpec)

Es opcional. Es la especificación del conjunto de consultas.

Es la especificación de la búsqueda. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
searchRequest

object (SearchRequest)

Obligatorio. Es la solicitud de búsqueda que se usa para realizar la evaluación.

Solo se admiten los siguientes campos dentro de SearchRequest. Si se proporcionan otros campos, se devolverá un error UNSUPPORTED:

Fin de los campos mutuamente excluyentes.

SearchRequest

Mensaje de solicitud para el método SearchService.Search.

Representación 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
}
Campos
servingConfig

string

Obligatorio. Es el nombre del recurso de la configuración de entrega de la búsqueda, como projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config o projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config. Este campo se usa para identificar el nombre de la configuración de entrega, el conjunto de modelos que se usan para realizar la búsqueda.

branch

string

Nombre del recurso de la rama, como projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0.

Usa default_branch como ID de rama o deja este campo vacío para buscar documentos en la rama predeterminada.

query

string

Es la búsqueda sin procesar.

pageCategories[]

string

Es opcional. Son las categorías asociadas a una página de categoría. Se debe configurar para las búsquedas de navegación por categorías para lograr una buena calidad de la búsqueda. El formato debe ser el mismo que el de PageInfo.page_category. Este campo es el equivalente de la consulta para las búsquedas de navegación. El modelo de navegación lo usa cuando la búsqueda está vacía.

Si el campo está vacío, el modelo de navegación no lo usará. Si el campo contiene más de un elemento, solo se usará el primero.

Para representar la ruta completa de una categoría, usa el carácter ">" para separar las diferentes jerarquías. Si ">" forma parte del nombre de la categoría, reemplázalo por otros caracteres. Por ejemplo, Graphics Cards > RTX>4090 > Founders Edition, donde "RTX > 4090" representa un nivel, se puede reescribir como Graphics Cards > RTX_4090 > Founders Edition.

imageQuery

object (ImageQuery)

Es la búsqueda de imágenes sin procesar.

pageSize

integer

Es la cantidad máxima de Documents que se devolverán. El valor máximo permitido depende del tipo de datos. Los valores superiores al valor máximo se fuerzan al valor máximo.

  • Sitios web con indexación básica: Predeterminado 10, Máximo 25.
  • Sitios web con indexación avanzada: Predeterminado 25, Máximo 50.
  • Otro: Predeterminado 50, máximo 100.

Si este campo es negativo, se devuelve un INVALID_ARGUMENT.

pageToken

string

Es un token de página que se recibió de una llamada a SearchService.Search anterior. Proporciona esto para recuperar la página siguiente.

Cuando se pagina, todos los demás parámetros proporcionados a SearchService.Search deben coincidir con la llamada que proporcionó el token de la página. De lo contrario, se devuelve un error INVALID_ARGUMENT.

offset

integer

Es un número entero indexado en 0 que especifica la compensación actual (es decir, la ubicación del resultado inicial, entre los Document que la API considera relevantes) en los resultados de la búsqueda. Este campo solo se tiene en cuenta si pageToken no está establecido.

Si este campo es negativo, se devuelve un INVALID_ARGUMENT.

Un desfase grande puede limitarse a un umbral razonable.

oneBoxPageSize

integer

Es la cantidad máxima de resultados que se mostrarán en OneBox. Esto se aplica a cada tipo de OneBox de forma individual. La cantidad predeterminada es 10.

dataStoreSpecs[]

object (DataStoreSpec)

Son las especificaciones que definen los DataStores específicos que se buscarán, junto con la configuración de esos almacenes de datos. Esto solo se considera para los Engines con varios almacenes de datos. En el caso de los motores con un solo almacén de datos, se deben usar las especificaciones que se encuentran directamente debajo de SearchRequest.

En un motor con varios almacenes de datos, este campo es opcional. Si está vacío, se buscará en todos los almacenes de datos del motor (búsqueda combinada). A menos que se especifique exactamente un almacén de datos, algunos campos de la solicitud, como orderBy y queryExpansionSpec, no son compatibles y devuelven un error INVALID_ARGUMENT.

numResultsPerDataStore

integer

Es opcional. Es la cantidad máxima de resultados que se recuperarán de cada almacén de datos. Si no se especifica, se usará SearchRequest.DataStoreSpec.num_results si se proporciona. De lo contrario, no habrá límite.

filter

string

La sintaxis del filtro consta de un lenguaje de expresiones para construir un predicado a partir de uno o más campos de los documentos que se filtran. La expresión de filtro distingue mayúsculas de minúsculas.

Si este campo no se reconoce, se devuelve un INVALID_ARGUMENT.

El filtrado en Vertex AI Search se realiza asignando la clave del filtro del LHD a una propiedad clave definida en el backend de Vertex AI Search. El cliente define esta asignación en su esquema. Por ejemplo, un cliente de medios podría tener un campo "nombre" en su esquema. En este caso, el filtro se vería de la siguiente manera: filter --> name:'ANY("king kong")'

Para obtener más información sobre el filtrado, incluida la sintaxis y los operadores de filtro, consulta Filtro.

canonicalFilter

string

Es el filtro predeterminado que se aplica cuando un usuario realiza una búsqueda sin marcar ningún filtro en la página de búsqueda.

Es el filtro que se aplica a cada solicitud de búsqueda cuando se necesita una mejora de la calidad, como la búsqueda expandida. En el caso de que una búsqueda no tenga una cantidad suficiente de resultados, se usará este filtro para determinar si se habilita o no el flujo de búsqueda expandida. El filtro original se seguirá usando para la búsqueda expandida de la consulta. Se recomienda encarecidamente completar este campo para lograr una alta calidad de la búsqueda.

Para obtener más información sobre la sintaxis de los filtros, consulta SearchRequest.filter.

orderBy

string

Es el orden en el que se devuelven los documentos. Los documentos se pueden ordenar por un campo en un objeto Document. Déjalo sin configurar si se ordena por relevancia. La expresión orderBy distingue mayúsculas de minúsculas.

Para obtener más información sobre cómo ordenar los resultados de la búsqueda en el sitio web, consulta Cómo ordenar los resultados de la búsqueda web. Para obtener más información sobre el orden de los resultados de la búsqueda de atención médica, consulta Cómo ordenar los resultados de la búsqueda de atención médica. Si este campo no se reconoce, se devuelve un INVALID_ARGUMENT.

userInfo

object (UserInfo)

Es la información sobre el usuario final. Se recomienda mucho para las estadísticas y la personalización. UserInfo.user_agent se usa para deducir deviceType para el análisis.

languageCode

string

El código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta Campos estándar. Este campo ayuda a interpretar mejor la búsqueda. Si no se especifica un valor, se detectará automáticamente el código de idioma de la búsqueda, lo que podría no ser preciso.

regionCode

string

El código Unicode de país o región (CLDR) de una ubicación, como “EE.UU.” y “419”. Para obtener más información, consulta Campos estándar. Si se configura, los resultados se potenciarán en función del valor de regionCode proporcionado.

facetSpecs[]

object (FacetSpec)

Son las especificaciones de facetas para la búsqueda por facetas. Si está vacío, no se devuelven facetas.

Se permite un máximo de 100 valores. De lo contrario, se devuelve un error INVALID_ARGUMENT.

boostSpec

object (BoostSpec)

Mejora la especificación para mejorar ciertos documentos. Para obtener más información sobre el aumento, consulta Aumento.

params

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

Son parámetros de búsqueda adicionales.

Solo para la búsqueda en sitios web públicos, los valores admitidos son los siguientes:

  • user_country_code: cadena. El valor predeterminado es vacío. Si se establece como no vacío, los resultados se restringen o se potencian según la ubicación proporcionada. Por ejemplo, user_country_code: "au"

Para ver los códigos disponibles, consulta Códigos de país.

  • searchType: double. El valor predeterminado es vacío. Habilita la búsqueda que no es de páginas web según el valor. El único valor válido que no es el predeterminado es 1, que habilita la búsqueda de imágenes. Por ejemplo, searchType: 1
queryExpansionSpec

object (QueryExpansionSpec)

Es la especificación de búsqueda expandida que indica las condiciones en las que se produce la búsqueda expandida.

spellCorrectionSpec

object (SpellCorrectionSpec)

Es la especificación de corrección ortográfica que indica el modo en el que se aplica la corrección ortográfica.

userPseudoId

string

Es opcional. Es un identificador único para hacer un seguimiento de los visitantes. Por ejemplo, esto se podría implementar con una cookie HTTP, que debería poder identificar de forma única a un visitante en un solo dispositivo. Este identificador único no debe cambiar si el visitante se conecta o desconecta del sitio web.

Este campo NO debe tener un valor fijo, como unknown_visitor.

Debe ser el mismo identificador que UserEvent.user_pseudo_id y CompleteQueryRequest.user_pseudo_id.

El campo debe ser una cadena codificada en UTF-8 con un límite de 128 caracteres. De lo contrario, se devuelve un error INVALID_ARGUMENT.

useLatestData

boolean

usa Engine, ServingConfig y Control recién leídos de la base de datos.

Nota: Esto omite la caché de configuración y presenta una dependencia de las bases de datos, lo que podría aumentar significativamente la latencia de la API. Solo se debería utilizar para pruebas, pero no para atender a los usuarios finales.

contentSearchSpec

object (ContentSearchSpec)

Es una especificación para configurar el comportamiento de la búsqueda de contenido.

embeddingSpec

object (EmbeddingSpec)

Usa el embedding proporcionado para realizar una recuperación semántica adicional de documentos. La recuperación se basa en el producto escalar de SearchRequest.EmbeddingSpec.EmbeddingVector.vector y la incorporación del documento que se proporciona en SearchRequest.EmbeddingSpec.EmbeddingVector.field_path.

Si no se proporciona SearchRequest.EmbeddingSpec.EmbeddingVector.field_path, se usará ServingConfig.EmbeddingConfig.field_path.

rankingExpression

string

Es opcional. La expresión de clasificación controla la clasificación personalizada en los documentos recuperados. Esta acción anula ServingConfig.ranking_expression. La sintaxis y las funciones admitidas dependen del valor de rankingExpressionBackend. Si no se proporciona rankingExpressionBackend, el valor predeterminado es RANK_BY_EMBEDDING.

Si no se proporciona rankingExpressionBackend o se establece en RANK_BY_EMBEDDING, debe ser una sola función o varias funciones unidas por "+".

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

Funciones compatibles:

  • double * relevanceScore
  • double * dotProduct(embedding_field_path)

Variables de función:

  • relevanceScore: Son palabras clave predefinidas que se usan para medir la relevancia entre la búsqueda y el documento.
  • embedding_field_path: Es el campo de incorporación de documentos que se usa con el vector de incorporación de la búsqueda.
  • dotProduct: Es la función de embedding entre embedding_field_path y el vector de embedding de la búsqueda.

Ejemplo de expresión de clasificación:

Si el documento tiene un campo de incorporación doc_embedding, la expresión de clasificación podría ser 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding).

Si rankingExpressionBackend se establece en RANK_BY_FORMULA, se admiten los siguientes tipos de expresiones (y combinaciones de esas expresiones encadenadas con los operadores + o *):

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0): Es la transformación del rango recíproco, en la que el segundo argumento es una constante del denominador.
  • isNan(signal): Devuelve 0 si el indicador es NaN y 1 en caso contrario.
  • fillNan(signal1, signal2 | double): Si signal1 es NaN, devuelve signal2 | double; de lo contrario, devuelve signal1.

A continuación, se incluyen algunos ejemplos de fórmulas de clasificación que usan los tipos de expresiones de clasificación admitidos:

  • 0.2 * semanticSimilarityScore + 0.8 * log(keywordSimilarityScore): Principalmente, se clasifica según el logaritmo de keywordSimilarityScore con un pequeño ajuste de semantic_smilarity_score.
  • 0.2 * exp(fillNan(semanticSimilarityScore, 0)) + 0.3 * isNan(keywordSimilarityScore): Clasifica según el exponente de semanticSimilarityScore y completa el valor con 0 si es NaN. También agrega un ajuste constante de 0.3 a la puntuación final si semanticSimilarityScore es NaN.
  • 0.2 * rr(semanticSimilarityScore, 16) + 0.8 * rr(keywordSimilarityScore, 16): Principalmente, se clasifica según el rango recíproco de keywordSimilarityScore con un pequeño ajuste del rango recíproco de semantic_smilarity_score.

Se admiten los siguientes indicadores:

  • semanticSimilarityScore: Ajuste de similitud semántica que se calcula con los embeddings generados por un modelo propietario de Google. Esta puntuación determina qué tan similar semánticamente es una búsqueda a un documento.
  • keywordSimilarityScore: El ajuste de la concordancia de palabras clave usa la función de clasificación Best Match 25 (BM25). Esta puntuación se calcula con un modelo probabilístico para estimar la probabilidad de que un documento sea pertinente para una búsqueda determinada.
  • relevanceScore: Ajuste de relevancia semántica que usa un modelo propietario de Google para determinar el significado y la intención detrás de la búsqueda de un usuario en el contexto del contenido de los documentos.
  • pctrRank: Ajuste del porcentaje de conversiones estimado como uso del ranking. La tasa de clics prevista (pCTR) se utiliza para medir la relevancia y el atractivo de un resultado de la búsqueda desde la perspectiva del usuario. Un pCTR más alto sugiere que es más probable que el resultado satisfaga la búsqueda y la intención del usuario, lo que lo convierte en un indicador valioso para la clasificación.
  • freshnessRank: Ajuste de actualidad como un rango
  • documentAge: Es el tiempo en horas transcurrido desde la última actualización del documento, un número de punto flotante (p.ej., 0.25 significa 15 minutos).
  • topicalityRank: Ajuste de la relevancia del tema como un ranking. Usa el modelo propietario de Google para determinar la superposición basada en palabras clave entre la búsqueda y el documento.
  • baseRank: Es el rango predeterminado del resultado.
  • mediaActorMatch: Indica si el actor de medios coincide con la búsqueda.
  • mediaDirectorMatch: Indica si el director de medios coincide con la búsqueda.
  • mediaGenreMatch: Indica si el género de los medios coincide con la búsqueda.
  • mediaLanguageMatch: Indica si el idioma de los medios coincide con la búsqueda.
  • mediaTitleMatch: Indica si el título del contenido multimedia coincide con la búsqueda.
  • mediaPrefixSimilarityRank: Es la clasificación de similitud del prefijo para los resultados de medios.
  • mediaSemanticSimilarityRank: Es la clasificación de similitud semántica para los resultados de medios.
rankingExpressionBackend

enum (RankingExpressionBackend)

Es opcional. Es el backend que se usará para la evaluación de la expresión de clasificación.

userLabels

map (key: string, value: string)

Las etiquetas de usuario que se aplican a un recurso deben cumplir con los siguientes requisitos:

  • Cada recurso puede tener varias etiquetas, hasta 64.
  • Cada etiqueta debe ser un par clave-valor.
  • Las claves tienen una longitud mínima de 1 carácter y una longitud máxima de 63 caracteres, y no pueden estar vacías. Los valores pueden estar vacíos y tener una longitud máxima de 63 caracteres.
  • Las claves y los valores solo pueden contener letras en minúscula, números, guiones bajos y guiones. Todos los caracteres deben usar la codificación UTF-8 y se permiten los caracteres internacionales.
  • La porción de clave de una etiqueta debe ser única. Sin embargo, puedes usar la misma clave en varios recursos.
  • Las claves deben empezar con una letra en minúscula o un carácter internacional.

Consulta el documento de Google Cloud para obtener más detalles.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

Es opcional. Es la configuración para las capacidades de comprensión de consultas de lenguaje natural, como la extracción de filtros de campos estructurados de la consulta. Consulta esta documentación para obtener más información. Si no se especifica naturalLanguageQueryUnderstandingSpec, no se realizará ninguna comprensión adicional de la consulta en lenguaje natural.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

Es la configuración de la función de búsqueda mientras escribes. Solo se admite para la vertical de IndustryVertical.MEDIA.

customFineTuningSpec

object (CustomFineTuningSpec)

Son parámetros de configuración personalizados para el ajuste fino. Si se configura, tiene mayor prioridad que los parámetros de configuración establecidos en ServingConfig.custom_fine_tuning_spec.

displaySpec

object (DisplaySpec)

Es opcional. Es la configuración de la función de visualización, como el resaltado de coincidencias en los resultados de la búsqueda.

crowdingSpecs[]

object (CrowdingSpec)

Es opcional. Son especificaciones de multiplicidad para mejorar la diversidad de los resultados. Si se especifican varios CrowdingSpecs, el hacinamiento se evaluará en cada combinación única de los valores de field, y maxCount será el valor máximo de maxCount en todos los CrowdingSpecs. Por ejemplo, si el primer CrowdingSpec tiene field = "color" y maxCount = 3, y el segundo CrowdingSpec tiene field = "size" y maxCount = 2, después de que se hayan devuelto 3 documentos que comparten el mismo color Y tamaño, se deben quitar o degradar los siguientes.

session

string

Es el nombre del recurso de sesión. Es opcional.

La sesión permite a los usuarios realizar llamadas a la API de /search de varios turnos o coordinar llamadas a la API de /search y llamadas a la API de /answer.

Ejemplo 1 (llamadas a la API de /search de varios turnos): Llama a la API de /search con el ID de sesión generado en la primera llamada. Aquí, la búsqueda anterior se tiene en cuenta en la relevancia de la búsqueda. Es decir, si la primera búsqueda es "¿Cómo le fue a Alphabet en 2022?". y la búsqueda actual es "¿Qué tal 2023?", se interpretará como "¿Cómo le fue a Alphabet en 2023?".

Ejemplo 2 (coordinación entre las llamadas a la API de /search y las llamadas a la API de /answer): Llama a la API de /answer con el ID de sesión generado en la primera llamada. Aquí, la generación de respuestas se produce en el contexto de los resultados de la búsqueda de la primera llamada de búsqueda.

sessionSpec

object (SessionSpec)

Es la especificación de la sesión.

Solo se puede usar cuando se establece session.

relevanceThreshold

enum (RelevanceThreshold)

Es el umbral de relevancia global de los resultados de la búsqueda.

De forma predeterminada, se utiliza el umbral definido por Google, que aprovecha un equilibrio entre la precisión y la recuperación para ofrecer resultados muy precisos y una cobertura integral de la información pertinente.

Si se requiere un filtrado de relevancia más detallado, usa relevanceFilterSpec en su lugar.

Esta función no es compatible con la búsqueda de atención médica.

relevanceFilterSpec

object (RelevanceFilterSpec)

Es opcional. Es la especificación del filtrado de relevancia detallado.

Si no se especifica, se usará el relevanceThreshold global para todas las búsquedas secundarias. Si se especifica, este parámetro anula el relevanceThreshold global para usar umbrales por cada subbúsqueda.

Actualmente, esta función solo es compatible con la búsqueda personalizada y las Búsquedas en el sitio.

personalizationSpec

object (PersonalizationSpec)

Es la especificación de la personalización.

Ten en cuenta que, si se configuran ServingConfig.personalization_spec y SearchRequest.personalization_spec, SearchRequest.personalization_spec anula ServingConfig.personalization_spec.

relevanceScoreSpec

object (RelevanceScoreSpec)

Es opcional. Es la especificación para devolver la puntuación de relevancia.

searchAddonSpec

object (SearchAddonSpec)

Es opcional. SearchAddonSpec se usa para inhabilitar los complementos de la búsqueda según el nuevo modelo de cambio de precios. Este campo solo se admite para las solicitudes de búsqueda.

customRankingParams

object (CustomRankingParams)

Es opcional. Es la configuración opcional para la función de clasificación personalizada.

entity

string

Es opcional. Es la entidad para los clientes que pueden administrar varias entidades, dominios, sitios o regiones diferentes, por ejemplo, "Google EE.UU.", "Google Ads", "Waymo", "google.com", "youtube.com", etcétera. Si se configura, debe coincidir exactamente con UserEvent.entity para que la entidad mejore los resultados de la búsqueda.

ImageQuery

Especifica la entrada de la búsqueda de imágenes.

Representación 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.
}
Campos
Especifica los bytes de la imagen. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
imageBytes

string

Son los bytes de la imagen codificados en Base64. Formatos de imagen admitidos: JPEG, PNG y BMP.

Fin de los campos mutuamente excluyentes.

FacetSpec

Es una especificación de faceta para realizar una búsqueda por facetas.

Representación JSON
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
Campos
facetKey

object (FacetKey)

Obligatorio. Es la especificación de la clave de faceta.

limit

integer

Es la cantidad máxima de valores de faceta que se devuelven para esta faceta. Si no se especifica, el valor predeterminado es 20. El valor máximo permitido es 300. Los valores superiores a 300 se limitan a 300. Para la agregación en la búsqueda de atención médica, cuando [FacetKey.key] es "healthcare_aggregation_key", el límite se anulará internamente y se establecerá en 10,000, independientemente del valor establecido aquí.

Si este campo es negativo, se devuelve un INVALID_ARGUMENT.

excludedFilterKeys[]

string

Es la lista de claves que se deben excluir cuando se generan facetas.

De forma predeterminada, FacetKey.key no se excluye del filtro, a menos que se incluya en este campo.

Si se incluye una clave de faceta en este campo, sus valores pueden aparecer como resultados de faceta, incluso cuando se filtran de los resultados de la búsqueda. El uso de este campo no afecta los resultados de la búsqueda que se devuelven.

Por ejemplo, supongamos que hay 100 documentos con la faceta de color "Rojo" y 200 documentos con la faceta de color "Azul". Una búsqueda que contenga el filtro "color:ANY("Red")" y que tenga "color" como FacetKey.key de forma predeterminada solo devolverá documentos "Rojos" en los resultados de la búsqueda y también devolverá "Rojo" con el recuento 100 como la única faceta de color. Si bien también hay documentos azules disponibles, "Azul" no se mostraría como un valor de faceta disponible.

Si "color" aparece en "excludedFilterKeys", la búsqueda devuelve los valores de faceta "Rojo" con el recuento 100 y "Azul" con el recuento 200, ya que la clave "color" ahora se excluye del filtro. Dado que este campo no afecta los resultados de la búsqueda, estos se filtran correctamente para mostrar solo los documentos "Rojos".

Se permite un máximo de 100 valores. De lo contrario, se devuelve un error INVALID_ARGUMENT.

enableDynamicPosition

boolean

Habilita la posición dinámica para esta faceta. Si se establece como verdadero, la posición de esta faceta entre todas las facetas de la respuesta se determina automáticamente. Si las facetas dinámicas están habilitadas, se ordenan juntas. Si se establece como falso, la posición de esta faceta en la respuesta es la misma que en la solicitud, y se clasifica antes que las facetas con posición dinámica habilitada y todas las facetas dinámicas.

Por ejemplo, es posible que siempre quieras que se muestre la faceta de calificación en la respuesta, pero no es necesario que siempre se muestre en la parte superior. En ese caso, puedes establecer enableDynamicPosition como verdadero para que la posición de la faceta de calificación en la respuesta se determine automáticamente.

Otro ejemplo, suponiendo que tienes las siguientes facetas en la solicitud:

  • "rating", enableDynamicPosition = true

  • "price", enableDynamicPosition = false

  • "brands", enableDynamicPosition = false

También tienes habilitadas las facetas dinámicas, que generan una faceta gender. Luego, el orden final de las facetas en la respuesta puede ser ("price", "brands", "rating", "gender") o ("price", "brands", "gender", "rating"), según cómo la API ordene las facetas "gender" y "rating". Sin embargo, observa que "precio" y "marcas" siempre se clasifican en la primera y segunda posición porque su enableDynamicPosition es falso.

FacetKey

Especifica cómo se calcula una faceta.

Representación JSON
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
Campos
key

string

Obligatorio. Son las claves de facetas textuales y numéricas admitidas en el objeto Document, sobre las que se calculan los valores de las facetas. La clave de faceta distingue mayúsculas de minúsculas.

intervals[]

object (Interval)

Solo se establece si los valores se deben agrupar en intervalos. Se debe establecer para las facetas con valores numéricos. No se debe establecer para la faceta con valores de texto. La cantidad máxima de intervalos es 30.

restrictedValues[]

string

Solo se obtiene la faceta para los valores restringidos determinados. Solo se admite en campos de texto. Por ejemplo, supongamos que "categoría" tiene tres valores: "Acción > 2022", "Acción > 2021" y "Ciencia ficción > 2022". Si se establece "restrictedValues" en "Action > 2022", la faceta "category" solo contiene "Action > 2022". Solo se admite en campos de texto. El valor máximo es 10.

prefixes[]

string

Solo se obtienen los valores de faceta que comienzan con el prefijo de cadena determinado. Por ejemplo, supongamos que "categoría" tiene tres valores: "Acción > 2022", "Acción > 2021" y "Ciencia ficción > 2022". Si se establece "prefixes" en "Action", la faceta "category" solo contiene "Action > 2022" y "Action > 2021". Solo se admite en campos de texto. El valor máximo es 10.

contains[]

string

Solo se obtienen los valores de faceta que contienen las cadenas proporcionadas. Por ejemplo, supongamos que "categoría" tiene tres valores: "Acción > 2022", "Acción > 2021" y "Ciencia ficción > 2022". Si se establece "contiene" en "2022", la faceta "categoría" solo contiene "Acción > 2022" y "Ciencia ficción > 2022". Solo se admite en campos de texto. El valor máximo es 10.

caseInsensitive

boolean

Es verdadero si las claves de faceta no distinguen mayúsculas de minúsculas cuando se obtienen valores de facetas con prefijos o con la función contains; de lo contrario, es falso.

orderBy

string

Es el orden en el que se devuelven los documentos.

Los valores permitidos son los siguientes:

Si no se establece, los valores textuales se ordenan en orden natural, y los intervalos numéricos se ordenan según el orden que indica FacetSpec.FacetKey.intervals.

Intervalo

Es un intervalo de punto flotante.

Representación 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.
}
Campos

Es el límite inferior del intervalo. Si no se establece ninguno de los campos de valor mínimo, el límite inferior es infinito negativo.

Este campo no debe ser mayor que el valor máximo. De lo contrario, se devolverá un error de INVALID_ARGUMENT. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:

minimum

number

Es el límite inferior inclusivo.

exclusiveMinimum

number

Es el límite inferior exclusivo.

Fin de los campos mutuamente excluyentes.

Es el límite superior del intervalo. Si no se establece ninguno de los campos de máximo, el límite superior es infinito positivo.

Este campo no debe ser inferior al valor mínimo. De lo contrario, se devolverá un error INVALID_ARGUMENT. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:

maximum

number

Límite superior inclusivo.

exclusiveMaximum

number

Es el límite superior exclusivo.

Fin de los campos mutuamente excluyentes.

QueryExpansionSpec

Es la especificación para determinar en qué condiciones se debe producir la búsqueda expandida.

Representación JSON
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
Campos
condition

enum (Condition)

Condición en la que se debe realizar la búsqueda expandida. Margen aproximado predeterminado: Condition.DISABLED

pinUnexpandedResults

boolean

Indica si se deben fijar los resultados sin expandir. Si este campo se establece como verdadero, los productos que no son parte de la búsqueda expandida siempre aparecerán en la parte superior de los resultados de la búsqueda, seguidos de los resultados expandidos.

Condición

Es una enumeración que describe en qué condición debe ocurrir la búsqueda expandida.

Enums
CONDITION_UNSPECIFIED No se especificó la condición de búsqueda expandida. En este caso, el comportamiento del servidor se establece de forma predeterminada en Condition.DISABLED.
DISABLED Se inhabilitó la búsqueda expandida. Solo se usa la búsqueda exacta, incluso si SearchResponse.total_size es cero.
AUTO Es la búsqueda expandida automática que crea la API de Search.

SpellCorrectionSpec

Es la especificación para la corrección ortográfica de búsquedas.

Representación JSON
{
  "mode": enum (Mode)
}
Campos
mode

enum (Mode)

Es el modo en el que la corrección ortográfica reemplaza la búsqueda original. La configuración predeterminada es Mode.AUTO.

Modo

Es un enum que describe en qué modo se debe realizar la corrección ortográfica.

Enums
MODE_UNSPECIFIED No se especificó el modo de corrección ortográfica. En este caso, el comportamiento del servidor se establece de forma predeterminada en Mode.AUTO.
SUGGESTION_ONLY La API de Search intenta encontrar una sugerencia ortográfica. Si se encuentra una sugerencia, se coloca en SearchResponse.corrected_query. La sugerencia ortográfica no se usará como consulta de búsqueda.
AUTO Corrección ortográfica automática creada por la API de Search. Si se encuentra, la búsqueda se basará en la consulta corregida.

EmbeddingSpec

Es la especificación que usa un vector de embedding de búsqueda personalizado para realizar la recuperación semántica de documentos.

Representación JSON
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
Campos
embeddingVectors[]

object (EmbeddingVector)

Es el vector de incorporación que se usa para la recuperación. Se limita a 1.

EmbeddingVector

Es el vector de embedding.

Representación JSON
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
Campos
fieldPath

string

Es la ruta del campo de embedding en el esquema.

vector[]

number

Es el vector de embedding de la búsqueda.

RankingExpressionBackend

Es el backend que se usará para la evaluación de la expresión de clasificación.

Enums
RANKING_EXPRESSION_BACKEND_UNSPECIFIED Es la opción predeterminada para los valores no especificados o desconocidos.
BYOE

Obsoleto: Usa RANK_BY_EMBEDDING en su lugar. Clasificación según el modelo de incorporación personalizado, la forma predeterminada de evaluar la expresión de clasificación. Es una opción de enumeración heredada. En su lugar, se debe usar RANK_BY_EMBEDDING.

CLEARBOX

Obsoleto: Usa RANK_BY_FORMULA en su lugar. Clasificación según una fórmula personalizada. Es una opción de enumeración heredada. En su lugar, se debe usar RANK_BY_FORMULA.

RANK_BY_EMBEDDING Clasificación según el modelo de incorporación personalizado, la forma predeterminada de evaluar la expresión de clasificación.
RANK_BY_FORMULA Clasificación según una fórmula personalizada.

NaturalLanguageQueryUnderstandingSpec

Es una especificación para habilitar las capacidades de comprensión del lenguaje natural para las solicitudes de búsqueda.

Representación JSON
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
Campos
filterExtractionCondition

enum (FilterExtractionCondition)

Es la condición en la que se debe realizar la extracción del filtro. El comportamiento predeterminado del servidor es DISABLED.

geoSearchQueryDetectionFieldNames[]

string

Son los nombres de los campos que se usan para el filtrado basado en la ubicación, en el que se detectan filtros de ubicación geográfica en las búsquedas en lenguaje natural. Solo es válido cuando FilterExtractionCondition se establece en ENABLED.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

Es opcional. Controla el comportamiento de cómo se aplican los filtros extraídos a la búsqueda. El comportamiento predeterminado depende de la solicitud. Para la búsqueda estructurada de un solo almacén de datos, el valor predeterminado es HARD_FILTER. Para la búsqueda en varios almacenes de datos, el comportamiento predeterminado es SOFT_BOOST. Los filtros basados en la ubicación siempre se aplican como filtros estrictos, y el parámetro de configuración SOFT_BOOST no los afectará. Este campo solo se usa si SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition se establece en FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

Es opcional. Lista de entidades permitidas de los campos que se pueden usar para la extracción de filtros de lenguaje natural. De forma predeterminada, si no se especifica, todos los campos indexables son aptos para la extracción de filtros en lenguaje natural (pero no se garantiza que se usen). Si se especifica algún campo en allowedFieldNames, solo los campos que estén marcados como indexables en el esquema y especificados en la lista de entidades permitidas serán aptos para la extracción de filtros de lenguaje natural. Nota: Para la búsqueda en varios almacenes de datos, esta opción aún no es compatible y se ignorará.

FilterExtractionCondition

Es un enum que describe bajo qué condición se debe realizar la extracción del filtro.

Enums
CONDITION_UNSPECIFIED El comportamiento predeterminado del servidor es DISABLED.
DISABLED Inhabilita la extracción de filtros de NL.
ENABLED Habilita la extracción de filtros de NL.

ExtractedFilterBehavior

Es una enumeración que describe cómo se aplican los filtros extraídos a la búsqueda.

Enums
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED usará el comportamiento predeterminado para los filtros extraídos. En el caso de la búsqueda en un solo almacén de datos, la configuración predeterminada es aplicar los filtros como filtros estrictos. En el caso de la búsqueda en varios almacenes de datos, la configuración predeterminada es aplicar aumentos leves.
HARD_FILTER Aplica todos los filtros extraídos como filtros estrictos en los resultados. Los resultados que no pasen los filtros extraídos no se devolverán en el conjunto de resultados.
SOFT_BOOST Aplica todos los filtros extraídos como refuerzos leves. Los resultados que pasen los filtros se promocionarán a clasificaciones más altas en el conjunto de resultados.

SearchAsYouTypeSpec

Es la especificación de la búsqueda mientras escribes en las solicitudes de búsqueda.

Representación JSON
{
  "condition": enum (Condition),
  "fields": [
    {
      object (Field)
    }
  ],
  "scoreThreshold": number
}
Campos
condition

enum (Condition)

Es la condición en la que debe ocurrir la búsqueda mientras escribes. Margen aproximado predeterminado: Condition.DISABLED

fields[]

object (Field)

Es opcional. Es la lista de campos que se usarán para la puntuación de la función de búsqueda predictiva.

scoreThreshold

number

Es opcional. Umbral de puntuación de la función de búsqueda mientras escribes para fines de filtrado. Conservamos el resultado si score >= scoreThreshold.

Condición

Es una enumeración que describe en qué condición debe ocurrir la búsqueda mientras escribes.

Enums
CONDITION_UNSPECIFIED El comportamiento predeterminado del servidor es Condition.DISABLED.
DISABLED Inhabilita la función de búsqueda mientras escribes.
ENABLED Habilita la función de búsqueda mientras escribes.
AUTO Cambio automático entre los modos de búsqueda a medida que escribes y de búsqueda estándar, ideal para implementaciones de una sola API (p.ej., eliminación de rebotes).

Campo

Es un campo de esquema que se usará para la puntuación de la función Búsqueda mientras escribes en esta solicitud. Anula cualquier configuración del campo de Búsqueda mientras escribes a nivel del almacén de datos durante la solicitud.

Representación JSON
{
  "key": string,
  "weight": number
}
Campos
key

string

Obligatorio. Es una clave de campo que se indexó para la función de búsqueda mientras escribes.

weight

number

Opcional. Es el peso de las puntuaciones de este campo. El valor predeterminado es 1.0 si no se especifica.

DisplaySpec

Especifica funciones para la visualización, como el resaltado de coincidencias.

Representación JSON
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
Campos
matchHighlightingCondition

enum (MatchHighlightingCondition)

Condición en la que se debe destacar la coincidencia.

MatchHighlightingCondition

Es una enumeración que describe en qué condición se debe destacar la coincidencia.

Enums
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED El comportamiento del servidor es el mismo que el de MATCH_HIGHLIGHTING_DISABLED.
MATCH_HIGHLIGHTING_DISABLED Inhabilita el resaltado de coincidencias en todos los documentos.
MATCH_HIGHLIGHTING_ENABLED Habilita el resaltado de coincidencias en todos los documentos.

CrowdingSpec

Es la especificación de la aglomeración. La multiplicidad mejora la diversidad de los resultados de la búsqueda, ya que limita la cantidad de resultados que comparten el mismo valor de campo. Por ejemplo, si se agrupa el campo de color con un maxCount de 3 y el modo DROP_CROWDED_RESULTS, se devolverán como máximo 3 resultados con el mismo color en todas las páginas.

Representación JSON
{
  "field": string,
  "maxCount": integer,
  "mode": enum (Mode)
}
Campos
field

string

Es el campo que se usará para el agrupamiento. Los documentos pueden estar saturados por un campo en el objeto Document. El campo de hacinamiento distingue mayúsculas de minúsculas.

maxCount

integer

Es la cantidad máxima de documentos que se conservarán por valor del campo. Una vez que haya al menos maxCount resultados anteriores que contengan el mismo valor para el campo determinado (según el orden especificado en orderBy), los resultados posteriores con el mismo valor se "descartan". Si no se especifica, el valor predeterminado es 1.

mode

enum (Mode)

Es el modo que se usará para los documentos que se descartan.

Modo

Es una enumeración que describe el modo que se usará para los documentos que se descartan por estar demasiado cerca. Se pueden descartar o degradar a las páginas posteriores.

Enums
MODE_UNSPECIFIED Modo de aglomeración sin especificar. En este caso, el comportamiento del servidor se establece de forma predeterminada en Mode.DROP_CROWDED_RESULTS.
DROP_CROWDED_RESULTS Descarta los resultados con mucha información.
DEMOTE_CROWDED_RESULTS_TO_END Disminuimos la posición de los resultados saturados a las páginas posteriores.

SessionSpec

Es la especificación de la sesión.

Representación JSON
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
Campos
queryId

string

Si se configura, el resultado de la búsqueda se almacena en el "turno" especificado por este ID de búsqueda.

Ejemplo: Supongamos que la sesión se ve de la siguiente manera: 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" } } }

El usuario puede llamar a la API de /search con una solicitud como esta:

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

Luego, la API almacena el resultado de la búsqueda asociado con el último turno. Un resultado de la búsqueda almacenado se puede usar en una llamada posterior a la API de /answer (con el ID de sesión y el ID de búsqueda especificados). También es posible llamar a /search y /answer en paralelo con el mismo ID de sesión y de búsqueda.

searchResultPersistenceCount

integer

Es la cantidad de resultados de la búsqueda principales que se conservarán. Los resultados de la búsqueda persistentes se pueden usar para la siguiente llamada a la API de /answer.

Este campo es similar al campo summaryResultCount en SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

Como máximo, 10 resultados para el modo de documentos o 50 para el modo de fragmentos.

RelevanceThreshold

Es el umbral de relevancia de los resultados de la búsqueda. Cuanto más alto sea el umbral de relevancia, más resultados pertinentes se mostrarán y menos resultados se devolverán.

Enums
RELEVANCE_THRESHOLD_UNSPECIFIED Valor predeterminado. En este caso, el comportamiento del servidor se establece de forma predeterminada en el umbral definido por Google.
LOWEST Es el umbral de relevancia más bajo.
LOW Es el umbral de relevancia bajo.
MEDIUM Umbral de relevancia medio.
HIGH Umbral de relevancia alto.

RelevanceFilterSpec

Es la especificación del filtrado de relevancia.

Representación JSON
{
  "keywordSearchThreshold": {
    object (RelevanceThresholdSpec)
  },
  "semanticSearchThreshold": {
    object (RelevanceThresholdSpec)
  }
}
Campos
keywordSearchThreshold

object (RelevanceThresholdSpec)

Es opcional. Especificación del umbral de filtrado de relevancia para la búsqueda de palabras clave.

semanticSearchThreshold

object (RelevanceThresholdSpec)

Es opcional. Es la especificación del umbral de filtrado de relevancia para la búsqueda semántica.

RelevanceThresholdSpec

Es la especificación para el filtrado de relevancia en una subbúsqueda específica.

Representación 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.
}
Campos
Configura cómo se determina el umbral de relevancia. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
relevanceThreshold

enum (RelevanceThreshold)

Es el umbral de relevancia predefinido para la subbúsqueda.

semanticRelevanceThreshold

number

Es el umbral de relevancia personalizado para la subbúsqueda. El valor debe estar entre [0.0, 1.0].

Fin de los campos mutuamente excluyentes.

RelevanceScoreSpec

Es la especificación para devolver la puntuación de relevancia del documento.

Representación JSON
{
  "returnRelevanceScore": boolean
}
Campos
returnRelevanceScore

boolean

Es opcional. Indica si se debe devolver la puntuación de relevancia para los resultados de la búsqueda. Cuanto más alta sea la puntuación, más pertinente será el documento para la búsqueda.

SearchAddonSpec

SearchAddonSpec se usa para inhabilitar los complementos de la búsqueda según el nuevo modelo de cambio de precios. De forma predeterminada, si no se especifica SearchAddonSpec, consideramos que el cliente desea habilitarlos siempre que sea aplicable.

Representación JSON
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
Campos
disableSemanticAddOn

boolean

Es opcional. Si es verdadero, el complemento semántico está inhabilitado. El complemento semántico incluye embeddings y Jetstream.

disableKpiPersonalizationAddOn

boolean

Es opcional. Si es verdadero, inhabilita la reclasificación y la personalización de eventos para optimizar los KPI y personalizar los resultados personales.

disableGenerativeAnswerAddOn

boolean

Es opcional. Si es verdadero, el complemento de respuesta generativa está inhabilitado. El complemento de respuestas generativas incluye lenguaje natural para filtros y respuestas simples.

CustomRankingParams

Son los parámetros de configuración de la función de clasificación personalizada.

Representación JSON
{
  "expressionsToPrecompute": [
    string
  ]
}
Campos
expressionsToPrecompute[]

string

Es opcional. Es una lista de expresiones de clasificación (consulta rankingExpression para ver la documentación de sintaxis) que se evaluarán. Los resultados de la evaluación se devolverán en el campo SearchResponse.SearchResult.rank_signals.precomputed_expression_values.

QuerySetSpec

Describe la especificación del conjunto de búsquedas.

Representación JSON
{
  "sampleQuerySet": string
}
Campos
sampleQuerySet

string

Es opcional. Es el nombre completo del recurso SampleQuerySet que se usó para la evaluación, con el formato projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}.

QualityMetrics

Describe las métricas que produce la evaluación.

Representación JSON
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
Campos
docRecall

object (TopkMetrics)

Recuperación por documento, en varios niveles de corte de los primeros k resultados.

La recuperación es la fracción de documentos relevantes recuperados de todos los documentos relevantes.

Ejemplo (top-5): * Para un solo SampleQuery, si se recuperan 3 de los 5 documentos pertinentes en los primeros 5 resultados, recall@5 = 3/5 = 0.6

docPrecision

object (TopkMetrics)

Es la precisión por documento, en varios niveles de corte de los primeros k resultados.

La precisión es la fracción de documentos recuperados que son pertinentes.

Ejemplo (top-5): * Para un solo SampleQuery, si 4 de los 5 documentos recuperados en el top-5 son relevantes, precision@5 = 4/5 = 0.8

docNdcg

object (TopkMetrics)

Es la ganancia acumulada normalizada y con descuento (NDCG) por documento, en varios niveles de corte de los primeros k resultados.

El NDCG mide la calidad de la clasificación y otorga mayor relevancia a los resultados principales.

Ejemplo (3 principales): Supongamos que SampleQuery tiene tres documentos recuperados (D1, D2 y D3) y juicios de relevancia binarios (1 para relevante y 0 para no relevante):

Recuperados: [D3 (0), D1 (1), D2 (1)] Ideales: [D1 (1), D2 (1), D3 (0)]

Calcula el NDCG@3 para cada SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * DCG@3 ideal: 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)

Es la recuperación por página en varios niveles de corte de los primeros k resultados.

La recuperación es la fracción de páginas relevantes recuperadas de todas las páginas relevantes.

Ejemplo (primeros 5): * Para un solo SampleQuery, si se recuperan 3 de las 5 páginas relevantes en los primeros 5 resultados, recuperación@5 = 3/5 = 0.6

pageNdcg

object (TopkMetrics)

Es la ganancia acumulada normalizada y con descuento (NDCG) por página, en varios niveles de corte de los primeros k resultados.

El NDCG mide la calidad de la clasificación y otorga mayor relevancia a los resultados principales.

Ejemplo (3 principales): Supongamos que SampleQuery tiene tres páginas recuperadas (P1, P2 y P3) y juicios de relevancia binarios (1 para relevante y 0 para no relevante):

Recuperado: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)]

Calcula NDCG@3 para SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * DCG@3 ideal: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693

TopkMetrics

Almacena los valores de la métrica en niveles específicos de los primeros k resultados.

Representación JSON
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
Campos
top1

number

Es el valor del primer lugar.

top3

number

Es el valor de los 3 primeros.

top5

number

Es el valor de los 5 primeros.

top10

number

Es el valor del 10% superior.

Estado

Describe el estado de una evaluación.

Enums
STATE_UNSPECIFIED La evaluación no está especificada.
PENDING El servicio se está preparando para ejecutar la evaluación.
RUNNING La evaluación está en curso.
SUCCEEDED La evaluación se completó correctamente.
FAILED La evaluación falló.

Métodos

create

Crea un Evaluation.

get

Obtienes una Evaluation.

list

Obtiene una lista de Evaluations.

listResults

Obtiene una lista de resultados para un Evaluation determinado.