Configurare e personalizzare la generazione di query e risposte - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare e personalizzare la generazione di query e risposte

È possibile configurare e personalizzare il recupero e la generazione di risposte, migliorando ulteriormente la pertinenza delle risposte stesse. Ad esempio, è possibile applicare filtri ai campi o agli attributi dei metadati dei documenti per utilizzare i documenti aggiornati più di recente oppure quelli con orari di modifica più recenti.

Nota

Tutte le configurazioni seguenti, ad eccezione di orchestrazione e generazione, sono applicabili solo alle origini dati non strutturate.

Per ulteriori informazioni su queste configurazioni nella console o nell’API, seleziona uno dei seguenti argomenti:

Quando si esegue una query su una knowledge base, per impostazione predefinita Amazon Bedrock restituisce fino a cinque risultati nella risposta. Ogni risultato corrisponde a un blocco di origine.

Nota

Il numero effettivo di risultati nella risposta potrebbe essere inferiore al valore numberOfResults specificato, poiché questo parametro imposta il numero massimo di risultati da restituire. Se è stato configurato il chunking semantico per la strategia di chunking, il parametro numberOfResults viene mappato al numero di blocchi figlio recuperati dalla knowledge base. Poiché i blocchi figlio che condividono lo stesso blocco padre vengono sostituiti con il blocco padre nella risposta finale, il numero di risultati restituiti potrebbe essere inferiore alla quantità richiesta.

Per modificare il numero massimo di risultati da restituire, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

Console

Segui i passaggi per la console indicati in Interrogare una knowledge base e recuperare dei dati o in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Nel riquadro Configurazioni, espandi la sezione Blocchi di origine e immetti il numero massimo di blocchi di origine da restituire.

API

Quando esegui una richiesta Retrieve o RetrieveAndGenerate, includi un campo retrievalConfiguration mappato a un oggetto KnowledgeBaseRetrievalConfiguration. Per visualizzare la posizione del campo, consulta le pagine relative ai corpi delle richieste Retrieve e RetrieveAndGenerate nella documentazione di riferimento dell’API.

L’oggetto JSON seguente mostra i campi minimi richiesti nell’oggetto KnowledgeBaseRetrievalConfiguration per impostare il numero massimo di risultati da restituire:

"retrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": number } }

Specifica il numero massimo di risultati recuperati (consulta la pagina relativa al campo numberOfResults campo in KnowledgeBaseRetrievalConfiguration per l’intervallo di valori accettati) da restituire nel campo numberOfResults.

Il tipo di ricerca definisce il modo in cui vengono eseguite le query sulle origini dati nella knowledge base. I tipi di ricerca possibili sono i seguenti:

Nota

La ricerca ibrida è supportata solo per gli archivi vettoriali Amazon RDS, Amazon OpenSearch Serverless e MongoDB che contengono un campo di testo filtrabile. Se si utilizza un archivio vettoriale diverso o l’archivio vettoriale in uso non contiene un campo di testo filtrabile, la query utilizza la ricerca semantica.

  • Predefinito: Amazon Bedrock decide automaticamente la strategia di ricerca.

  • Ibrido: la ricerca di embedding vettoriali (ricerca semantica) viene combinata con la ricerca nel testo non elaborato.

  • Semantico: vengono cercati solo gli embedding vettoriali.

Per informazioni sulla definizione del tipo di ricerca, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

Console

Segui i passaggi per la console indicati in Interrogare una knowledge base e recuperare dei dati o in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Quando apri il riquadro Configurazioni, espandi la sezione Tipo di ricerca, attiva Sovrascrivi la ricerca predefinita e seleziona un’opzione.

API

Quando esegui una richiesta Retrieve o RetrieveAndGenerate, includi un campo retrievalConfiguration mappato a un oggetto KnowledgeBaseRetrievalConfiguration. Per visualizzare la posizione del campo, consulta le pagine relative ai corpi delle richieste Retrieve e RetrieveAndGenerate nella documentazione di riferimento dell’API.

L’oggetto JSON seguente mostra i campi minimi richiesti nell’oggetto KnowledgeBaseRetrievalConfiguration per impostare le configurazioni del tipo d ricerca:

