Method: answerQuery

Responde una búsqueda con generación fundamentada.

Solicitud HTTP

POST https://developerknowledge.googleapis.com/v1alpha:answerQuery

La URL usa la sintaxis de la transcodificación de gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "query": string,
  "filter": string
}
Campos
query

string

Obligatorio. Es la búsqueda para responder.

filter

string

Opcional. Aplica un filtro estricto a los resultados de la búsqueda que se usan para fundamentar la respuesta. La expresión admite un subconjunto de la sintaxis que se describe en https://google.aip.dev/160.

Campos admitidos para el filtrado:

  • content_length_bytes (INTEGER): Es la longitud del campo Document.content en bytes.
  • data_source (cadena): Es la fuente del documento, p.ej., docs.cloud.google.com. Consulta https://developers.google.com/knowledge/reference/corpus-reference para ver la lista completa de fuentes de datos del corpus.
  • update_time (TIMESTAMP): Es la marca de tiempo de la última actualización significativa del documento. Una actualización significativa es aquella que cambia el contenido de Markdown o los metadatos del documento.
  • uri (CADENA): Es el URI del documento, p.ej., https://docs.cloud.google.com/bigquery/docs/tables.

Los campos INTEGER admiten los operadores =, <, <=, > y >=.

Los campos STRING admiten los operadores = (igual a) y != (no es igual a) para la coincidencia exacta en toda la cadena. No se admiten la coincidencia parcial, la coincidencia de prefijo ni la coincidencia de regex.

Los campos TIMESTAMP admiten los operadores =, <, <=, > y >=. Las marcas de tiempo deben estar en formato RFC-3339, p.ej., "2025-01-01T00:00:00Z".

Puedes combinar expresiones con los operadores lógicos AND, OR y NOT (o -). OR tiene mayor prioridad que AND. Usa paréntesis para agrupar la precedencia de forma explícita.

Ejemplos:

  • Filtrar por Document.content_length_bytes: content_length_bytes < 50000
  • data_source = "docs.cloud.google.com" OR data_source = "firebase.google.com"
  • data_source != "firebase.google.com"
  • update_time < "2024-01-01T00:00:00Z"
  • update_time >= "2025-01-22T00:00:00Z" AND (data_source = "developer.chrome.com" OR data_source = "web.dev")
  • uri = "https://docs.cloud.google.com/release-notes"

La cadena filter no debe superar los 500 caracteres. Los valores que superen este límite generarán un error INVALID_ARGUMENT.

Cuerpo de la respuesta

Mensaje de respuesta para DeveloperKnowledge.AnswerQuery.

Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

Representación JSON
{
  "answer": {
    object (Answer)
  }
}
Campos
answer

object (Answer)

Es la respuesta a la búsqueda.

Permisos de autorización

Se necesita uno de los siguientes permisos de OAuth:

  • https://www.googleapis.com/auth/devprofiles.full_control
  • https://www.googleapis.com/auth/developerprofiles.readonly
  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta OAuth 2.0 Overview.

Respuesta

Es la respuesta a una búsqueda.

Representación JSON
{
  "answerText": string,
  "citations": [
    {
      object (AnswerCitation)
    }
  ],
  "references": [
    {
      object (AnswerReference)
    }
  ]
}
Campos
answerText

string

Contiene el texto de la respuesta.

citations[]

object (AnswerCitation)

Solo salida. Contiene citas para la respuesta.

references[]

object (AnswerReference)

Solo salida. Contiene referencias para la respuesta.

AnswerCitation

Es la información de la cita de un segmento.

Representación JSON
{
  "startIndex": integer,
  "endIndex": integer,
  "sources": [
    {
      object (CitationSource)
    }
  ]
}
Campos
startIndex

integer

Solo salida. Indica el inicio del segmento, medido en bytes (Unicode UTF-8), inclusive. Si hay caracteres multibyte, como caracteres que no son ASCII, la medición del índice es más larga que la longitud de la cadena.

endIndex

integer

Solo salida. Indica el final del segmento, medido en bytes (Unicode UTF-8), exclusivo. Si hay caracteres multibyte, como caracteres que no son ASCII, la medición del índice es más larga que la longitud de la cadena.

sources[]

object (CitationSource)

Solo salida. Contiene las fuentes de citas del segmento atribuido.

CitationSource

Es la fuente de la cita.

Representación JSON
{
  "referenceIndex": integer
}
Campos
referenceIndex

integer

Solo salida. Contiene el índice del Answer.AnswerReference en el campo repetido references.

AnswerReference

Representa una referencia a una fuente.

Representación JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "documentReference": {
    object (DocumentReference)
  }
  // End of mutually exclusive fields.
}
Campos
Contiene el contenido de la referencia. A continuación, se incluye una lista de campos mutuamente excluyentes. En una respuesta, se establecerá, como máximo, uno de los siguientes campos:
documentReference

object (DocumentReference)

Solo salida. Es el documento de referencia.

Es el final de los campos mutuamente excluyentes.

DocumentReference

Representa una referencia a un documento.

Representación JSON
{
  "documentChunk": {
    object (DocumentChunk)
  }
}
Campos
documentChunk

object (DocumentChunk)

Solo salida. Contiene el fragmento del documento. El campo documentChunk.id no está configurado y estará vacío.