Question answering

L'API Semantic Retrieval fornisce un servizio di question answering ospitato per la creazione di sistemi RAG (Retrieval Augmented Generation) utilizzando l'infrastruttura di Google. Per una procedura dettagliata dettagliata, consulta la guida al recupero semantico.

Metodo: models.generateAnswer

Genera una risposta con grounding dal modello dato un input GenerateAnswerRequest.

Endpoint

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

Parametri del percorso

model string

Obbligatorio. Il nome del Model da utilizzare per generare la risposta con grounding.

Formato: model=models/{model}. Il formato è models/{model}.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Campi
contents[] object (Content)

Obbligatorio. I contenuti della conversazione corrente con Model. Per le query a turno singolo, è una domanda a cui rispondere. Per le query in più passaggi, si tratta di un campo ripetuto che contiene la cronologia delle conversazioni e l'ultimo Content dell'elenco contenente la domanda.

Nota: models.generateAnswer supporta solo query in inglese.

answerStyle enum (AnswerStyle)

Obbligatorio. Stile in cui devono essere restituite le risposte.

safetySettings[] object (SafetySetting)

(Facoltativo) Un elenco di istanze SafetySetting univoche per il blocco di contenuti non sicuri.

Questa norma verrà applicata in modo forzato a GenerateAnswerRequest.contents e GenerateAnswerResponse.candidate. Non dovrebbe essere presente più di un'impostazione per ogni tipo di SafetyCategory. L'API bloccherà tutti i contenuti e le risposte che non rispetteranno le soglie impostate da queste impostazioni. Questo elenco sostituisce le impostazioni predefinite per ogni SafetyCategory specificato in safetySettings. Se non è presente alcun valore SafetySetting per un determinato SafetyCategory nell'elenco, l'API utilizzerà l'impostazione di sicurezza predefinita per la categoria in questione. Sono supportate le categorie di danni HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT e HARM_CATEGORY_HARASSMENT. Consulta la guida per informazioni dettagliate sulle impostazioni di sicurezza disponibili. Consulta anche le indicazioni sulla sicurezza per scoprire come incorporare le considerazioni sulla sicurezza nelle tue applicazioni di IA.

Campo unione grounding_source. Le fonti su cui basare la risposta. grounding_source può essere solo uno dei seguenti:
inlinePassages object (GroundingPassages)

Passaggi forniti in linea con la richiesta.

semanticRetriever object (SemanticRetrieverConfig)

Contenuti recuperati da risorse create tramite l'API Semantic Retriever.

temperature number

(Facoltativo) Controlla la casualità dell'output.

I valori possono essere compresi nell'intervallo [0,0,1,0] incluso. Un valore più vicino a 1,0 produrrà risposte più varie e creative, mentre un valore più vicino a 0,0 genererà risposte più dirette dal modello. In genere, è consigliata una temperatura bassa (~0,2) per i casi d'uso relativi alla risposta alle domande attribuite.

Corpo della risposta

Risposta del modello per una risposta con grounding.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

di Gemini Advanced.
Campi
answer object (Candidate)

Risposta candidata del modello.

Nota: il modello tenta sempre di fornire una risposta con grounding, anche quando è improbabile che la risposta sia argomentata dai passaggi specificati. In questo caso, potrebbero essere fornite una risposta di bassa qualità o priva di fondamento, insieme a un answerableProbability basso.

answerableProbability number

Solo output. La stima del modello della probabilità che la sua risposta sia corretta e basata sui passaggi di input.

Un valore basso di answerableProbability indica che la risposta potrebbe non essere basata sulle fonti.

Quando il valore di answerableProbability è basso, ti consigliamo di:

  • Mostrare un messaggio con l'effetto "Non siamo riusciti a rispondere alla domanda" all'utente.
  • Ricorri a un LLM per uso generico che risponde alla domanda partendo dalle conoscenze del mondo. La soglia e la natura di questi fallback dipenderanno dai singoli casi d'uso. 0.5 è una buona soglia iniziale.
inputFeedback object (InputFeedback)

Solo output. Feedback relativo ai dati di input utilizzati per rispondere alla domanda, in contrapposizione alla risposta generata dal modello.

I dati di input possono essere uno o più dei seguenti:

  • Domanda specificata dall'ultima voce in GenerateAnswerRequest.content
  • Cronologia della conversazione specificata dalle altre voci in GenerateAnswerRequest.content
  • Origini di grounding (GenerateAnswerRequest.semantic_retriever o GenerateAnswerRequest.inline_passages)
Rappresentazione JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

Un elenco ripetuto di passaggi.

di Gemini Advanced.
Campi
passages[] object (GroundingPassage)

Elenco dei passaggi.

Rappresentazione JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}

GroundingPassage

Il passaggio era in linea con una configurazione di grounding.

di Gemini Advanced.
Campi
id string

Identificatore del passaggio per l'attribuzione di questo passaggio nelle risposte con grounding.

content object (Content)

Contenuti del passaggio.

Rappresentazione JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}

SemanticRetrieverConfig

Configurazione per il recupero dei contenuti di grounding da un elemento Corpus o Document creato utilizzando l'API Semantic Retriever.

di Gemini Advanced.
Campi
source string

Obbligatorio. Nome della risorsa per il recupero. Esempio: corpora/123 o corpora/123/documents/abc.

query object (Content)

Obbligatorio. Query da usare per trovare corrispondenze di Chunk nella risorsa specificata per somiglianza.

metadataFilters[] object (MetadataFilter)

(Facoltativo) Filtri per la selezione di Document e/o Chunk dalla risorsa.

maxChunksCount integer

(Facoltativo) Numero massimo di Chunk pertinenti da recuperare.

minimumRelevanceScore number

(Facoltativo) Punteggio di pertinenza minimo per i Chunk pertinenti recuperati.

Rappresentazione JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}

AnswerStyle

Stile per risposte fondate.

Enum
ANSWER_STYLE_UNSPECIFIED Stile di risposta non specificato.
ABSTRACTIVE Stile succinto ma astratto.
EXTRACTIVE Stile molto breve ed estrattivo.
VERBOSE Stile dettagliato con dettagli aggiuntivi. La risposta può essere formattata come una frase, un paragrafo, più paragrafi o un elenco puntato e così via.

InputFeedback

Feedback relativo ai dati di input utilizzati per rispondere alla domanda, in contrapposizione alla risposta generata dal modello.

di Gemini Advanced.
Campi
safetyRatings[] object (SafetyRating)

Classificazioni per la sicurezza dell'input. Esiste al massimo una classificazione per categoria.

blockReason enum (BlockReason)

(Facoltativo) Se impostato, l'input è stato bloccato e non vengono restituiti candidati. Riformula l'input.

Rappresentazione JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}

BlockReason

Specifica il motivo per cui l'input è stato bloccato.

Enum
BLOCK_REASON_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
SAFETY L'input è stato bloccato per motivi di sicurezza. Controlla safetyRatings per capire quale categoria di sicurezza l'ha bloccata.
OTHER L'input è stato bloccato per altri motivi.