"retrievalConfiguration": { "vectorSearchConfiguration": { "overrideSearchType": "HYBRID | SEMANTIC" } }

Specifica il tipo di ricerca nel campo overrideSearchType. Sono disponibili le seguenti opzioni:

  • Se non si specifica alcun valore, Amazon Bedrock decide quale strategia di ricerca è più adatta alla configurazione dell’archivio vettoriale.

  • IBRIDO: Amazon Bedrock esegue query sulla knowledge base utilizzando sia gli embedding vettoriali che il testo non elaborato.

  • SEMANTICO: Amazon Bedrock esegue query sulla knowledge base utilizzando i propri embedding vettoriali.

Console

Segui i passaggi per la console indicati in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Quando apri il riquadro Configurazioni, espandi la sezione Preferenza di streaming e attiva Trasmetti risposte in streaming.

API

Per trasmettere risposte in streaming, utilizza l’API RetrieveAndGenerateStream. Per maggiori dettagli sulla compilazione dei campi, consulta la scheda API all’indirizzoInterrogare una knowledge base e generare risposte basate sui dati recuperati.

Per migliorare ulteriormente la pertinenza delle risposte, è possibile applicare filtri ai campi o agli attributi del documento. Le origini dati possono includere attributi/campi di metadati del documento a cui applicare un filtro e possono specificare quali campi includere negli embedding.

Ad esempio, “epoch_modification_time” rappresenta il tempo in numero di secondi dal 1° gennaio 1970 (UTC), data dell’ultimo aggiornamento del documento. È possibile filtrare in base ai dati più recenti, in cui “epoch_modification_time” è maggiore di un determinato numero. I documenti più recenti possono essere utilizzati per la query.

Per utilizzare i filtri durante l’esecuzione di query su una knowledge base, verifica che quest’ultima soddisfi i seguenti requisiti:

  • Durante la configurazione del connettore dell’origine dati, la maggior parte dei connettori esegue il crawling dei campi di metadati principali dei documenti. Se si utilizza un bucket Amazon S3 come origine dati, il bucket deve includerne almeno un oggetto fileName.extension.metadata.json per il file o il documento a cui è associato. Per ulteriori informazioni sulla configurazione del file di metadati, consulta Campi dei metadati dei documenti in Configurazione della connessione.

  • Se l’indice vettoriale per la knowledge base si trova in un archivio vettoriale Amazon OpenSearch Serverless, verifica che l’indice vettoriale sia configurato con il motore faiss. Se l’indice vettoriale è configurato con il motore nmslib, esegui una di queste operazioni:

  • Se la knowledge base utilizza un indice vettoriale in un bucket vettoriale S3, non è possibile utilizzare i filtri startsWith e stringContains.

  • Se si aggiungono metadati a un indice vettoriale esistente in un cluster di database Amazon Aurora, si consiglia di fornire il nome del campo della colonna di metadati personalizzata per archiviare tutti i metadati in un’unica colonna. Durante l’importazione dei dati, questa colonna verrà utilizzata per popolare tutte le informazioni contenute nei file di metadati delle origini dati. Se si sceglie di fornire questo campo, è necessario creare un indice sulla colonna.

    • Quando si crea una nuova knowledge base nella console e si consente ad Amazon Bedrock di configurare il database Amazon Aurora, viene creata automaticamente una singola colonna popolata con le informazioni contenute nel file di metadati.

    • Quando si sceglie di creare un altro indice vettoriale nell’archivio vettoriale, è necessario fornire il nome del campo di metadati personalizzato per archiviare le informazioni contenute nel file di metadati. Se non si fornisce questo nome campo, è possibile creare una colonna per ogni attributo di metadati nei file e specificare il tipo di dati (testo, numero o booleano). Ad esempio, se l’attributo genre esiste nell’origine dati, è necessario aggiungere una colonna denominata genre e specificare text come tipo di dati. Durante l’importazione, queste colonne separate vengono popolate con i valori degli attributi corrispondenti.

