View a markdown version of this page

Configura e personalizza le query per le knowledge base gestite - 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à.

Configura e personalizza le query per le knowledge base gestite

Puoi configurare e personalizzare il recupero, migliorando ulteriormente la pertinenza dei risultati. Ad esempio, puoi applicare filtri ai metadati dei documenti per utilizzare i documenti aggiornati più fields/attributes di recente o i documenti con tempi di modifica recenti.

Nota

Tutte le configurazioni seguenti 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. Nel riquadro Configurazioni, espandi la sezione Blocchi di origine e immetti il numero massimo di blocchi di origine da restituire.

API

Quando effettui una RetrieveAndGenerate richiesta Retrieve or, includi un retrievalConfiguration campo 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.

Il seguente oggetto JSON mostra i campi minimi richiesti nell'KnowledgeBaseRetrievalConfigurationoggetto per impostare il numero massimo di risultati da restituire:

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

Specifica il numero massimo di risultati recuperati (vedi il numberOfResults campo KnowledgeBaseRetrievalConfiguration per l'intervallo di valori accettati) da restituire nel numberOfResults campo.

Puoi applicare filtri al documento fields/attributes per migliorare ulteriormente la pertinenza delle risposte. Le tue origini dati possono includere metadati del documento su cui attributes/fields filtrare e possono specificare quali campi includere negli incorporamenti.

Considerazioni sulla knowledge base gestita

Quando si utilizza il filtro dei metadati con una knowledge base gestita:

  • I filtri startsWith e stringContains metadati non sono supportati. Utilizzate equals invece notIn gli operatori greaterThanlessThan,in,, o.

  • Gli operatori di intervallo (greaterThan, greaterThanOrEqualslessThan, elessThanOrEquals) accettano un numero o un valore di data e ora. Per filtrare in base a una data-ora, fornisci il valore come stringa in ISO-8601 formato offset data-ora. Usa il modulo offset completo, per esempio,. 2026-03-02T19:02:18Z Gli operatori di intervallo supportano i valori delle stringhe di data e ora solo per le knowledge base gestite.

  • Per le knowledge base personalizzate, i campi di metadati con il prefisso x-amz-bedrock sono riservati dal servizio. Per le knowledge base completamente gestite, i campi di metadati riservati utilizzano un prefisso di sottolineatura (ad esempio,). _source_uri _data_source_id Non è possibile sovrascrivere i campi di metadati riservati in entrambi i tipi di knowledge base.

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 della tua 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, eseguire una delle seguenti 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 hai documenti PDF nell'origine dati e usi Amazon OpenSearch Serverless o Amazon Aurora per il tuo negozio vettoriale: le knowledge base di Amazon Bedrock genereranno i numeri di pagina dei documenti e li memorizzeranno in un metadato chiamato x-amz-bedrock-kb-document-page-number. field/attribute 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 > Maggiore di numero L’attributo è maggiore del valore fornito
Greater than or equals >= maggiore ThanOrEquals numero L’attributo è maggiore del o uguale al valore fornito
Less than < Minore di numero L’attributo è minore del valore fornito
Less than or equals <= meno ThanOrEquals numero L’attributo è minore del o uguale al valore fornito
In : in elenco di stringhe L'attributo è presente nell'elenco fornito (attualmente è supportato al meglio con gli store vettoriali GraphRag di Amazon OpenSearch Serverless e Neptune Analytics)
Non in !: notIn elenco di stringhe L'attributo non è presente nell'elenco fornito (attualmente è supportato al meglio con gli store vettoriali GraphRag di Amazon OpenSearch Serverless e Neptune Analytics)
String contains Non disponibile stringContains stringa L’attributo deve essere una stringa. Il nome dell'attributo corrisponde alla chiave e il cui valore è una stringa che contiene il valore fornito come sottostringa o un elenco con un membro che contiene il valore fornito come sottostringa (attualmente è meglio supportato con Amazon Serverless vector store). OpenSearch L'archivio vettoriale GraphRag di Neptune Analytics supporta la variante stringa (ma non la variante di 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 cui valore è un elenco che contiene il valore fornito come uno dei suoi membri (attualmente è supportato al 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. 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 ( Trash can icon representing a delete action. ) 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 effettui una RetrieveAndGenerate richiesta Retrieve or, includi un retrievalConfiguration campo mappato a un KnowledgeBaseRetrievalConfiguration oggetto. Per visualizzare la posizione del campo, consulta le pagine relative ai corpi delle richieste Retrieve e RetrieveAndGenerate nella documentazione di riferimento dell’API.

I seguenti oggetti JSON mostrano i campi minimi richiesti nell'KnowledgeBaseRetrievalConfigurationoggetto per impostare 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 numero 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 numero 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 (supportata solo per i negozi 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 Send a query and include filters (Retrieve) e Send a query and include filters (RetrieveAndGenerate).

È 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. 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.

Il seguente oggetto JSON mostra i campi minimi richiesti 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. 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.