

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar e personalizar consultas e geração de respostas
<a name="kb-test-config"></a>

Você pode configurar e personalizar a recuperação e a geração de respostas, aumentando ainda mais a relevância das respostas. Por exemplo, você pode aplicar filtros aos metadados do documento fields/attributes para usar os documentos atualizados mais recentemente ou com horários de modificação recentes.

**nota**  
Todas as configurações a seguir, exceto **Orquestração e geração**, são aplicáveis somente a fontes de dados não estruturados.

Para saber mais sobre essas configurações no console ou na API, selecione um dos seguintes tópicos:

## Número de fragmentos de origem
<a name="kb-test-config-number"></a>

Quando você consulta uma base de conhecimento, o Amazon Bedrock retorna até cinco resultados na resposta por padrão. Cada resultado corresponde a um fragmento de origem.

**nota**  
O número real de resultados na resposta pode ser menor que o valor `numberOfResults` especificado, pois esse parâmetro define o número máximo de resultados a serem exibidos. Se você configurou a fragmentação hierárquica para sua estratégia de fragmentação, o parâmetro `numberOfResults` será associado ao número de fragmentos secundários que a base de conhecimento recuperará. Como os fragmentos secundários que compartilham o mesmo fragmento principal são substituídos pelo fragmento principal na resposta final, o número de resultados exibidos pode ser menor do que o valor solicitado.

Para modificar o número máximo de resultados a serem exibidos, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

Siga as etapas do console em [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) ou [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). No painel **Configurações**, expanda a seção **Fragmentos de origem** e insira o número máximo de fragmentos de origem a serem exibidos.

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