Se nell’origine dati sono presenti documenti PDF e si utilizza Amazon OpenSearch Serverless per l’archivio vettoriale, Knowledge Base per Amazon Bedrock genera i numeri di pagina dei documenti e li archivia in un campo/attributo di metadati denominato x-amz-bedrock-kb-document-page-number. Tenere presente che i numeri di pagina archiviati in un campo di metadati non sono supportati qualora si scelga di non applicare il chunking per i documenti.

Per filtrare i risultati delle query, è possibile utilizzare i seguenti operatori di filtro:

Operatori di filtro
Operatore Console Nome del filtro API Tipi di dati degli attributi supportati Risultati filtrati
Equals = equals stringa, numero, valore booleano L’attributo corrisponde al valore fornito
Not equals != notEquals stringa, numero, valore booleano L’attributo non corrisponde al valore fornito
Greater than > greaterThan numero L’attributo è maggiore del valore fornito
Greater than or equals >= greaterThanOrEquals numero L’attributo è maggiore del o uguale al valore fornito
Less than < lessThan numero L’attributo è minore del valore fornito
Less than or equals <= lessThanOrEquals numero L’attributo è minore del o uguale al valore fornito
In : in elenco di stringhe L’attributo è presente nell’elenco fornito (attualmente l’operatore è supportato meglio con archivi vettoriali Amazon OpenSearch Serverless e Analisi Neptune (GraphRAG)
Non in !: notIn elenco di stringhe L’attributo non è presente nell’elenco fornito (attualmente l’operatore è supportato meglio con archivi vettoriali Amazon OpenSearch Serverless e Analisi Neptune (GraphRAG)
String contains Non disponibile stringContains stringa L’attributo deve essere una stringa. Il nome dell’attributo corrisponde alla chiave e il valore è una stringa che contiene il valore fornito come sottostringa oppure un elenco con un membro che contiene il valore fornito come sottostringa (attualmente l’operatore è supportato meglio con l’archivio vettoriale Amazon OpenSearch Serverless. L’archivio vettoriale Analisi Neptune (GraphRAG) supporta la variante stringa, ma non variante elenco di questo filtro).
List contains Non disponibile listContains stringa L’attributo deve essere un elenco di stringhe. Il nome dell’attributo corrisponde alla chiave e il valore è un elenco che contiene il valore fornito come uno dei relativi membri (attualmente l’operatore è supportato meglio con gli archivi vettoriali Amazon OpenSearch Serverless).

Per combinare gli operatori di filtro, è possibile utilizzare i seguenti operatori logici:

Operatori logici
Operatore Console Nome del campo del filtro API Risultati filtrati
And and andAll I risultati soddisfano tutte le espressioni di filtro del gruppo
Or or orAll I risultati soddisfano almeno una delle espressioni di filtro del gruppo

Per informazioni su come filtrare i risultati utilizzando i metadati, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

Console

Segui i passaggi per la console indicati in Interrogare una knowledge base e recuperare dei dati o in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Quando apri il riquadro Configurazioni, viene visualizzata una sezione Filtri. Le procedure seguenti descrivono casi d’uso diversi:

  • Per aggiungere un filtro, crea un’espressione di filtro inserendo un attributo di metadati, un operatore di filtro e un valore nella casella. Separa ogni parte dell’espressione con uno spazio bianco. Premi Invio per aggiungere il filtro.

    Per un elenco degli operatori di filtro accettati, consulta la tabella Operatori di filtro precedente. È inoltre possibile visualizzare un elenco di operatori di filtro quando si aggiunge uno spazio bianco dopo l’attributo di metadati.

    Nota

    È necessario racchiudere le stringhe tra virgolette.

    Ad esempio, è possibile filtrare i risultati dei documenti di origine che contengono un attributo di metadati genre il cui valore è "entertainment" aggiungendo il seguente filtro: genre = "entertainment".

    Aggiungere un filtro.
  • Per aggiungere un altro filtro, immetti un’altra espressione di filtro nella casella, quindi premi Invio. Puoi aggiungere fino a 5 filtri nel gruppo.

    Aggiungere un altro filtro.
  • Per impostazione predefinita, la query restituisce risultati che soddisfano tutte le espressioni di filtro fornite. Per restituire risultati che soddisfano almeno una delle espressioni di filtro, scegli il menu a discesa and tra due operazioni di filtro qualsiasi e seleziona or.

    Modificare l’operazione logica tra filtri.
  • Per combinare diversi operatori logici, seleziona + Aggiungi gruppo per aggiungere un gruppo di filtri. Immetti le espressioni di filtro nel nuovo gruppo. Puoi aggiungere fino a 5 gruppi di filtri.

    Aggiungere un gruppo di filtri per combinare diversi operatori logici.
  • Per modificare l’operatore logico utilizzato tra tutti i gruppi di filtro, scegli il menu a discesa AND tra due gruppi di filtri, quindi seleziona OR.

    Modificare l’operazione logica tra gruppi di filtri.
  • Per modificare un filtro, selezionalo, modifica l’operazione di filtro e scegli Applica.

    Modifica di un filtro.
  • Per rimuovere un gruppo di filtri, scegli l’icona del cestino ( Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family. ) accanto al gruppo. Per rimuovere un filtro, scegli l’icona di eliminazione ( Close or cancel icon represented by an "X" symbol. ) accanto al filtro.

    Eliminare un filtro o un gruppo di filtri.

L’immagine seguente mostra un esempio di configurazione del filtro che restituisce tutti i documenti scritto dopo il 2018 il cui genere è "entertainment", oltre ai documenti il cui genere è "cooking" o "sports" e il cui autore inizia con"C".

Esempio di configurazione del filtro.
API

Quando esegui una richiesta Retrieve o RetrieveAndGenerate, includi un campo retrievalConfiguration mappato a un oggetto KnowledgeBaseRetrievalConfiguration. Per visualizzare la posizione del campo, consulta le pagine relative ai corpi delle richieste Retrieve e RetrieveAndGenerate nella documentazione di riferimento dell’API.

Gli oggetti JSON seguenti mostrano i campi minimi richiesti nell’oggetto KnowledgeBaseRetrievalConfiguration per impostare i filtri per diversi casi d’uso:

  1. Usa un operatore di filtro (consulta la tabella Operatori di filtro precedente).

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } } } }
  2. Usa un operatore logico (consulta la tabella Operatori logici precedente) per combinare fino a 5 filtri.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] } } }
  3. Usa un operatore logico per combinare fino a 5 operatori di filtro in un gruppo di filtri e un secondo operatore logico per combinare tale gruppo di filtri con un altro operatore di filtro.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } ] } } }
  4. Combina fino a 5 gruppi di filtri incorporandoli in un altro operatore logico. È possibile creare un livello di embedding.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] ] } } }

