Method: models.generateAnswer

Genera una risposta basata su fondamento sul modello a partire da un input GenerateAnswerRequest.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
model

string

obbligatorio. Il nome di Model da utilizzare per generare la risposta con ground.

Formato: model=models/{model}.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione 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
}
Campi
contents[]

object (Content)

obbligatorio. I contenuti della conversazione corrente con il modello. Per le query in un solo passaggio, questa è una singola domanda a cui rispondere. Per le query in più passaggi, si tratta di un campo ripetuto contenente la cronologia delle conversazioni e l'ultimo Content dell'elenco contenente la domanda.

Nota: model.generateAnswer al momento supporta solo le query in inglese.

answerStyle

enum (AnswerStyle)

obbligatorio. Stile in cui devono essere restituite le risposte.

safetySettings[]

object (SafetySetting)

Campo facoltativo. Un elenco di istanze SafetySetting univoche per il blocco di contenuti non sicuri.

Questa impostazione verrà applicata a GenerateAnswerRequest.contents e GenerateAnswerResponse.candidate. Non deve esistere più di un'impostazione per ogni tipo di SafetyCategory. L'API bloccherà tutti i contenuti e le risposte che non soddisfano le soglie impostate da queste impostazioni. Questo elenco sostituisce le impostazioni predefinite per ogni SafetyCategory specificato nelle Impostazioni di sicurezza. Se nell'elenco non è specificato alcun valore SafetySetting per un determinato SafetyCategory, l'API utilizzerà l'impostazione di sicurezza predefinita per quella categoria. Le categorie di danni HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT e HARM_CATEGORY_HARASSMENT sono supportate.

Campo di unione grounding_source. Le fonti su cui fondare 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 dalle risorse create tramite l'API Semantic Retriever.

temperature

number

Campo facoltativo. Controlla la casualità dell'output.

I valori possono variare da [0,0,1,0] inclusi. Un valore più vicino a 1,0 produce risposte più variegate e creative, mentre un valore più vicino a 0,0 produce in genere risposte più dirette da parte del modello. In genere è consigliata una temperatura bassa (~0,2) per i casi d'uso della risposta alle domande attribuite.

Corpo della risposta

Risposta dal modello per una risposta fondata.

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

Rappresentazione JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
Campi
answer

object (Candidate)

Risposta del candidato dal modello.

Nota: il modello cerca sempre di fornire una risposta legittima, anche quando è improbabile che sia possibile rispondere alla risposta in base ai passaggi indicati. In questo caso, potrebbe essere fornita una risposta di bassa qualità o infondata, insieme a un valore basso di answerableProbability.

answerableProbability

number

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

Un valore answerableProbability basso indica che la risposta potrebbe non essere radicata nelle fonti.

Quando il valore di answerableProbability è basso, alcuni clienti potrebbero voler:

  • Mostra all'utente un messaggio con l'effetto "Non è stato possibile rispondere alla domanda".
  • Ritorna a usare un LLM generico che risponde alla domanda dalla conoscenza del mondo. La soglia e la natura di questi fallback dipenderanno dai casi d'uso dei singoli clienti. 0,5 è una buona soglia di partenza.
inputFeedback

object (InputFeedback)

Solo output. Feedback relativo ai dati di input utilizzati per rispondere alla domanda, anziché la risposta generata da un 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)

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti 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

Per ulteriori informazioni, consulta la Panoramica dell'autenticazione.

GroundingPassages

Un elenco ripetuto di passaggi.

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

object (GroundingPassage)

Elenco dei passaggi.

GroundingPassage

Passaggio incluso in linea con una configurazione di grounding.

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

string

Identificatore del passaggio per l'attribuzione di questo passaggio nelle risposte basate su fondamenta.

content

object (Content)

Contenuto del passaggio.

SemanticRetrieverConfig

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

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

string

obbligatorio. Nome della risorsa per il recupero, ad esempio corpora/123 o corpora/123/documents/abc.

query

object (Content)

obbligatorio. Query da utilizzare per la corrispondenza della somiglianza Chunk nella risorsa specificata.

metadataFilters[]

object (MetadataFilter)

Campo facoltativo. Filtri per la selezione di Document e/o Chunk dalla risorsa.

maxChunksCount

integer

Campo facoltativo. Numero massimo di Chunk pertinenti da recuperare.

minimumRelevanceScore

number

Campo facoltativo. Punteggio di pertinenza minimo per gli elementi Chunk pertinenti recuperati.

AnswerStyle

Definisci uno stile per le risposte basate su dati concreti.

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, elenchi puntati e così via.

InputFeedback

Feedback relativo ai dati di input utilizzati per rispondere alla domanda, anziché la risposta generata da un modello.

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

object (SafetyRating)

Valutazioni relative alla sicurezza dell'input. È presente al massimo una valutazione per categoria.

blockReason

enum (BlockReason)

Campo facoltativo. Se impostato, l'input è stato bloccato e non vengono restituiti candidati. Riformula l'input.

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. Puoi esaminare safetyRatings per capire quale categoria di sicurezza l'ha bloccato.
OTHER L'input è stato bloccato per altri motivi.