Method: models.generateAnswer

Gera uma resposta embasada a partir do modelo, dada uma entrada GenerateAnswerRequest.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
model

string

Obrigatório. O nome do Model a ser usado para gerar a resposta embasada.

Formato: model=models/{model}.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação 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)

Obrigatório. O conteúdo da conversa atual com o modelo. Para consultas de turno único, esta é uma pergunta a ser respondida. Para consultas de várias interações, esse é um campo repetido que contém o histórico da conversa e o último Content da lista que contém a pergunta.

Observação: no momento, models.generateAnswer é compatível apenas com consultas em inglês.

answerStyle

enum (AnswerStyle)

Obrigatório. Estilo em que as respostas devem ser retornadas.

safetySettings[]

object (SafetySetting)

Opcional. Uma lista de instâncias SafetySetting exclusivas para bloquear conteúdo não seguro.

Isso será aplicado ao GenerateAnswerRequest.contents e ao GenerateAnswerResponse.candidate. Não deve haver mais de uma configuração para cada tipo de SafetyCategory. A API bloqueará qualquer conteúdo e respostas que não atendam aos limites definidos por essas configurações. Essa lista substitui as configurações padrão de cada SafetyCategory especificada nas SafetySettings. Se não houver uma SafetySetting para uma determinada SafetyCategory na lista, a API vai usar a configuração de segurança padrão para essa categoria. As categorias de danos HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT e HARM_CATEGORY_HARASSMENT são aceitas.

Campo de união grounding_source. As fontes em que a resposta será embasada. grounding_source pode ser apenas de um dos tipos a seguir:
inlinePassages

object (GroundingPassages)

Passagens fornecidas inline com a solicitação.

semanticRetriever

object (SemanticRetrieverConfig)

Conteúdo recuperado de recursos criados pela API Semantic Retriever.

temperature

number

Opcional. Controla a aleatoriedade da saída.

Os valores podem variar de [0,0,1,0], inclusive. Um valor próximo de 1,0 produz respostas mais variadas e criativas, enquanto um valor mais próximo de 0,0 normalmente resulta em respostas mais diretas do modelo. Uma temperatura baixa (~0,2) geralmente é recomendada para casos de uso de respostas a perguntas atribuídas.

Corpo da resposta

Resposta do modelo para uma resposta fundamentada.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
Campos
answer

object (Candidate)

Resposta candidata a partir do modelo.

Observação: o modelo sempre tenta fornecer uma resposta fundamentada, mesmo quando é improvável que ela seja respondida nos trechos fornecidos. Nesse caso, uma resposta de baixa qualidade ou não fundamentada pode ser fornecida, além de uma answerableProbability baixa.

answerableProbability

number

Apenas saída. A estimativa do modelo da probabilidade de a resposta estar correta e fundamentada nas passagens de entrada.

Uma baixa answerableProbability indica que a resposta pode não estar fundamentada nas fontes.

Quando answerableProbability estiver baixo, alguns clientes poderão fazer o seguinte:

  • Exibir ao usuário a mensagem "Não foi possível responder a essa pergunta".
  • Use um LLM de uso geral que responda à pergunta com base no conhecimento mundial. O limite e a natureza desses substitutos vão depender dos casos de uso de cada cliente. 0,5 é um bom limite inicial.
inputFeedback

object (InputFeedback)

Apenas saída. Feedback relacionado aos dados de entrada usados para responder à pergunta, em vez da resposta gerada pelo modelo.

Os "dados de entrada" podem ser um ou mais dos seguintes valores:

  • Pergunta especificada na última entrada em GenerateAnswerRequest.content
  • Histórico da conversa especificado pelas outras entradas em GenerateAnswerRequest.content
  • Fontes de embasamento (GenerateAnswerRequest.semantic_retriever ou GenerateAnswerRequest.inline_passages)

Escopos de autorização

Requer um dos seguintes escopos 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 saber mais, consulte a Visão geral da autenticação.

GroundingPassages

Uma lista repetida de trechos.

Representação JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
Campos
passages[]

object (GroundingPassage)

Lista de trechos.

GroundingPassage

Passagem incluída inline com uma configuração de embasamento.

Representação JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}
Campos
id

string

Identificador do trecho que atribui esse trecho em respostas embasadas.

content

object (Content)

Conteúdo do trecho.

SemanticRetrieverConfig

Configuração para recuperar conteúdo de embasamento de um Corpus ou Document criada usando a API Semantic Retriever.

Representação JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
Campos
source

string

Obrigatório. Nome do recurso a ser recuperado, por exemplo, corpora/123 ou corpora/123/documents/abc.

query

object (Content)

Obrigatório. Consulta a ser usada para correspondência de similaridade Chunks no recurso especificado.

metadataFilters[]

object (MetadataFilter)

Opcional. Filtros para selecionar Documents e/ou Chunks do recurso.

maxChunksCount

integer

Opcional. Número máximo de Chunks relevantes a serem recuperados.

minimumRelevanceScore

number

Opcional. Pontuação de relevância mínima para Chunks relevantes recuperados.

AnswerStyle

Estilo para respostas fundamentadas.

Enums
ANSWER_STYLE_UNSPECIFIED Estilo de resposta não especificado.
ABSTRACTIVE Estilo sucinto, mas abstrato.
EXTRACTIVE Estilo muito breve e extrativo.
VERBOSE Estilo detalhado, incluindo detalhes extras. A resposta pode ser formatada como uma frase, um parágrafo, vários parágrafos, marcadores etc.

InputFeedback

Feedback relacionado aos dados de entrada usados para responder à pergunta, em vez da resposta gerada pelo modelo.

Representação JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
Campos
safetyRatings[]

object (SafetyRating)

Classificações de segurança da entrada. Há no máximo uma classificação por categoria.

blockReason

enum (BlockReason)

Opcional. Se definido, a entrada será bloqueada e nenhum candidato será retornado. Reformule sua entrada.

BlockReason

Especifica o motivo pelo qual a entrada foi bloqueada.

Enums
BLOCK_REASON_UNSPECIFIED Valor padrão. Esse valor não é usado.
SAFETY A entrada foi bloqueada por motivos de segurança. Você pode inspecionar safetyRatings para entender qual categoria de segurança a bloqueou.
OTHER A entrada foi bloqueada por outros motivos.