Nella tabella seguente vengono descritti i tipi di filtro che è possibile utilizzare:

Campo Tipi di dati del valore supportati Risultati filtrati
equals stringa, numero, valore booleano L’attributo corrisponde al valore fornito
notEquals stringa, numero, valore booleano L’attributo non corrisponde al valore fornito
greaterThan number L’attributo è maggiore del valore fornito
greaterThanOrEquals numero L’attributo è maggiore del o uguale al valore fornito
lessThan numero L’attributo è minore del valore fornito
lessThanOrEquals number L’attributo è minore del o uguale al valore fornito
in elenco di stringhe L’attributo è presente nell’elenco fornito
notIn elenco di stringhe L’attributo non è presente nell’elenco fornito
startsWith stringa L’attributo inizia con la stringa fornita (supportato solo per gli archivi vettoriali Amazon OpenSearch Serverless)

Per combinare gli operatori di filtro, è possibile utilizzare uno dei seguenti operatori logici:

Campo Mappato a Risultati filtrati
andAll Elenco di un massimo di 5 tipi di filtri I risultati soddisfano tutte le espressioni di filtro del gruppo
orAll Elenco di un massimo di 5 tipi di filtri I risultati soddisfano almeno una delle espressioni di filtro del gruppo

Per esempi, consulta Inviare una query e includere filtri (Retrieve) e Inviare una query e includere filtri (RetrieveAndGenerate).

Knowledge Base per Amazon Bedrock genera e applica un filtro di recupero basato sulla query dell’utente e su uno schema di metadati.

