L'API Semantic Retrieval fornisce un servizio di risposta alle domande ospitato per la creazione di sistemi di Retrieval-Augmented Generation (RAG) utilizzando l'infrastruttura di Google.
Metodo: models.generateAnswer
- Endpoint
- Parametri del percorso
- Corpo della richiesta
- Corpo della risposta
- Ambiti di autorizzazione
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Genera una risposta fondata dal modello dato un input GenerateAnswerRequest
.
Endpoint
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
Parametri del percorso
model
string
Obbligatorio. Il nome del Model
da utilizzare per generare la risposta fondata.
Formato: model=models/{model}
. Assume la forma models/{model}
.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
contents[]
object (Content
)
Obbligatorio. I contenuti della conversazione attuale con Model
. Per le query a un solo turno, si tratta di una singola domanda a cui rispondere. Per le query multi-turno, questo è un campo ripetuto che contiene la cronologia della conversazione e l'ultimo Content
nell'elenco contenente la domanda.
Nota: models.generateAnswer
supporta solo le query in inglese.
answerStyle
enum (AnswerStyle
)
Obbligatorio. Stile in cui devono essere restituite le risposte.
safetySettings[]
object (SafetySetting
)
(Facoltativo) Un elenco di istanze SafetySetting
uniche per bloccare i contenuti non sicuri.
Questa operazione verrà applicata il giorno GenerateAnswerRequest.contents
e GenerateAnswerResponse.candidate
. Non deve esserci 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 in safetySettings. Se nell'elenco non è presente SafetySetting
per un determinato SafetyCategory
, l'API utilizzerà l'impostazione di sicurezza predefinita per quella categoria. Sono supportate le categorie di contenuti dannosi HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT e HARM_CATEGORY_HARASSMENT. Per informazioni dettagliate sulle impostazioni di sicurezza disponibili, consulta la guida. Consulta anche le indicazioni sulla sicurezza per scoprire come incorporare considerazioni sulla sicurezza nelle tue applicazioni di AI.
grounding_source
Union type
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 variare da [0.0,1.0], inclusi. Un valore più vicino a 1,0 produrrà risposte più varie e creative, mentre un valore più vicino a 0,0 in genere genererà risposte più dirette da parte del modello. In genere, per i casi d'uso di risposta alle domande con attribuzione è consigliata una temperatura bassa (~0,2).
Corpo della risposta
Risposta del modello per una risposta fondata.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
answer
object (Candidate
)
Risposta candidata del modello.
Nota: il modello tenta sempre di fornire una risposta basata su fatti concreti, anche quando è improbabile che la risposta possa essere ricavata dai passaggi forniti. In questo caso, potrebbe essere fornita una risposta di scarsa qualità o non fondata, 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 answerableProbability
è basso, ti consigliamo di:
- Mostra all'utente un messaggio del tipo "Non è stato possibile rispondere alla domanda".
- Esegui il fallback a un LLM generico che risponde alla domanda utilizzando le 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 relativi ai dati di input utilizzati per rispondere alla domanda, anziché alla risposta generata dal modello alla domanda.
I dati di input possono essere uno o più dei seguenti:
- Domanda specificata dall'ultima voce in
GenerateAnswerRequest.content
- Cronologia conversazione specificata dalle altre voci in
GenerateAnswerRequest.content
- Origini grounding (
GenerateAnswerRequest.semantic_retriever
oGenerateAnswerRequest.inline_passages
)
Rappresentazione JSON |
---|
{ "answer": { object ( |
GroundingPassages
Un elenco ripetuto di passaggi.
passages[]
object (GroundingPassage
)
Elenco dei passaggi.
Rappresentazione JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
Passaggio incluso in linea con una configurazione di messa a terra.
id
string
Identificatore del passaggio per l'attribuzione di questo passaggio nelle risposte basate su dati reali.
content
object (Content
)
Contenuto del passaggio.
Rappresentazione JSON |
---|
{
"id": string,
"content": {
object ( |
SemanticRetrieverConfig
Configurazione per il recupero dei contenuti di grounding da un Corpus
o Document
creato utilizzando l'API Semantic Retriever.
source
string
Obbligatorio. Nome della risorsa da recuperare. Esempio: corpora/123
o corpora/123/documents/abc
.
query
object (Content
)
Obbligatorio. Query da utilizzare per la corrispondenza degli Chunk
nella risorsa specificata in base alla similarità.
metadataFilters[]
object (MetadataFilter
)
(Facoltativo) Filtri per la selezione di Document
e/o Chunk
dalla risorsa.
maxChunksCount
integer
(Facoltativo) Il 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 ( |
AnswerStyle
Stile per le risposte fondate.
Enum | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
Stile di risposta non specificato. |
ABSTRACTIVE |
Stile conciso ma astratto. |
EXTRACTIVE |
Stile molto breve ed estrattivo. |
VERBOSE |
Stile prolisso che include dettagli aggiuntivi. La risposta può essere formattata come una frase, un paragrafo, più paragrafi, un elenco puntato e così via. |
InputFeedback
Feedback relativi ai dati di input utilizzati per rispondere alla domanda, anziché alla risposta generata dal modello alla domanda.
safetyRatings[]
object (SafetyRating
)
Valutazioni della sicurezza dell'input. È presente 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 ( |
BlockReason
Specifica il motivo per cui l'input è stato bloccato.
Enum | |
---|---|
BLOCK_REASON_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
SAFETY |
L'input è stato bloccato per motivi di sicurezza. Ispeziona safetyRatings per capire quale categoria di sicurezza lo ha bloccato. |
OTHER |
L'input è stato bloccato per altri motivi. |