REST Resource: projects.locations.evaluations

Recurso: Evaluación

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, en 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 propaga 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 propaga 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ó el objeto Evaluation.

Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. 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 estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. 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)
  },

  // 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.
}
Campos
querySetSpec

object (QuerySetSpec)

Opcional. Es la especificación del conjunto de búsquedas.

Campo de unión search_spec. Es la especificación de búsqueda. search_spec puede ser solo uno de los siguientes:
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:

SearchRequest

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

Representación 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)
  }
}
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 el ID de la rama o deja este campo vacío para buscar documentos en la rama predeterminada.

query

string

Es la búsqueda sin procesar.

imageQuery

object (ImageQuery)

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

pageSize

integer

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 convierten al valor máximo.

  • Sitios web con indexación básica: 10 predeterminado y 25 máximo.
  • Sitios web con indexación avanzada: Predeterminado 25, Máximo 50.
  • Otro: El valor predeterminado es 50 y el máximo es 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 muestra un error INVALID_ARGUMENT.

offset

integer

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

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 devolverán para OneBox. Esto se aplica a cada tipo de OneBox de forma individual. La cantidad predeterminada es 10.

dataStoreSpecs[]

object (DataStoreSpec)

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

filter

string

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

Si este campo no se puede reconocer, 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 los filtros, incluidos los operadores y la sintaxis de filtros, 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 usar este campo para lograr una alta calidad de búsqueda.

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

orderBy

string

Es el orden en que se muestran 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 puede reconocer, se devuelve un INVALID_ARGUMENT.

userInfo

object (UserInfo)

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

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, el código de idioma de la búsqueda se detecta automáticamente, lo que puede 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 según el 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 muestra un error INVALID_ARGUMENT.

boostSpec

object (BoostSpec)

Especificación de refuerzo para reforzar 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íses.

  • 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 no predeterminado válido 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 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 accede al sitio web o sale de él.

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 muestra un error INVALID_ARGUMENT.

contentSearchSpec

object (ContentSearchSpec)

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

embeddingSpec

object (EmbeddingSpec)

Usa la incorporación proporcionada 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

Opcional. La expresión de clasificación controla la clasificación personalizada de los documentos recuperados. Esto 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 configura como RANK_BY_FORMULA, se admiten los siguientes tipos de expresiones (y combinaciones de esos tipos encadenados con los operadores + o *):

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0): Es una transformación del rango recíproco en la que el segundo argumento es una constante del denominador.
  • isNan(signal): Muestra 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 muestran 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 la clasificación recíproca de keywordSimilarityScore con un pequeño ajuste de la clasificación recíproca 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 previsto como uso del ranking. El porcentaje de clics previsto (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 ranking
  • 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 una clasificación. 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.
rankingExpressionBackend

enum (RankingExpressionBackend)

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 deben tener 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 su longitud máxima es 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 comenzar con una letra en minúscula o un carácter internacional.

Consulta Google Cloud Document para obtener más detalles.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

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 búsqueda en lenguaje natural.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

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

displaySpec

object (DisplaySpec)

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

session

string

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

La sesión permite a los usuarios realizar varias llamadas a la API de /search 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 considera en la posición de la consulta. 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.

Actualmente, la función de búsqueda de turnos múltiples se encuentra en la etapa de disponibilidad general privada. Usa la versión v1alpha o v1beta antes de que lancemos esta función para la DG pública, o bien solicita que se agregue a la lista de entidades permitidas a través del equipo de Atención al cliente de Google.

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 de los resultados de la búsqueda.

Se establece de forma predeterminada 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.

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

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)

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

searchAddonSpec

object (SearchAddonSpec)

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.

ImageQuery

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

Representación JSON
{

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

Campo de unión image.

image puede ser una de las siguientes opciones:

imageBytes

string

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

DataStoreSpec

Es una estructura para definir los almacenes de datos en los que se filtrará una llamada de búsqueda y las configuraciones de esos almacenes de datos. De lo contrario, se muestra un error INVALID_ARGUMENT.

Representación JSON
{
  "dataStore": string,
  "filter": string,
  "boostSpec": {
    object (BoostSpec)
  },
  "customSearchOperators": string
}
Campos
dataStore

string

Obligatorio. Nombre completo del recurso DataStore, como projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}. La ruta de acceso debe incluir el número del proyecto. No se admite el ID del proyecto en este campo.

filter

string

Opcional. Es la especificación del filtro para filtrar documentos en el almacén de datos especificado por el campo dataStore. Para obtener más información sobre el filtrado, consulta Filtrado.

boostSpec

object (BoostSpec)

Opcional. Especificación de refuerzo para reforzar ciertos documentos. Para obtener más información sobre el aumento, consulta Aumento.

customSearchOperators

string