Nota

Attualmente la funzionalità è attiva solo in Anthropic Claude 3.5 Sonnet.

L’elemento implicitFilterConfiguration è specificato nell’oggetto vectorSearchConfiguration del corpo della richiesta Retrieve. Include i seguenti campi:

  • metadataAttributes: in questo array, fornisci gli schemi che descrivono gli attributi dei metadati per cui il modello genererà un filtro.

  • modelArn: ARN del modello da utilizzare.

Di seguito viene mostrato un esempio di schemi di metadati che è possibile aggiungere all’array in metadataAttributes.

[ { "key": "company", "type": "STRING", "description": "The full name of the company. E.g. `Amazon.com, Inc.`, `Alphabet Inc.`, etc" }, { "key": "ticker", "type": "STRING", "description": "The ticker name of a company in the stock market, e.g. AMZN, AAPL" }, { "key": "pe_ratio", "type": "NUMBER", "description": "The price to earning ratio of the company. This is a measure of valuation of a company. The lower the pe ratio, the company stock is considered chearper." }, { "key": "is_us_company", "type": "BOOLEAN", "description": "Indicates whether the company is a US company." }, { "key": "tags", "type": "STRING_LIST", "description": "Tags of the company, indicating its main business. E.g. `E-commerce`, `Search engine`, `Artificial intelligence`, `Cloud computing`, etc" } ]

È possibile implementare protezioni per la knowledge base per i casi d’uso specifici e le policy di IA responsabile. Si possono creare più guardrail su misura per diversi casi d’uso e applicarli a più condizioni di richiesta e risposta, fornendo un’esperienza utente coerente e standardizzando i controlli di sicurezza nella knowledge base. Si possono anche configurare argomenti da negare per impedire argomenti indesiderati e filtri di contenuto per bloccare contenuti dannosi negli input e nelle risposte dei modelli. Per ulteriori informazioni, consulta Rilevare e filtrare contenuti dannosi utilizzando Guardrail per Amazon Bedrock.

Nota

L’uso di guardrail con correlazione contestuale per knowledge base non è attualmente supportato in Claude 3 Sonnet e Haiku.

Per linee guida generali sulla progettazione dei prompt, consulta Concetti di progettazione dei prompt.

Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

Console

Segui i passaggi per la console indicati in Interrogare una knowledge base e recuperare dei dati o in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Nella finestra di test, attiva Genera risposte. Nel riquadro Configurazioni, espandi la sezione Guardrail.

  1. Nella sezione Guardrail, scegli il Nome e la Versione del guardrail. Per visualizzare i dettagli del guardrail e della versioni scelti, seleziona Visualizza.

    In alternativa, scegli il link Guardrail per creare un nuovo guardrail.

  2. Al termine della modifica, scegli Salva modifiche. Per uscire senza salvare, scegli Ignora modifiche.

API

Quando esegui una richiesta RetrieveAndGenerate, includi il campo guardrailConfiguration in generationConfiguration per utilizzare il guardrail con la richiesta. Per visualizzare la posizione del campo, consulta la pagina relativa al corpo della richiesta RetrieveAndGenerate nella documentazione di riferimento dell’API.

L’oggetto JSON seguente mostra i campi minimi richiesti in GenerationConfiguration per impostare guardrailConfiguration:

"generationConfiguration": { "guardrailConfiguration": { "guardrailId": "string", "guardrailVersion": "string" } }

Specifica i valori guardrailVersion e guardrailId dei guardrail scelti.

È possibile utilizzare un modello di riclassificazione per riclassificare i risultati delle query della knowledge base. Segui i passaggi per la console indicati in Interrogare una knowledge base e recuperare dei dati o in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Quando apri il riquadro Configurazioni, espandi la sezione Riclassificazione. Seleziona un modello di riclassificazione, aggiorna le autorizzazioni, se necessario e modifica eventuali opzioni aggiuntive. Immetti un prompt e seleziona Esegui per testare i risultati dopo la riclassificazione.

