A API Semantic Retrieval oferece um serviço hospedado de respostas a perguntas para criar sistemas de geração aumentada de recuperação (RAG) usando a infraestrutura do Google. Para uma explicação detalhada, consulte o Guia de recuperação semântica.
Método: models.generateAnswer
- Endpoint
- Parâmetros de caminho
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Gera uma resposta fundamentada do modelo com base em uma entrada GenerateAnswerRequest
.
Endpoint
post
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer
Parâmetros de caminho
model
string
Obrigatório. O nome do Model
a ser usado para gerar a resposta com embasamento.
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:
contents[]
object (Content
)
Obrigatório. O conteúdo da conversa atual com o Model
. 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: 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 em GenerateAnswerRequest.contents
e GenerateAnswerResponse.candidate
. Não pode haver mais de uma configuração para cada tipo de SafetyCategory
. A API vai bloquear qualquer conteúdo e resposta que não atenda 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. Consulte o guia para informações detalhadas sobre as configurações de segurança disponíveis. Consulte também as Diretrizes de segurança para saber como incorporar considerações de segurança aos seus aplicativos de IA.
grounding_source
. As fontes em que a resposta se baseia. grounding_source
pode ser apenas de um dos tipos a seguir:
inlinePassages
object (GroundingPassages
)
Frases fornecidas em linha 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 vai produzir respostas mais variadas e criativas, enquanto um valor mais próximo de 0,0 geralmente resulta em respostas mais diretas do modelo. Uma temperatura baixa (~0,2) geralmente é recomendada para os casos de uso "Attributed-Question-Answering".
Corpo da resposta
Resposta do modelo para uma resposta fundamentada.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
answer
object (Candidate
)
Resposta candidata do modelo.
Observação: o modelo sempre tenta dar 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.
Um answerableProbability
baixo indica que a resposta pode não estar fundamentada nas fontes.
Quando o valor de answerableProbability
estiver baixo, faça o seguinte:
- 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 individuais.
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:
- 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
ouGenerateAnswerRequest.inline_passages
)
Representação JSON |
---|
{ "answer": { object ( |
GroundingPassages
Uma lista repetida de passagens.
passages[]
object (GroundingPassage
)
Lista de trechos.
Representação JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Configuração para recuperar conteúdo de base de um Corpus
ou Document
criado usando a API Semantic Retriever.
source
string
Obrigatório. Nome do recurso para recuperação. Exemplo: corpora/123
ou corpora/123/documents/abc
.
query
object (Content
)
Obrigatório. Consulta a ser usada para corresponder Chunk
s no recurso fornecido por semelhança.
metadataFilters[]
object (MetadataFilter
)
Opcional. Filtros para selecionar Document
s e/ou Chunk
s do recurso.
maxChunksCount
integer
Opcional. Número máximo de Chunk
s relevantes a serem recuperados.
minimumRelevanceScore
number
Opcional. Pontuação de relevância mínima para Chunk
s relevantes recuperados.
Representação JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
Estilo para respostas com base.
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 ou marcadores, etc. |
InputFeedback
Feedback relacionado aos dados de entrada usados para responder à pergunta, em vez da resposta gerada pelo modelo.
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 foi bloqueada e nenhum candidato é retornado. Reformule a entrada.
Representação JSON |
---|
{ "safetyRatings": [ { object ( |
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 safetyRatings para entender qual categoria de segurança bloqueou o conteúdo. |
OTHER |
A entrada foi bloqueada por outros motivos. |