

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
<a name="kb-test-config"></a>

È possibile configurare e personalizzare il recupero e la generazione di risposte, migliorando ulteriormente la pertinenza delle risposte stesse. Ad esempio, puoi applicare filtri ai metadati dei documenti fields/attributes per utilizzare i documenti aggiornati più di recente o i documenti 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:

## Numero di blocchi di origine
<a name="kb-test-config-number"></a>

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](kb-test-retrieve.md) o in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). Nel riquadro **Configurazioni**, espandi la sezione **Blocchi di origine** e immetti il numero massimo di blocchi di origine da restituire.

------
#### [ API ]

Quando crei una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)richiesta [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)or, includi un `retrievalConfiguration` campo mappato a un [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)oggetto. Per visualizzare la posizione del campo, consulta le pagine relative ai corpi delle richieste [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) e [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) nella documentazione di riferimento dell’API.

Il seguente oggetto JSON mostra i campi minimi richiesti nell'[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)oggetto per impostare il numero massimo di risultati da restituire:

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

Specificate il numero massimo di risultati recuperati (consultate il `numberOfResults` campo [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)per l'intervallo di valori accettati) da restituire nel `numberOfResults` campo.

------

## Tipo di ricerca
<a name="kb-test-config-search"></a>

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](kb-test-retrieve.md) o in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). Quando apri il riquadro **Configurazioni**, espandi la sezione **Tipo di ricerca**, attiva **Sovrascrivi la ricerca predefinita** e seleziona un’opzione.

------
#### [ API ]

Quando effettui una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)richiesta [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)or, includi un `retrievalConfiguration` campo mappato su un oggetto. [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html) Per visualizzare la posizione del campo, consulta le pagine relative ai corpi delle richieste [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) e [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) nella documentazione di riferimento dell’API.

Il seguente oggetto JSON mostra i campi minimi richiesti nell'[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)oggetto per impostare le configurazioni dei tipi di 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.

------

## Streaming
<a name="kb-test-config-stream"></a>

------
#### [ Console ]

Segui i passaggi per la console indicati in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). 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 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateStream.html). Per maggiori dettagli sulla compilazione dei campi, consulta la scheda **API** all’indirizzo[Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md).

------

## Filtro manuale dei metadati
<a name="kb-test-config-filters"></a>

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

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](s3-data-source-connector.md#configuration-s3-connector). 
+ 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:
  + [Crea una nuova knowledge base](knowledge-base-create.md) nella console e consenti ad Amazon Bedrock di creare automaticamente un indice vettoriale in Amazon OpenSearch Serverless per te.
  + [Crea un altro indice vettoriale](knowledge-base-setup.md) nell’archivio vettoriale e seleziona `faiss` come **motore**. [Crea una nuova knowledge base](knowledge-base-create.md) e specifica il nuovo indice vettoriale.
+ 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](kb-data-source-sync-ingest.md), 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](knowledge-base-create.md) 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](knowledge-base-setup.md) 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 nella tua fonte di dati e utilizzi Amazon OpenSearch Serverless per il tuo archivio vettoriale: le knowledge base di Amazon Bedrock genereranno i numeri di pagina dei documenti e li memorizzeranno in un field/attribute metadato chiamato -. 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](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-equals) | stringa, numero, valore booleano | L’attributo corrisponde al valore fornito | 
| Not equals | \!= | [notEquals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notEquals) | stringa, numero, valore booleano | L’attributo non corrisponde al valore fornito | 
| Greater than | > | [Maggiore di](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThan) | numero | L’attributo è maggiore del valore fornito | 
| Greater than or equals | >= | [greaterThanOrUguali](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThanOrEquals) | numero | L’attributo è maggiore del o uguale al valore fornito | 
| Less than | < | [Meno di](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThan) | numero | L’attributo è minore del valore fornito | 
| Less than or equals | <= | [lessThanOrUguale](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThanOrEquals) | numero | L’attributo è minore del o uguale al valore fornito | 
| In | : | [in](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-in) | elenco di stringhe | L'attributo è nell'elenco fornito (attualmente è meglio supportato con gli archivi vettoriali GraphRag di Amazon OpenSearch Serverless e Neptune Analytics) | 
| Non in | \!: | [notIn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notIn) | elenco di stringhe | L'attributo non è nell'elenco fornito (attualmente è meglio supportato con gli archivi vettoriali GraphRag di Amazon OpenSearch Serverless e Neptune Analytics) | 
| String contains | Non disponibile | [stringContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-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 che hai fornito come sottostringa o un elenco con un membro che contiene il valore che hai fornito come sottostringa (attualmente è meglio supportato con Amazon OpenSearch Serverless vector store). L'archivio vettoriale GraphRag di Neptune Analytics supporta la variante string (ma non la variante list di questo filtro). | 
| List contains | Non disponibile | [listContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-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 che hai fornito come uno dei suoi membri (attualmente è meglio supportato con Amazon OpenSearch Serverless vector stores). | 

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](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-andAll) | I risultati soddisfano tutte le espressioni di filtro del gruppo | 
| Or | or | [orAll](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-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](kb-test-retrieve.md) o in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). 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.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-one.png)
+ 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.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-more.png)
+ 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.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-logical.png)
+ 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.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-group.png)
+ 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.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-group-logical.png)
+ Per modificare un filtro, selezionalo, modifica l’operazione di filtro e scegli **Applica**.  
![Modifica di un filtro.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-edit.png)
+ Per rimuovere un gruppo di filtri, scegli l’icona del cestino (![](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/icons/trash.png)) accanto al gruppo. Per rimuovere un filtro, scegli l’icona di eliminazione (![](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/icons/close.png)) accanto al filtro.  
![Eliminare un filtro o un gruppo di filtri.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-delete.png)

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.](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/images/kb/filter-example.png)