Opcional. Son operadores de búsqueda personalizados que, si se especifican, se usarán para filtrar los resultados de los almacenes de datos del espacio de trabajo. Para obtener más información sobre los operadores de búsqueda personalizados, consulta SearchOperators.

BoostSpec

Especificación de refuerzo para reforzar ciertos documentos.

Representación JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Son las especificaciones de la mejora de la condición. Si un documento coincide con varias condiciones en las especificaciones, se aplican y combinan de forma no lineal todas las puntuaciones de refuerzo de estas especificaciones. La cantidad máxima de especificaciones es 20.

ConditionBoostSpec

El refuerzo se aplica a los documentos que cumplen con una condición.

Representación JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Es una expresión que especifica una condición de refuerzo. La sintaxis y los campos admitidos son los mismos que los de una expresión de filtro. Consulta SearchRequest.filter para obtener detalles sobre la sintaxis y las limitaciones.

Ejemplos:

  • Para potenciar los documentos con el ID "doc_1" o "doc_2", y el color "Rojo" o "Azul", usa (documentId: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue")).
boost

number

Es la intensidad del boosting de condición, que debe estar en el rango [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0.

Si se establece en 1.0, el documento recibirá una gran promoción. Sin embargo, esto no significa necesariamente que el documento con boosting será el primer resultado siempre ni que se excluirán otros documentos. Es posible que se muestren resultados incluso si ninguno cumple la condición. Además, los resultados que son significativamente más relevantes para la búsqueda aún pueden tener prioridad sobre los documentos que prefieres, pero que son irrelevantes.

Si se establece en -1.0, el documento recibirá un gran descenso. Sin embargo, es posible que se sigan mostrando los resultados muy relevantes. El documento tendrá una batalla ascendente para obtener una clasificación bastante alta, pero no se bloqueará por completo.

Si se establece en 0.0, no se aplica ningún aumento. Se ignora la condición de refuerzo. Solo se establece una de las combinaciones (condición, aumento) o el objeto boostControlSpec que se muestra a continuación. Si se configuran ambos, se ignorará el refuerzo global y se aplicará el boostControlSpec más detallado.

boostControlSpec

object (BoostControlSpec)

Es una especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

BoostControlSpec

Es la especificación para la clasificación personalizada basada en el valor del atributo especificado por el cliente. Proporciona más controles para la clasificación personalizada que la combinación simple (condición, refuerzo) anterior.

Representación JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Nombre del campo cuyo valor se usará para determinar el importe del aumento.

attributeType

enum (AttributeType)

Es el tipo de atributo que se usará para determinar el importe del aumento. El valor del atributo se puede derivar del valor del campo del campo especificado en fieldName. En el caso de los valores numéricos, es sencillo, es decir, attributeValue = numerical_field_value. Sin embargo, en el caso de la actualización, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Es el tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación.

controlPoints[]

object (ControlPoint)

Son los puntos de control que se usan para definir la curva. La función monotónica (definida a través de interpolationType más arriba) pasa por los puntos de control que se indican aquí.

AttributeType

Es el atributo(o la función) para el que se aplicará la clasificación personalizada.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType no especificado.
NUMERICAL El valor del campo numérico se usará para actualizar de forma dinámica el importe del aumento. En este caso, el atributo attributeValue (el valor de X) del punto de control será el valor real del campo numérico para el que se especifica boostAmount.
FRESHNESS En el caso de uso de la actualización, el valor del atributo será la duración entre la hora actual y la fecha especificada en el campo de fecha y hora. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es: [nD][T[nH][nM][nS]]. Por ejemplo, 5D, 3DT12H30M, T24H.

InterpolationType

Es el tipo de interpolación que se aplicará. El valor predeterminado será lineal (lineal por partes).

Enums
INTERPOLATION_TYPE_UNSPECIFIED No se especificó el tipo de interpolación. En este caso, se establece de forma predeterminada en lineal.
LINEAR Se aplicará la interpolación lineal por partes.

ControlPoint

Son los puntos de control que se usan para definir la curva. La curva definida a través de estos puntos de control solo puede aumentar o disminuir de forma monotónica(se aceptan valores constantes).

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Puede ser uno de los siguientes: 1. Es el valor del campo numérico. 2. Es la especificación de duración para la actualización. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es: [nD][T[nH][nM][nS]].

boostAmount

number

Es el valor entre -1 y 1 por el que se aumentará la puntuación si attributeValue se evalúa como el valor especificado anteriormente.

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 convertirán 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 a 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 excluirán cuando se creen facetas.

De forma predeterminada, FacetKey.key no se excluye del filtro, a menos que aparezca 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 muestran.

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 mostrará los documentos "Rojos" en los resultados de la búsqueda y también mostrará "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 la 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 muestra 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 desees que se muestre la faceta de clasificació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 clasificación en la respuesta se determine automáticamente.

Otro ejemplo, suponiendo que tienes los siguientes facets 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 ("precio", "marcas", "calificación", "género") o ("precio", "marcas", "género", "calificación"), según cómo la API ordene las facetas "género" y "calificación". Sin embargo, observa que "price" y "brands" 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, para las que se calculan los valores de 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 configurar 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 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 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 contendrá "Acción > 2022" y "Ciencia ficción > 2022". Solo se admite en campos de texto. El 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 contiene; de lo contrario, es falso.

orderBy

string

Es el orden en que se muestran 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
{

  // 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.
}
Campos

Campo de unión min. 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 mostrará un error INVALID_ARGUMENT. min puede ser solo uno de los siguientes:

minimum

number

Es el límite inferior inclusivo.

exclusiveMinimum

number

Límite inferior exclusivo.

Campo de unión max. 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ín. De lo contrario, se muestra un error INVALID_ARGUMENT. max puede ser solo uno de los siguientes:

maximum

number

Es el límite superior inclusivo.

exclusiveMaximum

number

Límite superior exclusivo.

QueryExpansionSpec

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

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

enum (Condition)

Es la 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 bajo 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 Búsqueda expandida automática que crea la API de Search.

SpellCorrectionSpec

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

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 una enumeración 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 de ortografía no se usará como consulta de búsqueda.
AUTO Corrección ortográfica automática integrada en la API de Search. La búsqueda se basará en la consulta corregida, si se encuentra.

EmbeddingSpec

Es la especificación que usa un vector de incorporación 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. Límite de 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. Es el ranking 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 Es el ranking 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)

Condición en la que se debe realizar la extracción del filtro. El comportamiento del servidor se establece de forma predeterminada en 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.

Si se configura este campo, se anulan los nombres de los campos establecidos en ServingConfig.geo_search_query_detection_field_names.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

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. En el caso de 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.natural_language_query_understanding_spec.filter_extraction_condition][] se establece en FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

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 de 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 en lenguaje natural. Nota: Aún no se admite la búsqueda en varios almacenes de datos, por lo que se ignorará este parámetro.

