Question answering

Método: models.generateAnswer

Genera una respuesta fundamentada a partir del modelo según un objeto GenerateAnswerRequest de entrada.

Extremo

publicación https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

Parámetros de ruta

model string

Obligatorio. Es el nombre del Model que se usará para generar la respuesta con fundamento.

Formato: model=models/{model}. Toma la forma models/{model}.

Cuerpo de la solicitud

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

Campos
contents[] object (Content)

Obligatorio. El contenido de la conversación actual con el modelo. Para las consultas de un solo turno, esta es una sola pregunta por responder. Para las consultas de varios turnos, este es un campo repetido que contiene el historial de conversaciones y el último Content en la lista que contiene la pregunta.

Nota: Por el momento, models.generateAnswer solo admite consultas en inglés.

answerStyle enum (AnswerStyle)

Obligatorio. Estilo en el que se deben mostrar las respuestas.

safetySettings[] object (SafetySetting)

Opcional. Una lista de instancias de SafetySetting únicas para bloquear contenido no seguro.

Esto se aplicará de manera forzosa en GenerateAnswerRequest.contents y GenerateAnswerResponse.candidate. No debe haber más de un parámetro de configuración para cada tipo de SafetyCategory. La API bloqueará el contenido y las respuestas que no cumplan con los umbrales establecidos por esta configuración. Esta lista anula la configuración predeterminada para cada SafetyCategory especificado en SafetySettings. Si no hay un SafetySetting para un SafetyCategory determinado proporcionado en la lista, la API usará la configuración de seguridad predeterminada para esa categoría. Se admiten las categorías de daños HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT.

Campo de unión grounding_source. Las fuentes en las que se basa la respuesta. Las direcciones (grounding_source) solo pueden ser una de las siguientes opciones:
inlinePassages object (GroundingPassages)

Pasajes proporcionados intercalados con la solicitud.

semanticRetriever object (SemanticRetrieverConfig)

Contenido recuperado de recursos creados a través de la API de Semantic Retriever.

temperature number

Opcional. Controla la aleatorización de la salida.

Los valores pueden variar entre [0.0,1.0], inclusive. Un valor más cercano a 1.0 producirá respuestas más variadas y creativas, mientras que un valor cercano a 0.0 generalmente dará como resultado respuestas más directas del modelo. Por lo general, se recomienda una temperatura baja (~0.2) para los casos de uso de respuestas a preguntas de atribución.

Cuerpo de la respuesta

Respuesta del modelo para una respuesta fundamentada.

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

Campos
answer object (Candidate)

Respuesta candidata del modelo.

Nota: El modelo siempre intenta proporcionar una respuesta fundamentada, incluso cuando es poco probable que se pueda responder a partir de los pasajes dados. En ese caso, es posible que se proporcione una respuesta de baja calidad o sin fundamento, junto con una answerableProbability baja.

answerableProbability number

Solo salida. La estimación del modelo de la probabilidad de que su respuesta sea correcta y se base en los pasajes de entrada.

Un answerableProbability bajo indica que es posible que la respuesta no se base en las fuentes.

Cuando el valor de answerableProbability es bajo, es posible que algunos clientes deseen realizar lo siguiente:

  • Mostrar un mensaje que diga "No pudimos responder esa pregunta" para el usuario.
  • Recurre a un LLM de uso general que responda a la pregunta del conocimiento mundial. El umbral y la naturaleza de esos resguardos dependerán de los casos de uso de cada cliente. 0.5 es un buen umbral de inicio.
inputFeedback object (InputFeedback)

Solo salida. Comentarios relacionados con los datos de entrada usados para responder la pregunta, a diferencia de la respuesta generada por el modelo a la pregunta.

"Datos de entrada" puede ser uno o más de los siguientes:

  • Pregunta especificada por la última entrada en GenerateAnswerRequest.content
  • Historial de conversaciones especificado por las otras entradas en GenerateAnswerRequest.content
  • Fuentes de fundamentación (GenerateAnswerRequest.semantic_retriever o GenerateAnswerRequest.inline_passages)
Representación JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

Una lista repetida de pasajes

Representación JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
Campos
passages[] object (GroundingPassage)

Lista de pasajes.

GroundingPassage

El pasaje se incluyó intercalado con una configuración de puesta a tierra.

Representación JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}
Campos
id string

Es el identificador del pasaje para atribuirlo a respuestas fundamentadas.

content object (Content)

Contenido del pasaje.

SemanticRetrieverConfig

Configuración para recuperar contenido de fundamentos de un Corpus o Document creado con la API de Semantic Retriever.

Representación JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
Campos
source string

Obligatorio. Nombre del recurso para la recuperación, p.ej., corp./123 o corp./123/documents/abc.

query object (Content)

Obligatorio. Consulta que se usará para las coincidencias de similitud de los Chunk en el recurso dado.

metadataFilters[] object (MetadataFilter)

Opcional. Filtra para seleccionar Document o Chunk del recurso.

maxChunksCount integer

Opcional. Cantidad máxima de objetos Chunk relevantes que se deben recuperar.

minimumRelevanceScore number

Opcional. Puntuación de relevancia mínima de los Chunk relevantes recuperados.

AnswerStyle

Estilo para respuestas fundamentadas.

Enumeraciones
ANSWER_STYLE_UNSPECIFIED Estilo de respuesta sin especificar.
ABSTRACTIVE Estilo conciso, pero abstracto.
EXTRACTIVE Estilo muy breve y extractivo.
VERBOSE Estilo detallado con detalles adicionales La respuesta puede tener el formato de una oración o un párrafo, varios párrafos, viñetas, etcétera.

InputFeedback

Comentarios relacionados con los datos de entrada usados para responder la pregunta, a diferencia de la respuesta generada por el modelo a la pregunta.

Representación JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
Campos
safetyRatings[] object (SafetyRating)

Calificaciones de seguridad de la entrada. Hay, como máximo, una calificación por categoría.

blockReason enum (BlockReason)

Opcional. Si se configura, se bloqueó la entrada y no se muestran candidatos. Reformula tu entrada.

BlockReason

Especifica el motivo por el que se bloqueó la entrada.

Enumeraciones
BLOCK_REASON_UNSPECIFIED Valor predeterminado Este valor no se usa.
SAFETY Se bloqueó la entrada por razones de seguridad. Puedes inspeccionar safetyRatings para comprender qué categoría de seguridad lo bloqueó.
OTHER Se bloqueó la entrada por otros motivos.