------
#### [ API ]

Quando effettui una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)richiesta [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html)or, includi un `retrievalConfiguration` campo mappato su un oggetto. [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html) Per visualizzare la posizione del campo, consulta le pagine relative ai corpi delle richieste [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) e [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) nella documentazione di riferimento dell’API.

I seguenti oggetti JSON mostrano i campi minimi richiesti nell'[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)oggetto 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", ...]
               }
           }
       }
   }
   ```

1. 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", ...]
                   },
                   ...
               ]
           }
       }
   }
   ```

1. 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", ...]
                   }
               ]
           }
       }
   }
   ```

1. 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 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 [Send a query and includi filters (Retrieve)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_Example_2) e [Send a query and include filters](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_Example_2) (). RetrieveAndGenerate

------

## Filtro implicito dei metadati
<a name="kb-test-config-implicit"></a>

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

**Nota**  
Il filtraggio implicito dei metadati è supportato dai modelli. Anthropic Claude Per ulteriori informazioni sui modelli supportati, consulta i [modelli in sintesi](model-cards.md).

L’elemento `implicitFilterConfiguration` è specificato nell’oggetto `vectorSearchConfiguration` del corpo della richiesta [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html). 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"
    }
]
```

## Guardrail
<a name="kb-test-config-guardrails"></a>

È 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](guardrails.md).

**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](prompt-engineering-guidelines.md).

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](kb-test-retrieve.md) o in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). 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.

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

------
#### [ API ]

Quando esegui una richiesta [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html), 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 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) nella documentazione di riferimento dell’API.

Il seguente oggetto JSON mostra i campi minimi richiesti [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)per impostare: `guardrailConfiguration`

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

Specifica i valori `guardrailVersion` e `guardrailId` dei guardrail scelti. 

------

## Riclassificazione
<a name="kb-test-config-rerank"></a>

È 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](kb-test-retrieve.md) o in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). 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.

## Scomposizione delle query
<a name="kb-test-query-modifications"></a>

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?*

1. *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.

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

1. 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
           }
         },
...}
}
```

------

## Parametri di inferenza
<a name="kb-test-model-params"></a>

Quando si generano risposte basate sul recupero di informazioni, è possibile utilizzare [i parametri di inferenza](inference-parameters.md) 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](kb-test-retrieve.md) o in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). 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](knowledge-base-chatdoc.md). 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 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). È 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](knowledge-base-chatdoc.md)).

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](inference-parameters.md).

È 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](model-parameters.md).

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` sotto`generationConfiguration` 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. 

------

## Modelli di prompt della knowledge base: orchestrazione e generazione
<a name="kb-test-config-prompt-template"></a>

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.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock/latest/userguide/kb-test-config.html)
+ **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](https://docs.anthropic.com/claude/docs/use-xml-tags) nella [ Guida per l’utente di Anthropic](https://docs.anthropic.com/en/docs/welcome).

Per linee guida generali sulla progettazione dei prompt, consulta [Concetti di progettazione dei prompt](prompt-engineering-guidelines.md).

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](kb-test-retrieve.md) o in [Interrogare una knowledge base e generare risposte basate sui dati recuperati](kb-test-retrieve-generate.md). Nella finestra di test, attiva **Genera risposte**. Nel riquadro **Configurazioni**, espandi la sezione **Modello di prompt della knowledge base**.

1. Scegli **Modifica**.

1. 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**.

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

------
#### [ API ]

Quando effettui una [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)richiesta, includi un `generationConfiguration` campo mappato su un [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)oggetto. Per visualizzare la posizione del campo, consulta la pagina relativa al corpo della richiesta [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) nella documentazione di riferimento dell’API.

Il seguente oggetto JSON mostra i campi minimi richiesti nell'[GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)oggetto 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 di sistema, consultate il `textPromptTemplate` campo in. [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)

------