FilterExtractionCondition

Es una enumeración que describe en qué condición se debe realizar la extracción del filtro.

Enums
CONDITION_UNSPECIFIED El comportamiento del servidor se establece de forma predeterminada en DISABLED.
DISABLED Inhabilita la extracción de filtros de NL.
ENABLED Habilita la extracción de filtros de lenguaje natural.

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 filtros estrictos. En el caso de la búsqueda en varios almacenes de datos, la configuración predeterminada es aplicar los aumentos como 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 impulsará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)
}
Campos
condition

enum (Condition)

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

Condición

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

Enums
CONDITION_UNSPECIFIED El comportamiento del servidor se establece de forma predeterminada en 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 estándar y de búsqueda mientras escribes, ideal para implementaciones de una sola API (p.ej., eliminación de rebotes).

DisplaySpec

Especifica las funciones para mostrar, 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.

SessionSpec

Es la especificación de la sesión.

Actualmente, la función de búsqueda de turnos múltiples se encuentra en la etapa de disponibilidad general privada. Usa la versión v1alpha o v1beta antes de que lancemos esta función para la DG pública, o bien solicita que se agregue a la lista de entidades permitidas a través del equipo de Atención al cliente de Google.

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. El 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 consulta 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 llamada posterior 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 Umbral de relevancia bajo.
MEDIUM Umbral de relevancia medio.
HIGH Umbral de relevancia alto.

RelevanceScoreSpec

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

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

boolean

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

Opcional. Si es verdadero, se inhabilita el complemento semántico. El complemento semántico incluye embeddings y jetstream.

disableKpiPersonalizationAddOn

boolean

Opcional. Si es verdadero, inhabilita la clasificación y la personalización de eventos para optimizar los KPI y personalizar los resultados.

disableGenerativeAnswerAddOn

boolean

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

QuerySetSpec

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

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

string

Opcional. Es el nombre completo del recurso SampleQuerySet que se usa 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 pertinentes recuperados de todos los documentos pertinentes.

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

docPrecision

object (TopkMetrics)

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

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 (los 3 primeros): 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)

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 (5 primeros): * Para un solo SampleQuery, si se recuperan 3 de las 5 páginas relevantes en los 5 primeros resultados, recuperación@5 = 3/5 = 0.6

pageNdcg

object (TopkMetrics)

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 mejores K.

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

number

Es el valor del primer resultado.

top3

number

Es el valor de los 3 primeros.

top5

number

Es el valor de los 5 principales.

top10

number

Es el valor de los 10 primeros.

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 Se produjo un error en la evaluación.

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.