La API de Semantic Retrieval proporciona un servicio de respuesta de preguntas alojado para compilar sistemas de generación mejorada de recuperación (RAG) con la infraestructura de Google. Para obtener una explicación detallada, consulta la guía de recuperación semántica.
Método: models.generateAnswer
- Extremo
- Parámetros de ruta de acceso
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Genera una respuesta fundamentada a partir del modelo, dada una entrada GenerateAnswerRequest
.
Extremo
publicaciónhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
La URL usa la sintaxis de la transcodificación gRPC.
Parámetros de ruta
model
string
Obligatorio. Es el nombre del Model
que se usará para generar la respuesta fundamentada.
Formato: model=models/{model}
. Tiene el formato models/{model}
.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
contents[]
object (Content
)
Obligatorio. El contenido de la conversación actual con el Model
. Para consultas de un solo turno, esta es una sola pregunta que se debe responder. Para 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: models.generateAnswer
solo admite consultas en inglés.
answerStyle
enum (AnswerStyle
)
Obligatorio. Es el estilo en el que se deben mostrar las respuestas.
safetySettings[]
object (SafetySetting
)
Opcional. Es una lista de instancias SafetySetting
únicas para bloquear contenido no seguro.
Esto se aplicará 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 el contenido y las respuestas que no cumplan con los umbrales establecidos por esta configuración. Esta lista anula la configuración predeterminada de cada SafetyCategory
especificada 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ño HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT y HARM_CATEGORY_HARASSMENT. Consulta la guía para obtener información detallada sobre la configuración de seguridad disponible. Consulta también la Guía de seguridad para aprender a incorporar consideraciones de seguridad en tus aplicaciones de IA.
grounding_source
Union type
grounding_source
puede 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 aleatoriedad del resultado.
Los valores pueden oscilar 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 más cercano a 0.0 suele generar respuestas más directas del modelo. Por lo general, se recomienda una temperatura baja (~0.2) para los casos de uso de respuesta de 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:
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, se puede proporcionar una respuesta de baja calidad o sin fundamento, junto con un answerableProbability
bajo.
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 la respuesta podría no estar fundamentada en las fuentes.
Cuando answerableProbability
sea bajo, te recomendamos que hagas lo siguiente:
- Se muestra un mensaje al usuario que indica que no se pudo responder la pregunta.
- Recurre a un LLM de propósito general que responda la pregunta a partir del conocimiento del mundo. El umbral y la naturaleza de esos resguardos dependerán de los casos de uso individuales.
0.5
es un buen límite inicial.
inputFeedback
object (InputFeedback
)
Solo salida. Comentarios relacionados con los datos de entrada que se usaron para responder la pregunta, en lugar de la respuesta generada por el modelo a la pregunta.
Los datos de entrada pueden ser uno o más de los siguientes:
- Es la pregunta especificada por la última entrada en
GenerateAnswerRequest.content
. - Historial de conversaciones especificado por las otras entradas en
GenerateAnswerRequest.content
- Fuentes de puesta a tierra (
GenerateAnswerRequest.semantic_retriever
oGenerateAnswerRequest.inline_passages
)
Representación JSON |
---|
{ "answer": { object ( |
GroundingPassages
Una lista repetida de pasajes.
passages[]
object (GroundingPassage
)
Lista de pasajes.
Representación JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Configuración para recuperar contenido de puesta a tierra de un Corpus
o Document
creado con la API de Semantic Retriever.
source
string
Obligatorio. Es el nombre del recurso que se recuperará. Ejemplo: corpora/123
o corpora/123/documents/abc
.
query
object (Content
)
Obligatorio. Es la consulta que se usará para hacer coincidir los Chunk
en el recurso determinado por similitud.
metadataFilters[]
object (MetadataFilter
)
Opcional. Filtros para seleccionar Document
o Chunk
del recurso.
maxChunksCount
integer
Opcional. Es la cantidad máxima de Chunk
relevantes que se recuperarán.
minimumRelevanceScore
number
Opcional. Es la puntuación de relevancia mínima para los Chunk
relevantes recuperados.
Representación JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
Estilo para respuestas fundamentadas.
Enumeraciones | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
Estilo de respuesta no especificado. |
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
Comentarios relacionados con los datos de entrada que se usaron para responder la pregunta, en lugar de la respuesta generada por el modelo a la pregunta.
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 establece, se bloquea la entrada y no se muestran candidatos. Reformula la entrada.
Representación JSON |
---|
{ "safetyRatings": [ { object ( |
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 motivos de seguridad. Inspecciona safetyRatings para comprender qué categoría de seguridad lo bloqueó. |
OTHER |
La entrada se bloqueó por otros motivos. |