Ao fazer uma [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)solicitação [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, inclua um `retrievalConfiguration` campo mapeado para um [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto. Para ver a localização desse campo, consulte os corpos de solicitação [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) na referência de API.

O objeto JSON a seguir mostra os campos mínimos necessários no [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto para definir o número máximo de resultados a serem retornados:

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

Especifique o número máximo de resultados recuperados (consulte o `numberOfResults` campo em [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)para ver o intervalo de valores aceitos) a serem retornados no `numberOfResults` campo.

------

## Tipo de pesquisa
<a name="kb-test-config-search"></a>

O tipo de pesquisa define como fontes de dados na base de conhecimento são consultadas. Estes tipos de pesquisa são possíveis:

**nota**  
A pesquisa híbrida só é compatível com os armazenamentos vetoriais Amazon RDS, Amazon OpenSearch Serverless e MongoDB que contêm um campo de texto filtrável. Quando você usa um armazenamento de vetores diferente ou seu armazenamento de vetores não contém um campo de texto filtrável, a consulta usa a pesquisa semântica.
+ **Padrão**: o Amazon Bedrock decide a estratégia de pesquisa para você.
+ **Híbrida**: combina pesquisa com incorporações de vetores (pesquisa semântica) com pesquisa no texto bruto.
+ **Semântica**: só pesquisa incorporações de vetores.

Para saber como definir o tipo de pesquisa, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

Siga as etapas do console em [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) ou [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). Ao abrir o painel **Configurações**, expanda a seção **Tipo de pesquisa**, ative **Substituir pesquisa padrão** e selecione uma opção.

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

Ao fazer uma [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)solicitação [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, inclua um `retrievalConfiguration` campo mapeado para um [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto. Para ver a localização desse campo, consulte os corpos de solicitação [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) na referência de API.

O objeto JSON a seguir mostra os campos mínimos necessários no [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto para definir as configurações do tipo de pesquisa:

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

Especifique o tipo de pesquisa no campo `overrideSearchType`. Você tem as seguintes opções:
+ Se você não especificar um valor, o Amazon Bedrock decidirá qual estratégia de pesquisa é mais adequada à configuração do armazenamento de vetores.
+ **HÍBRIDA**: o Amazon Bedrock consulta a base de conhecimento usando as incorporações de vetores e o texto bruto.
+ **SEMÂNTICA**: o Amazon Bedrock consulta a base de conhecimento usando as incorporações de vetores.

------

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

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

Siga as etapas do console em [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). Ao abrir o painel **Configurações**, expanda a seção **Preferência de streaming** e ative **Resposta do fluxo**.

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

Para transmitir respostas, use a 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). Para obter mais detalhes sobre o preenchimento dos campos, consulte a guia **API** em [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md).

------

## Filtragem manual de metadados
<a name="kb-test-config-filters"></a>

Você pode aplicar filtros ao documento fields/attributes para ajudá-lo a melhorar ainda mais a relevância das respostas. Suas fontes de dados podem incluir metadados do documento attributes/fields para filtrar e especificar quais campos incluir nas incorporações.

Por exemplo, “epoch\_modification\_time” representa o tempo em segundos desde 1.º de janeiro de 1970 (UTC), quando o documento foi atualizado pela última vez. Você pode filtrar os dados mais recentes, em que “epoch\_modification\_time” *é maior que* um determinado número. Esses documentos mais recentes podem ser usados na consulta.

Para usar filtros ao consultar uma base de conhecimento, verifique se a base de conhecimento atende aos seguintes requisitos:
+ Ao configurar o conector da fonte de dados, a maioria dos conectores rastreia os principais campos de metadados dos documentos. Se estiver usando um bucket do Amazon S3 como fonte de dados, o bucket deverá incluir pelo menos um `fileName.extension.metadata.json` para o arquivo ou o documento ao qual está associado. Consulte **Campos de metadados do documento** em [Configuração de conexão](s3-data-source-connector.md#configuration-s3-connector) para ter mais informações sobre como configurar o arquivo de metadados.
+ Se o índice vetorial da sua base de conhecimento estiver em um armazenamento vetorial Amazon OpenSearch Serverless, verifique se o índice vetorial está configurado com o `faiss` mecanismo. Se o índice de vetores estiver configurado com o mecanismo `nmslib`, será necessário fazer o seguinte:
  + [Crie uma nova base de conhecimento](knowledge-base-create.md) no console e deixe que o Amazon Bedrock crie automaticamente um índice vetorial no Amazon OpenSearch Serverless para você.
  + [Criar outro índice de vetores](knowledge-base-setup.md) no armazenamento de vetores e selecionar `faiss` como o **mecanismo**. Em seguida, [criar uma base de conhecimento](knowledge-base-create.md) e especificar o novo índice de vetores.
+ Se sua base de conhecimento usa um índice de vetores em um bucket de vetores do S3, não é possível usar os filtros `startsWith` e `stringContains`.
+ Se estiver adicionando metadados a um índice de vetores existente em um cluster de banco de dados do Amazon Aurora, recomendamos que você forneça o nome do campo da coluna de metadados personalizados para armazenar todos os metadados em uma única coluna. Durante a [ingestão de dados](kb-data-source-sync-ingest.md), essa coluna será usada para preencher todas as informações em os arquivos de metadados de suas fontes de dados. Se você optar por fornecer esse campo, deverá criar um índice nessa coluna.
  + Quando você [cria uma base de conhecimento](knowledge-base-create.md) no console e permite que o Amazon Bedrock configure o banco de dados do Amazon Aurora, ele cria automaticamente uma única coluna para você e a preenche com as informações dos seus arquivos de metadados.
  + Ao optar por [criar outro índice de vetores](knowledge-base-setup.md) no armazenamento de vetores, é necessário fornecer o nome do campo de metadados personalizados para armazenar informações dos arquivos de metadados. Se você não fornecer esse nome de campo, crie uma coluna para cada atributo de metadados nos arquivos e especifique o tipo de dados (texto, número ou booliano). Por exemplo, se o atributo `genre` existir na fonte de dados, você deve adicionar uma coluna chamada `genre` e especificar `text` como o tipo de dados. Durante a ingestão, essas colunas separadas serão preenchidas com os valores dos atributos correspondentes.

*Se você tiver documentos PDF em sua fonte de dados e usar o Amazon OpenSearch Serverless ou o Amazon Aurora para seu armazenamento de vetores: as bases de conhecimento do Amazon Bedrock gerarão números de página de documentos e os armazenarão em um metadado chamado x-amz-bedrock-kb-document-page-number. field/attribute * Observe que não será possível ter números de página armazenados em um campo de metadados se você optar por não agrupar seus documentos.

Você pode usar os operadores de filtragem para filtrar os resultados ao consultar:


**Operadores de filtragem**  

| Operador | Console | Nome do filtro da API | Tipos de dados de atributo compatíveis | Resultados filtrados | 
| --- | --- | --- | --- | --- | 
| Igual | = | [equals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-equals) | string, número, booliano | O atributo corresponde ao valor fornecido por você | 
| Não é igual a | \!= | [notEquals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notEquals) | string, número, booliano | O atributo não corresponde ao valor fornecido por você | 
| Maior que | > | [greaterThan](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThan) | número | O atributo é maior que o valor fornecido por você | 
| É maior que ou igual a | >= | [maior ThanOrEquals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-greaterThanOrEquals) | número | O atributo é maior que ou igual ao valor fornecido por você | 
| Menor que | < | [lessThan](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThan) | número | O atributo é menor que o valor fornecido por você | 
| Menor ou igual a | <= | [menos ThanOrEquals](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-lessThanOrEquals) | número | O atributo é menor que ou igual ao valor fornecido por você | 
| Em | : | [in](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-in) | lista de strings | O atributo está na lista que você fornece (atualmente é mais compatível com os armazenamentos vetoriais Amazon OpenSearch Serverless e Neptune Analytics GraphRag) | 
| Não está em | \!: | [notIn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-notIn) | lista de strings | O atributo não está na lista que você fornece (atualmente é melhor compatível com os armazenamentos vetoriais Amazon OpenSearch Serverless e Neptune Analytics GraphRag) | 
| A string contém | Indisponível | [stringContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-stringContains) | string | O atributo deve ser uma string. O nome do atributo corresponde à chave e cujo valor é uma string que contém o valor que você forneceu como substring ou uma lista com um membro que contém o valor que você forneceu como substring (atualmente, melhor suportado pelo Amazon OpenSearch Serverless Vector Store). O armazenamento vetorial GraphRag do Neptune Analytics suporta a variante de string (mas não a variante de lista desse filtro). | 
| A lista contém | Indisponível | [listContains](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-listContains) | string | O atributo deve ser uma lista de strings. O nome do atributo corresponde à chave e cujo valor é uma lista que contém o valor que você forneceu como um de seus membros (atualmente é mais compatível com os armazenamentos vetoriais Amazon OpenSearch Serverless). | 

Para combinar operadores de filtragem, você pode usar os seguintes operadores lógicos:


**Operadores lógicos**  

| Operador | Console | Nome do campo de filtro da API | Resultados filtrados | 
| --- | --- | --- | --- | 
| E | and | [andAll](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-andAll) | Os resultados atendem a todas as expressões de filtragem no grupo | 
| Ou | or | [orAll](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html#bedrock-Type-agent-runtime_RetrievalFilter-orAll) | Os resultados atendem a pelo menos uma das expressões de filtragem no grupo | 

Para saber como filtrar os resultados usando metadados, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

Siga as etapas do console em [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) ou [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). Ao abrir o painel **Configurações**, você verá uma seção **Filtros**. Os seguintes procedimentos descrevem casos de uso diferentes:
+ Para adicionar um filtro, crie uma expressão de filtragem inserindo um atributo de metadados, um operador de filtragem e um valor na caixa. Separe cada parte da expressão com um espaço em branco. Pressione **Enter** para adicionar o filtro.

  Para obter uma lista dos operadores de filtragem aceitos, consulte a tabela **Operadores de filtragem** acima. Você também pode ver uma lista dos operadores de filtragem ao adicionar um espaço em branco após o atributo de metadados.
**nota**  
Você deve colocar as strings entre aspas.

  Por exemplo, você pode filtrar resultados dos documentos de origem que contenham um atributo de metadados `genre` cujo valor é `"entertainment"` adicionando o seguinte filtro: **genre = "entertainment"**.  
![Adicione um filtro.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-one.png)
+ Para adicionar outro filtro, insira outra expressão de filtragem na caixa e pressione **Enter**. Você pode adicionar até cinco filtros no grupo.  
![Adicione um filtro.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-more.png)
+ Por padrão, a consulta retorna resultados que atendam a todas as expressões de filtragem fornecidas por você. Para retornar resultados que atendam a pelo menos uma das expressões de filtragem, escolha o menu suspenso **e** entre duas operações de filtragem e selecione **ou**.  
![Altere a operação lógica entre filtros.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-logical.png)
+ Para combinar operadores lógicos diferentes, selecione **\+ Adicionar grupo** para adicionar um grupo de filtros. Insira expressões de filtragem no novo grupo. Você pode adicionar até 5 grupos de filtros.  
![Adicione um grupo de filtros para combinar operadores lógicos diferentes.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-group.png)
+ Para alterar o operador lógico usado entre todos os grupos de filtragem, escolha o menu suspenso **E** entre dois grupos de filtros e selecione **OU**.  
![Altere a operação lógica entre grupos de filtros.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-group-logical.png)
+ Para editar um filtro, selecione-o, modifique a operação de filtragem e escolha **Aplicar**.  
![Edite um filtro.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-edit.png)
+ Para remover um grupo de filtros, escolha o ícone de lixeira (![Trash can icon representing a delete action.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/trash.png)) ao lado do grupo. Para remover um filtro, escolha o ícone de exclusão (![Close or cancel icon represented by an "X" symbol.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/close.png)) ao lado do filtro.  
![Exclua um filtro ou um grupo de filtros.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-delete.png)

A imagem a seguir mostra um exemplo de configuração do filtro que mostra todos os documentos gravados depois de **2018** cujo gênero é **"entertainment"**, além de documentos cujo gênero é **"cooking"** ou **"sports"** cujo autor começa com **"C"**.

![Configuração do filtro de exemplo.](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/filter-example.png)


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

Ao fazer uma [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)solicitação [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, inclua um `retrievalConfiguration` campo mapeado para um [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto. Para ver a localização desse campo, consulte os corpos de solicitação [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) na referência de API.

Os objetos JSON a seguir mostram os campos mínimos necessários no [KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)objeto para definir filtros para diferentes casos de uso:

1. Use um operador de filtragem (consulte a tabela **Operadores de filtragem** acima).

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

1. Use um operador lógico (consulte a tabela **Operadores lógicos** acima) para combinar até cinco.

   ```
   "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. Use um operador lógico para combinar até cinco operadores de filtragem em um grupo de filtros e um segundo operador lógico para combinar esse grupo de filtros com outro operador de filtragem.

   ```
   "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. Combine até cinco grupos de filtros incorporando-os em outro operador lógico. Você pode criar um nível de incorporação.

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

A seguinte tabela descreve os tipos de filtro que você pode usar:


****  

| Campo | Tipos de dados de valor compatíveis | Resultados filtrados | 
| --- | --- | --- | 
| equals | string, número, booliano | O atributo corresponde ao valor fornecido por você | 
| notEquals | string, número, booliano | O atributo não corresponde ao valor fornecido por você  | 
| greaterThan | número | O atributo é maior que o valor fornecido por você | 
| greaterThanOrEquals | número | O atributo é maior que ou igual ao valor fornecido por você | 
| lessThan | número | O atributo é menor que o valor fornecido por você  | 
| lessThanOrEquals | número | O atributo é menor que ou igual ao valor fornecido por você | 
| in | lista de strings | O atributo está na lista fornecida por você | 
| notIn | lista de strings | O atributo não está na lista fornecida por você | 
| startsWith | string | O atributo começa com a string que você fornece (compatível somente com lojas de vetores Amazon OpenSearch Serverless) | 

Para combinar tipos de filtro, você pode usar um dos seguintes operadores lógicos:


****  

| Campo | Está associado a | Resultados filtrados | 
| --- | --- | --- | 
| andAll | Lista de até cinco tipos de filtro | Os resultados atendem a todas as expressões de filtragem no grupo | 
| orAll | Lista de até cinco tipos de filtro | Os resultados atendem a pelo menos uma das expressões de filtragem no grupo | 

Para ver exemplos, consulte [Enviar uma consulta e incluir filtros (Recuperar)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_Example_2) e [Enviar uma consulta e incluir filtros (RetrieveAndGenerate)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_Example_2).

------

## Filtragem de metadados implícitos
<a name="kb-test-config-implicit"></a>

A base de conhecimento do Amazon Bedrock gera e aplica um filtro de recuperação com base na consulta do usuário e em um esquema de metadados.

**nota**  
A filtragem implícita de metadados é suportada por modelos. Anthropic Claude Para obter mais informações sobre os modelos compatíveis, consulte [Visão geral dos modelos.](model-cards.md)

A `implicitFilterConfiguration` é especificada na `vectorSearchConfiguration` no corpo da solicitação [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). Inclui os seguintes campos:
+ `metadataAttributes`: nessa matriz, forneça esquemas que descrevam os atributos de metadados para os quais o modelo gerará um filtro.
+ `modelArn`: o ARN do modelo a ser usado.

Veja a seguir um exemplo de esquemas de metadados que você pode adicionar à matriz `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"
    }
]
```

## Barreiras de proteção
<a name="kb-test-config-guardrails"></a>

Você pode implementar barreiras para a base de conhecimento nos casos de uso e políticas de IA responsável. Você pode criar várias barreiras de proteção personalizadas para diferentes casos de uso e aplicá-las em várias condições de solicitação e resposta, proporcionando uma experiência do usuário consistente e padronizando controles de segurança em toda a base de conhecimento. Você pode configurar tópicos negados para evitar tópicos indesejáveis e filtros de conteúdo para bloquear conteúdo prejudicial em entradas e respostas do modelo. Para obter mais informações, consulte [Detectar e filtrar conteúdo nocivo usando as Barreiras de Proteção do Amazon Bedrock](guardrails.md).

**nota**  
Não é possível usar barreiras de proteção com base contextual para bases de conhecimento no Claude 3 Sonnet e no Haiku.

Para obter diretrizes gerais de engenharia de prompts, consulte [Conceitos de engenharia de prompts](prompt-engineering-guidelines.md).

Escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

Siga as etapas do console em [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) ou [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). Na janela de teste, ative **Gerar respostas**. Em seguida, no painel **Configurações**, expanda a seção **Barreiras de proteção**.

1. Na seção **Barreiras de proteção**, escolha o **Nome** e a **Versão** da barreira de proteção. Se você quiser ver os detalhes da barreira de proteção e da versão escolhidas, escolha **Exibir**.

   Você também pode criar uma nova escolhendo o link **Barreira de proteção**.

1. Quando terminar de editar, escolha **Save changes** (Salvar alterações). Para sair sem salvar, escolha **Descartar alterações**.

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

Ao fazer uma solicitação [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), inclua o campo `guardrailConfiguration` em `generationConfiguration` para usar a barreira de proteção com a solicitação. Para ver a localização desse campo, consulte o corpo da solicitação [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) na referência de API.

O objeto JSON a seguir mostra os campos mínimos necessários no [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)para definir o`guardrailConfiguration`:

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

Especifique `guardrailId` e `guardrailVersion` das barreiras de proteção escolhidas. 

------

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

Você pode usar um modelo reclassificador para reclassificar os resultados da consulta à base de conhecimento. Siga as etapas do console em [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) ou [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). Ao abrir o painel **Configurações**, expanda a seção **Reclassificação**. Selecione um modelo reclassificador, atualize as permissões, se necessário, e modifique as opções adicionais. Insira um prompt e selecione **Executar** para testar os resultados após a reclassificação.

## Decomposição da consulta
<a name="kb-test-query-modifications"></a>

Decomposição da consulta é uma técnica usada para dividir consultas complexas em subconsultas menores, mais gerenciáveis. Essa abordagem pode ajudar a recuperar informações mais precisas e relevantes, especialmente quando a consulta inicial é multifacetada ou muito abrangente. A habilitação dessa opção pode acarretar a execução de várias consultas na Base de Conhecimento, o que pode ajudar em uma resposta final mais precisa.

Por exemplo, para uma pergunta como *“Quem fez mais gols na Copa do Mundo FIFA de 2022, Argentina ou França?”*, as bases de conhecimento do Amazon Bedrock podem primeiro gerar as seguintes subconsultas, antes de gerar uma resposta final:

1. *Quantos gols a Argentina fez na final da Copa do Mundo FIFA de 2022?*

1. *Quantos gols a França fez na final da Copa do Mundo FIFA de 2022?*

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

1. Crie e sincronize uma fonte de dados ou use uma base de conhecimento existente.

1. Vá até a janela de teste e abra o painel de configuração.

1. Habilite a decomposição de consultas.

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

------

## Parâmetros de inferência
<a name="kb-test-model-params"></a>

Ao gerar respostas com base na recuperação das informações, você pode usar [parâmetros de inferência](inference-parameters.md) para ter maior controle sobre o comportamento do modelo durante a inferência e influenciar as saídas do modelo.

Para saber como modificar os parâmetros de inferência, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

**Para modificar os parâmetros de inferência ao consultar uma base de conhecimento**: siga as etapas do console em [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) ou [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). Ao abrir o painel **Configurações**, você verá uma seção **Parâmetros de inferência**. Modifique os parâmetros conforme necessário.

**Para modificar os parâmetros de inferência ao conversar com o documento**: siga as etapas em [Conversar com seu documento sem uma base de conhecimento configurada](knowledge-base-chatdoc.md). No painel **Configurações**, expanda a seção **Parâmetros de inferência** e modifique os parâmetros conforme necessário.

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

Você fornece os parâmetros de modelo na chamada para a 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). Você pode personalizar o modelo fornecendo parâmetros de inferência no campo `inferenceConfig` de `knowledgeBaseConfiguration` (se você consultar uma base de conhecimento) ou de `externalSourcesConfiguration` (se você [conversar com seu documento](knowledge-base-chatdoc.md)).

Dentro do campo `inferenceConfig`, há um campo `textInferenceConfig` que contém os seguintes parâmetros:
+ temperature
+ topP
+ máximo TokenCount
+ stopSequences

Você pode personalizar o modelo usando os seguintes parâmetros no campo `inferenceConfig` de `externalSourcesConfiguration` e `knowledgeBaseConfiguration`: 
+ temperature
+ topP
+ máximo TokenCount
+ stopSequences

Para obter uma explicação detalhada da função de cada um desses parâmetros, consulte [Geração de resposta de influência com parâmetros de inferência](inference-parameters.md).

Além disso, você pode fornecer parâmetros personalizados não compatíveis com `textInferenceConfig` por meio do mapa `additionalModelRequestFields`. Você pode fornecer parâmetros exclusivos para modelos específicos com esse argumento. Para os parâmetros exclusivos, consulte [Parâmetros de solicitação de inferência e campos de resposta para modelos de base](model-parameters.md).

Se um parâmetro for omitido de `textInferenceConfig`, um valor padrão será usado. Todos os parâmetros não reconhecidos em `textInferneceConfig` serão ignorados, ao passo que todos os parâmetros não reconhecidos em `AdditionalModelRequestFields` causarão uma exceção. 

Uma exceção de validação será lançada se houver o mesmo parâmetro em `additionalModelRequestFields` e `TextInferenceConfig`.

**Usando parâmetros do modelo em RetrieveAndGenerate**

 Este é um exemplo da estrutura para `inferenceConfig` e `additionalModelRequestFields` em `generationConfiguration` no corpo da solicitação `RetrieveAndGenerate`:

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

 O exemplo a seguir vai definir uma `temperature` de 0,5, `top_p` de 0,5, `maxTokens` de 2048, interromper a geração se encontrar a string “\\nObservation” na resposta gerada e passa um valor `top_k` personalizado de 50. 

------

## Modelos de prompt da base de conhecimento: geração de orquestração &amp;
<a name="kb-test-config-prompt-template"></a>

Quando você consulta uma base de conhecimento e solicita a geração de resposta, o Amazon Bedrock usa um modelo de prompt que combina instruções e contexto com a consulta do usuário para criar o prompt de geração enviado ao modelo para geração de respostas. É possível personalizar o prompt de orquestração, que transforma o prompt do usuário em uma consulta de pesquisa. Você pode projetar os modelos de prompt com as seguintes ferramentas:
+ **Espaços reservados imediatos** — Pre-defined variáveis nas bases de conhecimento Amazon Bedrock que são preenchidas dinamicamente em tempo de execução durante a consulta à base de conhecimento. No prompt do sistema, você verá esses espaços reservados entre o símbolo `$`. A seguinte lista descreve os espaços reservados que você pode usar:
**nota**  
O espaço reservado `$output_format_instructions$` é um campo obrigatório para que as citações sejam exibidas na resposta.  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/kb-test-config.html)
+ **Tags XML**: os modelos da Anthropic são compatíveis com o uso de tags XML para estruturar e delinear os prompts. Use nomes de tags descritivos para obter os resultados ideais. Por exemplo, no prompt do sistema padrão, você verá a tag `<database>` usada para delinear um banco de dados de perguntas feitas anteriormente. Para obter mais informações, consulte [Usar tags XML](https://docs.anthropic.com/claude/docs/use-xml-tags), no [Guia do usuário da Anthropic](https://docs.anthropic.com/en/docs/welcome).

Para obter diretrizes gerais de engenharia de prompts, consulte [Conceitos de engenharia de prompts](prompt-engineering-guidelines.md).

**nota**  
Quando você não fornece um modelo de solicitação personalizado, o Amazon Bedrock usa uma solicitação padrão do sistema que inclui conteúdo de exemplo genérico (como exemplos de perguntas e respostas sobre tópicos não relacionados) para orientar a formatação da resposta do modelo. Esse prompt padrão é visível nos registros de [invocação do modelo](model-invocation-logging.md). O conteúdo de exemplo no prompt padrão não vem dos dados de outros clientes — é um modelo estático fornecido pelo Amazon Bedrock. Você pode substituir o prompt padrão especificando o seu. `textPromptTemplate`

Escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

Siga as etapas do console em [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) ou [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md). Na janela de teste, ative **Gerar respostas**. Em seguida, no painel **Configurações**, expanda a seção **Modelo de prompt da base de conhecimento**.

1. Escolha **Editar**.

1. Edite o prompt do sistema no editor de texto, inclusive espaços reservados para o prompt e tags XML, conforme necessário. Para reverter para o modelo de prompt padrão, escolha **Definir como padrão**.

1. Quando terminar de editar, escolha **Save changes** (Salvar alterações). Para sair sem salvar o prompt do sistema, escolha **Descartar alterações**.

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

Ao fazer uma [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)solicitação, inclua um `generationConfiguration` campo mapeado para um [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)objeto. Para ver a localização desse campo, consulte o corpo da solicitação [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) na referência de API.

O objeto JSON a seguir mostra os campos mínimos necessários no [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html)objeto para definir o número máximo de resultados recuperados a serem retornados:

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

Insira o modelo de prompt personalizado no campo `textPromptTemplate`, inclusive espaços reservados de prompt e tags XML, conforme necessário. Para obter o número máximo de caracteres permitido no prompt do sistema, consulte o `textPromptTemplate` campo em [GenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerationConfiguration.html).

------