La scomposizione delle query è una tecnica utilizzata per suddividere query complesse in sottoquery più piccole e più gestibili. Questo approccio consente di recuperare informazioni più precise e pertinenti, soprattutto quando la query iniziale è complessa o troppo ampia. L’attivazione di questa opzione può comportare l’esecuzione di più query sulla knowledge base e di conseguenza può contribuire a una risposta finale più accurata.

Ad esempio, per una domanda come “Chi ha ottenuto il punteggio più alto nella Coppa del Mondo FIFA 2022, Argentina o in Francia?”, Knowledge Base per Amazon Bedrock può generare le sottoquery seguenti prima di generare una risposta finale:

  1. Quanti gol ha segnato l’Argentina nella finale della Coppa del Mondo FIFA 2022?

  2. Quanti gol ha segnato la Francia nella finale della Coppa del Mondo FIFA 2022?

Console
  1. Crea e sincronizza un’origine dati o usa una knowledge base esistente.

  2. Vai alla finestra di test e apri il pannello di configurazione.

  3. Abilita la scomposizione delle query.

API
POST /retrieveAndGenerate HTTP/1.1 Content-type: application/json { "input": { "text": "string" }, "retrieveAndGenerateConfiguration": { "knowledgeBaseConfiguration": { "orchestrationConfiguration": { // Query decomposition "queryTransformationConfiguration": { "type": "string" // enum of QUERY_DECOMPOSITION } }, ...} }

Quando si generano risposte basate sul recupero di informazioni, è possibile utilizzare i parametri di inferenza per ottenere un maggiore controllo sul comportamento del modello durante l’inferenza e per influenzare i risultati del modello.

Per informazioni sulla modifica dei parametri di inferenza, scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

Console

Come modificare i parametri di inferenza durante l’esecuzione di query su una knowledge base: segui i passaggi per la console indicati in Interrogare una knowledge base e recuperare dei dati o in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Quando apri il riquadro Configurazioni, viene visualizzata una sezione Parametri di inferenza. Modifica i parametri in base alle esigenze.

Come modificare i parametri di inferenza durante la chat con il documento: segui i passaggi indicati in Chat con un documento senza una knowledge base configurata. Nel riquadro Configurazioni, espandi la sezione Parametri di inferenza e modifica i parametri in base alle esigenze.

API

I parametri del modello vengono forniti nella chiamata all’API RetrieveAndGenerate. È possibile personalizzare il modello fornendo parametri di inferenza nel campo inferenceConfig campo di knowledgeBaseConfiguration (se si esegue una query su una knowledge base) o del externalSourcesConfiguration (se si comunica tramite chat con il documento).

Nel campo inferenceConfig è presente una campo textInferenceConfig che contiene i seguenti parametri:

  • temperature

  • topP

  • maxTokenCount

  • stopSequences

È possibile personalizzare il modello utilizzando i seguenti parametri nel campo inferenceConfig di externalSourcesConfiguration e knowledgeBaseConfiguration:

  • temperature

  • topP

  • maxTokenCount

  • stopSequences

Per una spiegazione dettagliata della funzione di ciascun parametro, consulta Influenza sulla generazione della risposta con i parametri di inferenza.

È inoltre possibile fornire parametri personalizzati non supportati da textInferenceConfig tramite la mappa additionalModelRequestFields. È possibile fornire parametri univoci per modelli specifici con questo argomento. Per i parametri univoci, consulta Parametri di richiesta di inferenza e campi di risposta per i modelli di fondazione.

Se si omette un parametro da textInferenceConfig, viene utilizzato un valore predefinito. Tutti i parametri non riconosciuti in textInferneceConfig vengono ignorati, mentre tutti i parametri non riconosciuti in AdditionalModelRequestFields generano un’eccezione.

Viene generata un’eccezione di convalida se in additionalModelRequestFields e TextInferenceConfig è presente lo stesso parametro.

Utilizzo dei parametri del modello in RetrieveAndGenerate

Di seguito è riportato un esempio della struttura per inferenceConfig e additionalModelRequestFields sottogenerationConfiguration nel corpo della richiesta RetrieveAndGenerate:

"inferenceConfig": { "textInferenceConfig": { "temperature": 0.5, "topP": 0.5, "maxTokens": 2048, "stopSequences": ["\nObservation"] } }, "additionalModelRequestFields": { "top_k": 50 }

L’esempio seguente imposta il parametro temperature su 0,5, il parametro top_p su 0,5 e il parametro maxTokens su 2.048, interrompe la generazione se incontra la stringa “\nObservation” nella risposta generata e passa un valore top_k personalizzato pari a 50.

Quando si eseguono query su una knowledge base e si richiede la generazione della risposta, Amazon Bedrock utilizza un modello di prompt che abbina istruzioni, informazioni recuperate e contesto alla query dell’utente per creare il prompt inviato al modello per la generazione della risposta. È anche possibile personalizzare il prompt di orchestrazione, che trasforma il prompt dell’utente in una query di ricerca. Per progettare i modelli di prompt, utilizza gli strumenti seguenti:

  • Segnaposto dei prompt: variabili predefinite in Knowledge Base per Amazon Bedrock compilate dinamicamente in fase di runtime durante l’esecuzione della query sulla knowledge base. Nel prompt di sistema, i segnaposto circondati dal simbolo $. Nell’elenco seguente vengono descritti i segnaposto che è possibile utilizzare:

    Nota

    Il segnaposto $output_format_instructions$ è un campo obbligatorio per le citazioni da visualizzare nella risposta.

    Variabile Modello di prompt Sostituita da Modello Obbligatorio?
    $query$ Orchestrazione, generazione Query dell’utente inviata alla knowledge base. Anthropic Claude Instant, Anthropic Claude v2.x
    Anthropic Claude 3 Sonnet No (incluso automaticamente nell’input del modello)
    $search_results$ Generazione Risultati recuperati per la query dell’utente. Tutti
    $output_format_instructions$ Orchestrazione Istruzioni di base per la formattazione della generazione di risposte e delle citazioni. Differisce in base al modello. Se si definiscono le istruzioni di formattazione, si consiglia di rimuovere questo segnaposto. Senza il segnaposto, la risposta non contiene citazioni. Tutti
    $current_time$ Orchestrazione, generazione Ora corrente. Tutti No
  • Tag XML: i modelli Anthropic supportano l’uso di tag XML per strutturare e delineare i prompt. Utilizza nomi di tag descrittivi per risultati ottimali. Ad esempio, nel prompt di sistema predefinito, il tag <database> viene utilizzato per delineare un database di domande poste in precedenza. Per ulteriori informazioni, consulta Utilizzare i tag XML nella Guida per l’utente di Anthropic.

Per linee guida generali sulla progettazione dei prompt, consulta Concetti di progettazione dei prompt.

Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:

Console

Segui i passaggi per la console indicati in Interrogare una knowledge base e recuperare dei dati o in Interrogare una knowledge base e generare risposte basate sui dati recuperati. Nella finestra di test, attiva Genera risposte. Nel riquadro Configurazioni, espandi la sezione Modello di prompt della knowledge base.

  1. Scegli Modifica.

  2. Modifica il prompt di sistema nell’editor di testo, includendo i segnaposto e prompt e i tag XML, se necessario. Per ripristinare il modello di prompt predefinito, scegli Ripristina il valore predefinito.

  3. Al termine della modifica, scegli Salva modifiche. Per uscire senza salvare il prompt di sistema, scegli Ignora modifiche.

API

Quando esegui una richiesta RetrieveAndGenerate, includi un campo generationConfiguration mappato a un oggetto GenerationConfiguration. Per visualizzare la posizione del campo, consulta la pagina relativa al corpo della richiesta RetrieveAndGenerate nella documentazione di riferimento dell’API.

L’oggetto JSON seguente mostra i campi minimi richiesti nell’oggetto GenerationConfiguration per impostare il numero massimo di risultati recuperati da restituire:

"generationConfiguration": { "promptTemplate": { "textPromptTemplate": "string" } }

Immetti il modello di prompt personalizzato nel campo textPromptTemplate, inclusi i segnaposto dei prompt e i tag XML in base alle esigenze. Per il numero massimo di caratteri consentiti nel prompt d sistema, consulta la pagina relativa al campo textPromptTemplate in GenerationConfiguration.