Question answering

Método: models.generateAnswer

Gera uma resposta embasada do modelo que recebe uma entrada GenerateAnswerRequest.

Endpoint

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

Parâmetros de caminho

model string

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

Formato: model=models/{model}. Ele tem o formato models/{model}.

Corpo da solicitação

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

Campos
contents[] object (Content)

Obrigatório. O conteúdo da conversa atual com o modelo. Para consultas de turno único, essa é uma única pergunta a ser respondida. Para consultas de vários turnos, esse é um campo repetido que contém o histórico de conversas e a última Content na lista que contém a pergunta.

Observação: No momento, models.generateAnswer só aceita 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 no GenerateAnswerRequest.contents e no GenerateAnswerResponse.candidate. Não pode haver mais de uma configuração para cada tipo de SafetyCategory. A API vai bloquear todos os conteúdos e respostas que não atenderem aos limites definidos por essas configurações. Essa lista substitui as configurações padrão de cada SafetyCategory especificada em safetySettings. Se não houver SafetySetting para um determinado SafetyCategory fornecido na lista, a API vai usar a configuração de segurança padrão para essa categoria. As categorias de dano HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT e HARM_CATEGORY_HARASSMENT são compatíveis.

Campo de união grounding_source. As fontes em que fundamentar a resposta. 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 com a API Semantic Retriever.

temperature number

Opcional. Controla a aleatoriedade da saída.

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

Corpo da resposta

Resposta do modelo para uma resposta embasada.

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

.
Campos
answer object (Candidate)

Resposta candidata do modelo.

Observação: o modelo sempre tenta fornecer uma resposta fundamentada, mesmo quando é improvável que a resposta dos trechos fornecidos possa ser respondida. Nesse caso, uma resposta de baixa qualidade ou sem embasamento pode ser fornecida, junto com um answerableProbability baixo.

answerableProbability number

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

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

Quando o answerableProbability estiver baixo, alguns clientes talvez queiram:

  • exibir uma mensagem como "Não foi possível responder a essa pergunta"; para o usuário.
  • Use um LLM de uso geral que responda à pergunta com base no conhecimento do mundo. O limite e a natureza desses substitutos dependem 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, e não à resposta gerada pelo modelo.

"Dados de entrada" pode ser um ou mais dos seguintes:

  • Pergunta especificada pela última entrada em GenerateAnswerRequest.content
  • Histórico de conversas especificado pelas outras entradas em GenerateAnswerRequest.content
  • Fontes de embasamento (GenerateAnswerRequest.semantic_retriever ou GenerateAnswerRequest.inline_passages)
Representação JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

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 por atribuí-lo a respostas embasadas.

content object (Content)

Conteúdo do trecho.

SemanticRetrieverConfig

Configuração para recuperar o conteúdo de embasamento de um Corpus ou Document criado 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 para recuperação, 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 fornecido.

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 empíricas.

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

InputFeedback

Feedback relacionado aos dados de entrada usados para responder à pergunta, e não à resposta gerada pelo modelo.

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

Classificações para a segurança da entrada. Existe 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. Inspecione o safetyRatings para entender qual categoria de segurança o bloqueou.
OTHER A entrada foi bloqueada por outros motivos.