Method: models.generateAnswer

Genera una respuesta basada en el modelo a partir de un GenerateAnswerRequest de entrada.

Solicitud HTTP

POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

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

Parámetros de ruta de acceso

Parámetros
model

string

Obligatorio. El nombre de Model que se usará para generar la respuesta en tierra.

Formato: model=models/{model}.

Cuerpo de la solicitud

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

Representación JSON
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
Campos
contents[]

object (Content)

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

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

answerStyle

enum (AnswerStyle)

Obligatorio. El 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á todo contenido y 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 una SafetyCategory determinada 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 basar la respuesta. Las direcciones (grounding_source) solo pueden ser una de las siguientes opciones:
inlinePassages

object (GroundingPassages)

Los pasajes se proporcionan intercalados en la solicitud.

semanticRetriever

object (SemanticRetrieverConfig)

Contenido recuperado de recursos creados con la API de Semantic Retriever.

temperature

number

Opcional. Controla la aleatorización del resultado.

Los valores pueden variar desde [0.0,1.0] inclusive. Un valor 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 atribuidas.

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:

Representación JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
Campos
answer

object (Candidate)

Respuesta del candidato del modelo.

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

answerableProbability

number

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

Una answerableProbability baja indica que la respuesta puede no estar basada en las fuentes.

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

  • Muestra al usuario el mensaje "No pudimos responder esa pregunta".
  • Recurre a un LLM de uso general que responda la pregunta a partir del conocimiento mundial. El umbral y la naturaleza de estos resguardos dependerán de los casos de uso de cada cliente. 0.5 es un buen umbral de inicio.
inputFeedback

object (InputFeedback)

Solo salida. Son comentarios relacionados con los datos de entrada usados para responder a la pregunta, en lugar de la respuesta generada por modelos a la pregunta.

Los "Datos de entrada" pueden ser uno o más de los siguientes valores:

  • Pregunta especificada por la última entrada en GenerateAnswerRequest.content
  • Historial de conversaciones especificados por las otras entradas en GenerateAnswerRequest.content
  • Fuentes de fundamentos (GenerateAnswerRequest.semantic_retriever o GenerateAnswerRequest.inline_passages)

Permisos de autorización

Se necesita uno de los siguientes alcances de OAuth:

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

Para obtener más información, consulta Descripción general de la autenticación.

GroundingPassages

Una lista repetida de pasajes.

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

object (GroundingPassage)

Lista de pasajes.

GroundingPassage

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

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

string

Identificador del pasaje para atribuirlo en respuestas fundadas.

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., corpora/123 o corpora/123/documents/abc.

query

object (Content)

Obligatorio. Consulta para usar para similitudes coincidentes Chunk en el recurso dado.

metadataFilters[]

object (MetadataFilter)

Opcional. Filtros para seleccionar Document o Chunk del recurso.

maxChunksCount

integer

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

minimumRelevanceScore

number

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

AnswerStyle

Estilo para respuestas fundadas.

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

InputFeedback

Son comentarios relacionados con los datos de entrada usados para responder a la pregunta, en lugar de la respuesta generada por modelos a la pregunta.

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

object (SafetyRating)

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

blockReason

enum (BlockReason)

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

BlockReason

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

Enumeradores
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.