

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

# Recuperar dados e gerar respostas de IA com as Bases de Conhecimento do Amazon Bedrock
<a name="knowledge-base"></a>

Embora os modelos de base tenham conhecimento geral, você pode melhorar ainda mais as respostas usando a geração aumentada via recuperação (RAG). A RAG é uma técnica que usa informações de fontes de dados para melhorar a relevância e a precisão das respostas geradas. Com as Bases de Conhecimento do Amazon Bedrock, é possível integrar informações proprietárias em suas aplicações de IA generativa. Quando uma consulta é feita, uma base de conhecimento pesquisa os dados para encontrar informações relevantes para responder à consulta. As informações recuperadas podem então ser usadas para melhorar as respostas geradas. Você pode criar sua própria aplicação baseada em RAG usando os recursos das Bases de Conhecimento do Amazon Bedrock.

Com as Bases de Conhecimento do Amazon Bedrock, você pode:
+ Responder às consultas dos usuários exibindo informações relevantes das fontes de dados.
+ Usar as informações recuperadas das fontes de dados para ajudar a gerar uma resposta precisa e relevante às consultas dos usuários.
+ Aumentar seus próprios prompts inserindo as informações relevantes exibidas no prompt.
+ Incluir citações na resposta gerada para que a fonte de dados original possa ser usada como referência e a precisão possa ser verificada.
+ Incluir documentos com amplos recursos visuais, dos quais as imagens podem ser extraídas e recuperadas em respostas a consultas. Se você gerar uma resposta com base nos dados recuperados, o modelo poderá fornecer informações adicionais com base nessas imagens.
+ Pesquise usando imagens como consultas para encontrar conteúdo visualmente semelhante ou combine texto e imagens em consultas para obter resultados mais precisos usando modelos de incorporação multimodais.
+ Converter linguagem natural em consultas (como consultas SQL) que são personalizadas para bancos de dados estruturados. Essas consultas são usadas para recuperar dados de armazenamentos de dados estruturados.
+ Atualizar suas fontes de dados e incluir as alterações diretamente na base de conhecimento para que elas possam ser acessadas imediatamente.
+ Usar modelos de reclassificação para influenciar os resultados que são recuperados da fonte de dados.
+ Incluir a base de conhecimento em um fluxo de trabalho dos [Agentes do Amazon Bedrock](agents.md).

Para configurar uma base de conhecimento, você deve executar as seguintes etapas gerais:

1. (Opcional) Se você conectar sua base de conhecimento a uma fonte de dados estruturados, configure seu próprio [armazenamento de vetores compatível](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html) para indexar a representação de incorporações de vetores de seus dados. Você pode pular essa etapa se planeja usar o console Amazon Bedrock para criar um armazenamento vetorial Amazon OpenSearch Serverless para você.

1. Conecte a base de conhecimento a uma fonte de dados estruturados ou não estruturados.

1. Sincronize sua fonte de dados com sua base de conhecimento.

1. Configure sua aplicação ou agente para fazer o seguinte:
   + Consultar a base de conhecimento e exibir fontes relevantes.
   + Consultar a base de conhecimento e gerar respostas em linguagem natural com base nos resultados recuperados.
   + (Se você consultar uma base de conhecimento conectada a um armazenamento de dados estruturados.) Transforme uma consulta em uma consulta específica em linguagem de dados estruturados (como uma consulta SQL).

**Topics**
+ [Como funcionam as bases de conhecimento](kb-how-it-works.md)
+ [Modelos e regiões compatíveis](knowledge-base-supported.md)
+ [Conversar com seu documento sem nenhuma configuração](knowledge-base-chatdoc.md)
+ [Configurar permissões para criar e gerenciar bases de conhecimento](knowledge-base-prereq-permissions-general.md)
+ [Criar uma base de conhecimento conectando-se a uma fonte de dados](knowledge-base-build.md)
+ [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md)
+ [Criar uma base de conhecimento conectando-se a um armazenamento de dados estruturados](knowledge-base-build-structured.md)
+ [Criar uma base de conhecimento com um Índice GenAI do Amazon Kendra](knowledge-base-build-kendra-genai-index.md)
+ [Criar uma base de conhecimento usando grafos do Amazon Neptune Analytics](knowledge-base-build-graphs.md)
+ [Testar a base de conhecimento com consultas e respostas](knowledge-base-test.md)
+ [Implantar a base de conhecimento para a aplicação](knowledge-base-deploy.md)
+ [Visualizar informações sobre uma base de conhecimento](kb-info.md)
+ [Modificar uma base de conhecimento](kb-update.md)
+ [Excluir uma base de conhecimento](kb-delete.md)

# Como funcionam as bases de conhecimento do Amazon Bedrock
<a name="kb-how-it-works"></a>

O Amazon Bedrock Knowledge Bases ajuda você a aproveitar as vantagens da geração aumentada via recuperação (RAG), uma técnica conhecida que envolve extrair informações de um datastore para aumentar as respostas geradas por grandes modelos de linguagem (LLMs). Quando você configura uma base de conhecimento com fonte de dados, a aplicação pode consultar a base de conhecimento para exibir informações e responder à consulta com citações diretas das fontes ou com respostas naturais geradas com base nos resultados da consulta.

Com as Bases de Conhecimento do Amazon Bedrock, é possível criar aplicações enriquecidas pelo contexto recebido da consulta a uma base de conhecimento. Isso acelera o tempo de lançamento no mercado ao evitar o trabalho pesado da criação de pipelines, fornecendo a você uma solução de RAG pronta para usar a fim de reduzir o tempo de compilação da aplicação. Adicionar uma base de conhecimento também aumenta a relação custo-benefício, eliminando a necessidade de treinar continuamente o modelo para poder aproveitar os dados privados.

Os diagramas a seguir ilustram esquematicamente como a RAG é realizada. A base de conhecimento simplifica a configuração e a implementação da RAG, automatizando várias etapas desse processo.

**Pré-processamento de dados não estruturados**

Para permitir a recuperação eficaz de dados privados estruturados (dados que não existem em um armazenamento de dados estruturados), uma prática comum é converter os dados em texto e dividi-los em partes gerenciáveis. As partes ou fragmentos são convertidos em incorporações e gravados em um índice de vetores, mantendo uma correção com o documento original. Essas incorporações são usadas para determinar a semelhança semântica entre as consultas e o texto das fontes de dados. A imagem a seguir ilustra o pré-processamento de dados para o banco de dados de vetores.

![\[Pré-processar de dados para geração aumentada via recuperação\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/rag-preprocess.png)


As incorporações de vetores são uma série de números que representam cada fragmento de texto. Um modelo converte cada fragmento de texto em uma série de números, conhecidos como vetores, para que os textos possam ser comparados matematicamente. Esses vetores podem ser números de ponto flutuante (float32) ou números binários. A maioria dos modelos de incorporação compatíveis com o Amazon Bedrock usa vetores de ponto flutuante por padrão. No entanto, alguns modelos oferecem suporte a vetores binários. Se você escolher um modelo de incorporação de vetores binários, também deverá escolher um modelo e um armazenamento de vetores que ofereça suporte a vetores binários.

Os vetores binários, que usam apenas 1 bit por dimensão, não têm um armazenamento tão caro quanto os vetores de ponto flutuante (float32), que usam 32 bits por dimensão. No entanto, os vetores binários não são tão precisos quanto os vetores de ponto flutuante com relação à representação do texto.

O seguinte exemplo mostra um trecho de texto em três representações:


****  

| Representação | Valor | 
| --- | --- | 
| Texto | “O Amazon Bedrock usa modelos de base de alto desempenho das principais empresas de IA e da Amazon.” | 
| Vetor de ponto flutuante | [0.041..., 0.056..., -0.018..., -0.012..., -0.020..., ...] | 
| Vetor binário | [1,1,0,0,0, ...] | 

**Execução do Runtime**

Em tempo de execução, um modelo de incorporação é usado para converter a consulta do usuário em um vetor. O índice de vetores é consultado para encontrar partes que sejam semanticamente semelhantes à consulta do usuário, comparando os vetores do documento com o vetor de consulta do usuário. Na etapa final, o prompt do usuário é aumentado com o contexto adicional dos fragmentos que são recuperados do índice de vetores. O prompt e o contexto adicional são enviados ao modelo para gerar uma resposta para o usuário. A imagem a seguir ilustra como a RAG opera em tempo de execução para aumentar as respostas às consultas dos usuários.

![\[Geração aumentada via recuperação em tempo de execução\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/rag-runtime.png)


Para saber mais sobre como transformar seus dados em uma base de conhecimento, como consultar a base de conhecimento depois de configurá-la e personalizações que é possível aplicar à fonte de dados durante a ingestão, consulte os seguintes tópicos:

**Topics**
+ [Transformar dados em uma base de conhecimento](kb-how-data.md)
+ [Recuperar informações de fontes de dados usando as Bases de Conhecimento do Amazon Bedrock](kb-how-retrieval.md)
+ [Personalizar a base de conhecimento](kb-how-customization.md)

# Transformar dados em uma base de conhecimento
<a name="kb-how-data"></a>

Para criar uma base de conhecimento, conecte-se a uma fonte de dados compatível que você deseja que a base de conhecimento possa acessar. A base de conhecimento poderá responder às consultas dos usuários ou gerar respostas de acordo com os dados recuperados.

 As Bases de Conhecimento do Amazon Bedrock permitem usar uma variedade de documentos, como texto, imagens ou documentos multimodais que contêm tabelas, gráficos, diagramas e outras imagens. Os dados *multimodais* se referem a uma combinação de texto e dados visuais. Exemplos de tipos de arquivo que contêm dados não estruturados são texto, markdown, HTML e. PDFs

As seções abaixo descrevem os tipos de dados que as Bases de Conhecimento do Amazon Bedrock aceitam e os serviços aos quais você pode conectar a base de conhecimento para cada tipo de dados:

## Dados não estruturados
<a name="kb-how-unstructured"></a>

Dados não estruturados se referem a dados que não são forçados a seguir uma estrutura predefinida. As Bases de Conhecimento do Amazon Bedrock permitem a conexão com os seguintes serviços para adicionar dados não estruturados à base de conhecimento:
+ Amazon S3
+ Confluence (versão prévia)
+ Microsoft SharePoint (versão prévia)
+ Salesforce (versão prévia)
+ Web Crawler (versão prévia)
+ Fonte de dados personalizada (permite a ingestão direta de dados em bases de conhecimento sem precisar de sincronização)

Uma fonte de dados contém documentos em um formato bruto. Para otimizar o processo de consulta, uma base de conhecimento converte os dados brutos em *incorporações de vetores*, uma representação numérica dos dados, para quantificar a semelhança com consultas que também são convertidas em incorporações de vetores. As Bases de Conhecimento do Amazon Bedrock usam os seguintes recursos no processo de conversão da fonte de dados:
+ Modelo de incorporação: um modelo de base que converte os dados em incorporações de vetores. Para dados multimodais contendo texto e imagens, você pode usar modelos de incorporação multimodais, como Amazon Titan Multimodal Embeddings G1 ou Cohere Embed v3.
+ Armazenamento de vetores: um serviço que armazena a representação de vetor dos seus dados. Somente os seguintes tipos de armazenamento de vetores são aceitos:
  + Amazon sem OpenSearch servidor
  + Amazon Neptune
  + Amazon Aurora (RDS)
  + Pinecone
  + Redis Enterprise Cloud
  + Atlas do MongoDB

O processo de conversão dos dados em incorporações de vetores é chamado de *ingestão*. O processo de ingestão que transforma os dados em uma base de conhecimento envolve as seguintes etapas:

**Ingestão**

1. Os dados são analisados pelo analisador escolhido. Para ter mais informações sobre análise, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).

1. Cada documento na fonte de dados é dividido fragmentos, que são subdivisões dos dados que podem ser definidas pelo número de tokens e outros parâmetros. Para ter mais informações sobre fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).

1. O modelo de incorporação escolhido converte os dados em incorporações de vetores. Para conteúdo multimodal, as imagens são incorporadas como vetores visuais, enquanto o texto é incorporado como vetores de texto, permitindo a pesquisa em ambas as modalidades.

1. As incorporações de vetores são gravadas em um índice de vetores no armazenamento de vetores escolhido.

Depois que o processo de ingestão for concluído, a base de conhecimento estará pronta para ser consultada. Para ter informações sobre como consultar e recuperar informações da base de conhecimento, consulte [Recuperar informações de fontes de dados usando as Bases de Conhecimento do Amazon Bedrock](kb-how-retrieval.md).

Se você fizer alterações em uma fonte de dados, deverá sincronizar as alterações para incluir adições, modificações e exclusões na base de conhecimento. Algumas fontes de dados permitem a ingestão ou exclusão direta de arquivos na base de conhecimento, eliminando a necessidade de tratar a modificação e a ingestão da fonte de dados como etapas separadas e a necessidade de sempre realizar sincronizações completas. Para saber como ingerir documentos diretamente na base de conhecimento e nas fontes de dados que a atendem, consulte [Ingerir alterações diretamente em uma base de conhecimento](kb-direct-ingestion.md).

As Bases de Conhecimento do Amazon Bedrock oferecem várias opções para personalizar a forma como os dados são ingeridos. Para ter mais informações sobre como personalizar esse processo, consulte [Personalizar a base de conhecimento](kb-how-customization.md).

## Dados estruturados
<a name="kb-how-structured"></a>

Dados estruturados se referem a dados tabulares em um formato predefinido pelo datastore em que eles residem. As Bases de Conhecimento do Amazon Bedrock se conectam a armazenamentos de dados estruturados compatíveis por meio do mecanismo de consulta do Amazon Redshift. Elas oferecem um mecanismo totalmente gerenciado que analisa padrões de consulta, histórico de consultas e metadados de esquema para converter consultas em linguagem natural em consultas SQL. Essas consultas convertidas são então usadas para recuperar informações relevantes de fontes de dados compatíveis.

As Bases de Conhecimento do Amazon Bedrock permitem a conexão com os seguintes serviços para adicionar armazenamentos de dados estruturados à base de conhecimento:
+ banco de dados de origem
+ AWS Glue Data Catalog(AWS Lake Formation)

Se você conectar a base de conhecimento a um armazenamento de dados estruturados, não precisará converter os dados em incorporações de vetores. Em vez disso, as Bases de Conhecimento do Amazon Bedrock podem consultar diretamente o armazenamento de dados estruturados. Durante a consulta, as Bases de Conhecimento do Amazon Bedrock podem converter consultas de usuários em consultas SQL para recuperar dados relevantes à consulta do usuário e gerar respostas mais precisas. Também é possível gerar consultas SQL sem recuperar dados e usá-las em outros fluxos de trabalho.

Como exemplo, um repositório de banco de dados contém a seguinte tabela com informações sobre clientes e compras:


****  

| ID da do cliente | Quantidade comprada em 2020 | Quantidade comprada em 2021 | Quantidade comprada em 2022 | Valor total comprado até o momento | 
| --- | --- | --- | --- | --- | 
| 1 | 200 | 300 | 500 | 1000 | 
| 2 | 150 | 100 | 120 | 370 | 
| 3 | 300 | 300 | 300 | 900 | 
| 4 | 720 | 180 | 100 | 900 | 
| 5 | 500 | 400 | 100 | 1000 | 
| 6 | 900 | 800 | 1000 | 2700 | 
| 7 | 470 | 420 | 400 | 1290 | 
| 8 | 250 | 280 | 250 | 780 | 
| 9 | 620 | 830 | 740 | 2190 | 
| 10 | 300 | 200 | 300 | 800 | 

Se uma consulta do usuário disser “forneça um resumo dos cinco clientes que mais gastam”, a base de conhecimento poderá fazer o seguinte:
+ Converter a consulta em uma consulta SQL.
+ Exibir um trecho da tabela que contém o seguinte:
  + Colunas relevantes da tabela “ID do cliente” e “Valor total de compra até o momento”.
  + Linhas da tabela contendo o valor total da compra para os dez clientes que mais gastam.
+ Gerar uma resposta que indique quais clientes foram os cinco clientes que mais gastaram e quanto eles compraram.

Outros exemplos de consulta para as quais uma base de conhecimento pode gerar um trecho de tabela incluem:
+ “Os cinco principais clientes por gasto em 2020”;
+ “O principal cliente por valor de compra em 2020”;
+ “Os cinco principais clientes por valor de compra de 2020 a 2022”;
+ “Os cinco principais clientes com gastos mais altos em 2022”;
+ “Os clientes com valor total de compra inferior a \$1 10”;
+ “Os cinco clientes com gastos mais baixos”.

Quanto mais específica ou detalhada for uma consulta, mais a base de conhecimento poderá restringir as informações exatas a serem exibidas. Por exemplo, em vez da consulta “Os dez principais clientes por gasto em 2020”, uma consulta mais específica é “Encontre os dez valores totais de compra mais altos até o momento para clientes em 2020”. A consulta específica se refere ao nome da coluna “Valor total de compra até o momento” na tabela do banco de dados de gastos dos clientes e também indica que os dados devem ser classificados por “mais alto”.

# Recuperar informações de fontes de dados usando as Bases de Conhecimento do Amazon Bedrock
<a name="kb-how-retrieval"></a>

Depois que você configurar uma base de conhecimento, poderá configurar sua aplicação para consultar as fontes de dados contidas nela. Para consultar uma base de conhecimento, é possível utilizar as seguintes operações de API:
+ [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): recupera os fragmentos ou imagens de origem dos seus dados que são mais relevantes para a consulta e os exibe na resposta como uma matriz.
+ [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): une `Retrieve` à operação [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) no Amazon Bedrock para recuperar os fragmentos de origem dos seus dados que são mais relevantes para a consulta e gerar uma resposta em linguagem natural. Inclui citações de fragmentos de fontes específicas dos dados. Se a fonte de dados incluir elementos visuais, o modelo utilizará os insights dessas imagens ao gerar uma resposta de texto e citará a fonte referente às imagens.
+ [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html): converte consultas de usuários em linguagem natural em consultas que estão em um formato adequado ao armazenamento de dados estruturados.

A operação `RetrieveAndGenerate` é uma ação combinada que usa subjacentemente `GenerateQuery` (se a base de conhecimento estiver conectada a um armazenamento de dados estruturados), `Retrieve` e `InvokeModel` para realizar todo o processo de RAG. Como as Bases de Conhecimento do Amazon Bedrock também oferecem acesso à operação `Retrieve`, você tem a flexibilidade de separar as etapas na RAG e personalizá-las para seu caso de uso específico.

Também é possível usar um [modelo de reclassificação](rerank.md) ao usar `Retrieve` ou `RetrieveAndGenerate` para reclassificar a relevância de documentos recuperados durante a consulta.

Para saber como usar essas operações de API ao consultar uma base de conhecimento, consulte [Testar a base de conhecimento com consultas e respostas](knowledge-base-test.md).

# Personalizar a base de conhecimento
<a name="kb-how-customization"></a>

As Bases de Conhecimento do Amazon Bedrock oferecem opções para personalizar como as fontes de dados são processadas na base de conhecimento, oferecendo flexibilidade quanto à forma como seus dados são armazenados, analisados e exibidos aos usuários finais. Selecione um dos seguintes tópicos para saber mais sobre as opções de personalização que você pode considerar ao configurar a base de conhecimento:

**Topics**
+ [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md)
+ [Opções de análise para a fonte de dados](kb-advanced-parsing.md)
+ [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md)
+ [Incluir metadados em uma fonte de dados para melhorar a consulta à base de conhecimento](kb-metadata.md)

# Como a fragmentação de conteúdo funciona para bases de conhecimento
<a name="kb-chunking"></a>

Ao ingerir dados, o Amazon Bedrock primeiro divide os documentos ou o conteúdo em partes manejáveis para uma recuperação de dados eficiente. Depois, os fragmentos são convertidos em incorporações e gravados em um índice de vetores (representação vetorial dos dados), ao mesmo tempo em que mantêm uma correlação com o documento original. As incorporações de vetores permitem que os textos sejam comparados quantitativamente.

**Topics**
+ [Fragmentação padrão](#kb-standard-chunking)
+ [Fragmentação hierárquica](#kb-hiearchical-chunking)
+ [Fragmentação semântica](#kb-semantic-chunking)
+ [Fragmentação de conteúdo multimodal](#kb-multimodal-chunking)

## Fragmentação padrão
<a name="kb-standard-chunking"></a>

O Amazon Bedrock é compatível com as seguintes abordagens padrão de fragmentação:

**nota**  
As estratégias de fragmentação de texto se aplicam somente a documentos de texto. Para conteúdo multimodal (áudio, vídeo, imagens), a fragmentação ocorre no nível do modelo de incorporação, não por meio dessas estratégias baseadas em texto.
+ Fragmentação de tamanho fixo: você pode configurar o tamanho do fragmento desejado especificando o número de tokens por fragmento e uma porcentagem de sobreposição, oferecendo flexibilidade para se alinhar aos requisitos específicos. É possível definir o número máximo de tokens que não devem exceder um fragmento e a porcentagem de sobreposição entre fragmentos consecutivos.
**nota**  
Para conteúdo analisado (como conteúdo usando analisadores avançados ou convertido de HTML), as Bases de Conhecimento Amazon Bedrock podem fragmentar o conteúdo para otimizar e obter melhores resultados. O fragmento respeita os limites lógicos do documento (como páginas ou seções) e não mescla o conteúdo entre esses limites, mesmo quando o aumento do tamanho máximo do token permitiria fragmentos maiores.
+ Fragmentação padrão: divide o conteúdo em fragmentos de texto de aproximadamente 300 tokens. O processo de fragmentação respeita os limites das frases, garantindo que as frases completas sejam preservadas em cada fragmento.

Você também pode optar por nenhuma fragmentação para os documentos. Cada documento é tratado como um único fragmento de texto. Convém pré-processar os documentos, dividindo-os em arquivos separados antes de optar por nenhuma fragmentação como abordagem/estratégia de fragmentação. Se você optar por não agrupar seus documentos, não poderá visualizar o número da página na citação ou filtrar pelo campo/atributo de metadados *x-amz-bedrock-kb- document-page-number*.

## Fragmentação hierárquica
<a name="kb-hiearchical-chunking"></a>

A fragmentação hierárquica envolve a organização das informações em estruturas aninhadas de fragmentos pai e filho. Ao criar uma fonte de dados, você pode definir o tamanho do fragmento pai, o tamanho do fragmento filho e o número de tokens de sobreposição entre cada fragmento. Durante a recuperação, o sistema recupera inicialmente fragmentos filho, mas os substitui por fragmentos pai maiores para dar ao modelo um contexto mais abrangente.

Pequenas incorporações de texto são mais precisas, mas a recuperação visa um contexto abrangente. Um sistema de fragmentação hierárquica equilibra essas necessidades substituindo os fragmentos filho recuperados pelos fragmentos pai quando indicado.

**nota**  
Como os fragmentos secundários são substituídos pelos fragmentos principais durante a recuperação, o número de resultados exibidos pode ser menor que o valor solicitado.
A fragmentação hierárquica não é recomendada ao usar o bucket vetorial do S3 como seu armazenamento de vetores. Ao usar um grande número de tokens para fragmentação (mais de 8000 tokens combinados), você pode se deparar com limitações de tamanho de metadados.

Para fragmentação hierárquica, as bases de conhecimento do Amazon Bedrock permitem especificar dois níveis ou a seguinte profundidade para fragmentação:
+ Pai: você define o tamanho máximo do token do fragmento pai.
+ Filho: você define o tamanho máximo do token do fragmento filho.

Você também define os tokens de sobreposição entre os fragmentos. Esse é o número absoluto de tokens de sobreposição entre fragmentos pai consecutivos e fragmentos filho consecutivos.

## Fragmentação semântica
<a name="kb-semantic-chunking"></a>

Fragmentação semântica é uma técnica de processamento de linguagem natural que divide o texto em fragmentos significativos para melhorar a compreensão e a recuperação de informações. Ela deve aumentar a precisão da recuperação concentrando-se no conteúdo semântico, e não apenas na estrutura sintática. Fazendo isso, ela pode facilitar uma extração e manipulação mais precisas de informações relevantes.

Ao configurar a fragmentação semântica, você tem a opção de especificar os hiperparâmetros a seguir.
+ Máximo de tokens: o número máximo de fichas que devem ser incluídos em um único fragmento, respeitando os limites de frase.
+ Tamanho do buffer: para uma determinada frase, o tamanho do buffer define o número de frases próximas a serem adicionadas para criação de incorporações. Por exemplo, um tamanho de buffer 1 resulta em 3 frases (atual, anterior e próxima) a serem combinadas e incorporadas. Esse parâmetro pode influenciar a quantidade de texto examinada em conjunto para determinar os limites de cada fragmento, afetando a granularidade e a coerência dos fragmentos resultantes. Um tamanho de buffer maior pode registrar mais contexto, embora também possa introduzir ruído, e um tamanho de buffer menor pode perder um contexto importante, mas garante uma fragmentação mais precisa.
+ Limite do percentil do ponto de interrupção: o limite do percentil da frase para traçar pontos de interrupção entre as frases. distance/dissimilarity Um limite mais alto exige que as frases sejam mais distinguíveis para serem divididas em partes diferentes. Um limite maior acarreta menos fragmentos e, normalmente, um tamanho de fragmento médio maior.
**nota**  
Existem custos adicionais para o uso da fragmentação semântica por causa do uso de um modelo básico. O custo depende da quantidade de dados que você tem. Consulte [Preços do Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/) para obter informações sobre o custo dos modelos de base.

## Fragmentação de conteúdo multimodal
<a name="kb-multimodal-chunking"></a>

Para conteúdo multimodal (áudio, vídeo, imagens), o comportamento de fragmentação difere dos documentos de texto:
+ **Embutimentos multimodais Nova: a fragmentação ocorre no nível do modelo de incorporação**. Você pode configurar a duração do bloco de áudio e vídeo de 1 a 30 segundos (padrão: 5 segundos). Para arquivos de vídeo, somente a duração do fragmento de vídeo se aplica, mesmo que o vídeo contenha áudio. A duração do fragmento de áudio só se aplica a arquivos de áudio independentes.
+ **Analisador Bedrock Data Automation (BDA):** o conteúdo é primeiro convertido em texto (transcrições e resumos de cenas) e, em seguida, estratégias padrão de fragmentação de texto são aplicadas ao texto convertido.

**nota**  
Ao usar incorporações multimodais Nova, as estratégias de fragmentação de texto configuradas em sua base de conhecimento afetam apenas documentos de texto em sua fonte de dados, não arquivos de áudio, vídeo ou imagem.

# Opções de análise para a fonte de dados
<a name="kb-advanced-parsing"></a>

A análise se refere à compreensão e extração de conteúdo de dados brutos. As Bases de Conhecimento do Amazon Bedrock oferecem as seguintes opções para analisar a fonte de dados durante a ingestão:
+ **Analisador padrão do Amazon Bedrock**: analisa somente texto em arquivos de texto, como arquivos .txt, .md, .html, .doc/.docx, .xls/.xlsx e.pdf. Não há cobranças para usar esse analisador.
**nota**  
Como o analisador padrão gera apenas texto, recomendamos usar a Automação de Dados do Amazon Bedrock ou um modelo de base como analisador em vez do analisador padrão se seus documentos incluírem figuras, gráficos, tabelas ou imagens. A Automação de Dados do Amazon Bedrock e os modelos de base podem extrair esses elementos dos documentos e exibi-los como saída.
+ As Bases de Conhecimento do Amazon Bedrock oferece os seguintes analisadores para analisar dados multimodais, como figuras, gráficos e tabelas em arquivos .pdf, além de arquivos de imagem .jpeg e .png. Esses analisadores também podem extrair figuras, gráficos, tabelas e imagens e armazená-los como arquivos em um destino do S3 que você especifica durante a criação da base de conhecimento. Durante a recuperação da base de conhecimento, esses arquivos podem ser exibidos na resposta ou na citação da fonte utilizada.
  + **Automação de Dados do Amazon Bedrock**: um serviço totalmente gerenciado que processa dados multimodais com eficiência, sem a necessidade de fornecer nenhum prompt adicional. O custo desse analisador depende do número de páginas no documento ou do número de imagens a serem processadas. Para ter mais informações sobre esse serviço, consulte [Automação de Dados do Amazon Bedrock](bda.md).
  + **Modelos de base**: processam dados multimodais usando um modelo de base. Esse analisador fornece a opção de personalizar o prompt padrão usado para extração de dados. O custo desse analisador depende do número de tokens de entrada e saída processados pelo modelo de base. Para ver uma lista de modelos em que é possível usar a análise de dados das Bases de Conhecimento do Amazon Bedrock, consulte [Modelos e regiões compatíveis](knowledge-base-supported.md#knowledge-base-supported-parsing).

**Importante**  
Se você escolher a Automação de Dados do Amazon Bedrock ou modelos de base como analisador, o método escolhido será usado para analisar todos os arquivos .pdf na fonte de dados, mesmo que os arquivos .pdf contenham somente texto. O analisador padrão não será usado para analisar esses arquivos .pdf. Sua conta incorre em cobranças pelo uso da Automação de Dados do Amazon Bedrock ou do modelo de base na análise desses arquivos.

Ao selecionar como analisar seus dados, considere o seguinte:
+ Se seus dados são puramente textuais ou contêm dados multimodais, como imagens, gráficos e tabelas, que você deseja que a base de conhecimento possa consultar.
+ Se você deseja ter a opção de personalizar o prompt usado para instruir o modelo sobre como analisar seus dados.
+ O custo do analisador. A Automação de Dados do Amazon Bedrock usa preços por página, enquanto os modelos de base analisadores cobram de acordo com os tokens de entrada e saída. Para obter mais informações, consulte [Preço do Amazon Bedrock](https://aws.amazon.com/bedrock/pricing/).
+ O limite total do tamanho do arquivo. Quando você usa modelos básicos como seu analisador, o tamanho total do arquivo em todos os arquivos não deve ser maior que 100 GB.

Para saber como configurar a forma como sua base de conhecimento deve ser analisada, consulte a configuração de conexão da sua fonte de dados em [Conectar uma fonte de dados à base de conhecimento](data-source-connectors.md).

# Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos
<a name="kb-custom-transformation"></a>

Você tem a capacidade de definir uma função do Lambda de transformação personalizada para injetar a própria lógica no processo de ingestão da base de conhecimento.

Você pode ter uma lógica de fragmentação específica, não compatível nativamente com as bases de conhecimento do Amazon Bedrock. Use a opção de estratégia sem fragmentação, ao mesmo tempo em que especifica uma função do Lambda que contenha a lógica de fragmentação. Além disso, você precisará especificar um bucket do Amazon S3 para que a base de conhecimento grave arquivos a serem fragmentados pela função do Lambda.

Depois da fragmentação, a função do Lambda vai gravar arquivos fragmentados no mesmo bucket e retornar referências para a base de conhecimento para processamento adicional. Você também tem a possibilidade de fornecer a própria chave do AWS KMS para criptografia de arquivos armazenados no bucket do S3.

**nota**  
Se forem usados conectores da web, será transmitido um texto Markdown para o Lambda em vez de HTML.

Como alternativa, convém especificar metadados no nível de fragmento, ao mesmo tempo em que faz a base de conhecimento aplicar uma das estratégias de fragmentação de suporte nativo. Nesse caso, selecione uma das estratégias de fragmentação predefinidas (por exemplo, fragmentação padrão ou de tamanho fixo), ao mesmo tempo em que fornece uma referência para a função do Lambda e o bucket do S3. Nesse caso, a base de conhecimento vai armazenar arquivos analisados e pré-fragmentados no bucket do S3 predefinido, antes de chamar a função do Lambda para adicionar ainda mais metadados no nível de fragmento.

Depois da adição de metadados no nível do fragmento, a função do Lambda vai gravar arquivos fragmentados no mesmo bucket e retornar referências para a base de conhecimento para processamento adicional. Os metadados em nível de fragmento têm precedência e substituem os metadados em nível de arquivo, em caso de eventuais colisões.

Para obter um exemplo de uso de uma função do Lambda Python para fragmentação personalizada, consulte [Custom chunking using Lambda function](https://github.com/aws-samples/amazon-bedrock-samples/blob/main/rag/knowledge-bases/features-examples/03-optimizing-accuracy-retrieved-results/advanced_chunking_options.ipynb).

Para contratos de API e arquivo, consulte as estruturas abaixo:

**Contrato de API ao adicionar uma transformação personalizada usando a função do Lambda**

```
{
...
    "vectorIngestionConfiguration": {
        "customTransformationConfiguration": { // Custom transformation 
            "intermediateStorage": {
                "s3Location": { // the location where input/output of the Lambda is expected 
                    "uri": "string"
                }
            },
            "transformations": [{
                "transformationFunction": {
                    "transformationLambdaConfiguration": {
                        "lambdaArn": "string"
                    }
                },
                "stepToApply": "string" // enum of POST_CHUNKING
            }]
        },
        "chunkingConfiguration": {
            "chunkingStrategy": "string",
            "fixedSizeChunkingConfiguration": {
                "maxTokens": "number",
                "overlapPercentage": "number"
            }
            ...
        }
    }
}
```

**Formato de entrada da transformação do Lambda personalizado**

```
{
    "version": "1.0",
    "knowledgeBaseId": "string",
    "dataSourceId": "string",
    "ingestionJobId": "string",
    "bucketName": "string",
    "priorTask": "string",
    "inputFiles": [{
        "originalFileLocation": {
            "type": "S3",
            "s3_location": {
                "uri": "string"
            }
        },
        "fileMetadata": {
            "key1": "value1",
            "key2": "value2"
        },
        "contentBatches": [{
            "key":"string"
        }]
    }]
}
```

**Formato de saída da transformação do Lambda personalizado**

```
{
    "outputFiles": [{
        "originalFileLocation": {
            "type": "S3",
            "s3_location": {
                "uri": "string"
            }
        },
        "fileMetadata": {
            "key1": "value1",
            "key2": "value2"
        },
        "contentBatches": [{
            "key": "string"
        }]
    }]
}
```

**O formato de arquivo para objetos é referenciado em `fileContents`**

```
{
    "fileContents": [{
        "contentBody": "...",
        "contentType": "string", // enum of TEXT, PDF, ...
        "contentMetadata": {
            "key1": "value1",
            "key2": "value2"
        }
    }
    ...
    ]
}
```

# Incluir metadados em uma fonte de dados para melhorar a consulta à base de conhecimento
<a name="kb-metadata"></a>

Ao ingerir arquivos CSV (valores separados por vírgula), você tem a possibilidade de fazer a base de conhecimento tratar determinadas colunas como campos de conteúdo, e não campos de metadados. Em vez de ter potencialmente centenas ou milhares de pares de arquivos/metadados/conteúdo, agora você pode ter um único arquivo CSV e um arquivo metadata.json correspondente, dando à base de conhecimento dicas sobre como tratar cada coluna dentro do CSV.

Há limites para campos/atributos de metadados do documento por fragmento. Consulte [Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)

Antes de ingerir um arquivo CSV, verifique se:
+ O CSV está no formato RFC4180 e codificado em UTF-8.
+ A primeira linha do CSV inclui informações de cabeçalho.
+ Os campos de metadados fornecidos no metadata.json estão presentes como colunas no CSV.
+ Você fornece um arquivo Filename.csv.metadata.json com o seguinte formato:

  ```
  {
      "metadataAttributes": {
          "${attribute1}": "${value1}",
          "${attribute2}": "${value2}",
          ...
      },
      "documentStructureConfiguration": {
          "type": "RECORD_BASED_STRUCTURE_METADATA",
          "recordBasedStructureMetadata": {
              "contentFields": [
                  {
                      "fieldName": "string"
                  }
              ],
              "metadataFieldsSpecification": {
                  "fieldsToInclude": [
                      {
                          "fieldName": "string"
                      }
                  ],
                  "fieldsToExclude": [
                      {
                          "fieldName": "string"
                      }
                  ]
              }
          }
      }
  }
  ```

O arquivo CSV é analisado uma linha por vez e a estratégia de fragmentação e a incorporação de vetores são aplicadas ao campo de conteúdo. Atualmente, as bases de conhecimento do Amazon Bedrock oferecem um campo de conteúdo. O campo de conteúdo é dividido em fragmentos e os campos de metadados (colunas) associados a cada fragmento são tratados como valores de string.

Por exemplo, digamos que haja um CSV com uma coluna “Description” e uma coluna “Creation\$1Date”. O campo de descrição é o campo de conteúdo, e a data de criação é um campo de metadados associado. O texto da descrição é dividido em fragmentos e convertido em incorporações de vetores para cada linha no CSV. O valor da data de criação é tratado como uma representação em string da data e está associado a cada fragmento da descrição.

Se nenhum campo de inclusão/exclusão for fornecido, todas as colunas serão tratadas como colunas de metadados, exceto a coluna de conteúdo. Se apenas os campos de inclusão forem fornecidos, somente as colunas fornecidas serão tratadas como metadados. Se apenas campos de exclusão forem fornecidos, todas as colunas, exceto as de exclusão, serão tratadas como metadados. Se você fornecer o mesmo `fieldName` em `fieldsToInclude` e `fieldsToExclude`, o Amazon Bedrock lançará uma exceção de validação. Se houver um conflito entre inclusão e exclusão, isso acarretará uma falha.

As linhas em branco encontradas dentro de um CSV são ignoradas.

# Modelos e regiões compatíveis para bases de conhecimento do Amazon Bedrock
<a name="knowledge-base-supported"></a>

O Amazon Bedrock Knowledge Bases oferece suporte à consulta com os seguintes modelos básicos:


| Fornecedor | Modelo | ID do modelo | Suporte ao modelo de região única | Suporte ao perfil de inferência entre regiões | 
| --- | --- | --- | --- | --- | 
| AI21 Laboratórios | Jamba 1.5 Large | ai21.jamba-1-5-large-v1:0 |  us-east-1  |  | 
| AI21 Laboratórios | Jamba 1.5 Mini | ai21.jamba-1-5-mini-v1:0 |  us-east-1  |  | 
| Amazon | Nova Lite | amazônia. nova-lite-v1:0 |  ap-northeast-1 ap-southeast-2 eu-north-1 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Amazon | Nova Micro | amazônia. nova-micro-v1:0 |  ap-southeast-2 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Amazon | Nova Pro | amazônia. nova-pro-v1:0 |  ap-southeast-2 eu-west-2 us-east-1 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude 3 Haiku | anthropic.claude-3-haiku-20240307-v1:0 |  ap-northeast-1 ap-northeast-2 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-gov-west-1 us-west-2  |  eu-central-1 us-east-2 us-gov-east-1  | 
| Anthropic | Claude 3 Sonnet | anthropic.claude-3-sonnet-20240229-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  |  ap-northeast-1 ap-northeast-2 ap-southeast-1 eu-central-1  | 
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |  us-west-2  |  us-east-1 us-east-2  | 
| Anthropic | Claude 3.5 Sonnet | anthropic.claude-3-5-sonnet-20240620-v1:0 |  ap-northeast-1 ap-northeast-2 ap-southeast-1 eu-central-1 eu-central-2 us-east-1 us-gov-west-1 us-west-2  |  ap-south-1 ap-southeast-2 eu-central-1 eu-west-1 eu-west-3 us-east-1 us-east-2 us-gov-east-1 us-west-2  | 
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |  ap-southeast-2 us-west-2  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 us-east-1 us-east-2  | 
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v 1:0 |  eu-west-2 us-gov-west-1  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-west-1 eu-west-3 us-east-1 us-east-2 us-gov-east-1 us-west-2  | 
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 |  |  us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3 us-east-1 us-east-2 us-west-2  | 
| Anthropic | Claude Sonnet 4.5 | anthropic.claude-sonnet-4-5-20250929-v1:0 | N/D |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-east-2 us-gov-east-1 us-gov-west-1 us-west-2  | 
| Cohere | Comando R | coerente. command-r-v1:0 |  us-east-1 us-west-2  |  | 
| Cohere | Command R\$1 | coerente. command-r-plus-v1:0 |  us-east-1 us-west-2  |  | 
| DeepSeek | DeepSeek-R1 | deepseek.r1-v1:0 |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3 70B Instruct | meta.llama3-70 1:0 b-instruct-v |  ap-south-1 ca-central-1 eu-west-2 us-east-1 us-gov-west-1 us-west-2  |  | 
| Meta | Llama 3 8B Instruct | meta.llama3-8 1:0 b-instruct-v |  ap-south-1 ca-central-1 eu-west-2 us-east-1 us-gov-west-1 us-west-2  |  | 
| Meta | Llama 3.1 405B Instruct | meta.llama3-1-405 1:0 b-instruct-v |  us-west-2  |  us-east-2  | 
| Meta | Llama 3.1 70B Instruct | meta.llama3-1-70 1:0 b-instruct-v |  us-west-2  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.1 8B Instruct | meta.llama3-1-8 1:0 b-instruct-v |  us-west-2  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Instrução Llama 3.2 11B | meta.llama3-2-11 1:0 b-instruct-v |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.2 90B Instruct | meta.llama3-2-90 1:0 b-instruct-v |  |  us-east-1 us-east-2 us-west-2  | 
| Meta | Llama 3.3 70B Instruct | meta.llama3-3-70 1:0 b-instruct-v |  us-east-2  |  us-east-1 us-east-2 us-west-2  | 
| Mistral AI | Mistral Large (24.02) | mistral.mistral-large-2402-v1:0 |  ap-south-1 ap-southeast-2 ca-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  |  | 
| Mistral AI | Mistral Large (24.07) | mistral.mistral-large-2407-v1:0 |  us-west-2  |  | 
| Mistral AI | Mistral Small (24.02) | mistral.mistral-small-2402-v1:0 |  us-east-1  |  | 

Também é possível usar perfis de inferência nas Bases de Conhecimento do Amazon Bedrock para analisar dados ou gerar respostas. Com os perfis de inferência, é possível monitorar custos e métricas e também fazer inferência entre regiões para distribuir solicitações de inferência do modelo em um conjunto de regiões e aumentar o throughput. Você pode especificar um perfil de inferência em uma [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)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)or. Para obter mais informações, consulte [Configurar um recurso de invocação de modelo usando perfis de inferência](inference-profiles.md).

**Importante**  
Se você usar inferência entre regiões, os dados poderão ser compartilhados entre regiões.

Você também pode usar modelos de SageMaker IA ou [modelos personalizados](custom-models.md) que você treina com seus próprios dados.

**nota**  
Se você usa uma SageMaker IA ou um modelo personalizado, deve especificar os prompts de orquestração e geração (para obter mais informações, consulte **Modelos de prompt da base de conhecimento** em). [Configurar e personalizar consultas e geração de respostas](kb-test-config.md) Os prompts devem incluir variáveis de informações para acessar a entrada e o contexto dos usuários.

O suporte a regiões e modelos é diferente para alguns recursos nas Bases de Conhecimento do Amazon Bedrock. Selecione um tópico para ver o suporte a um recurso:

**Topics**
+ [Modelos compatíveis para incorporações de vetores](#knowledge-base-supported-embeddings)
+ [Modelos e regiões compatíveis](#knowledge-base-supported-parsing)
+ [Modelos e regiões compatíveis em que é possível reclassificar os resultados durante a consulta](#knowledge-base-supported-rerank)
+ [Regiões em que é possível usar bases de conhecimento com armazenamentos de dados estruturados](#knowledge-base-supported-structured)

## Modelos compatíveis para incorporações de vetores
<a name="knowledge-base-supported-embeddings"></a>

As Bases de Conhecimento do Amazon Bedrock usam um modelo de incorporação para converter dados em incorporações de vetores e armazená-las em um banco de dados de vetores. Para obter mais informações, consulte [Transformar dados em uma base de conhecimento](kb-how-data.md).

O Amazon Bedrock Knowledge Bases oferece suporte a incorporações vetoriais usando os seguintes modelos básicos:


| Fornecedor | Modelo | ID do modelo | Suporte ao modelo de região única | 
| --- | --- | --- | --- | 
| Amazon | Incorporador do Titan G1 - Text | amazônia. titan-embed-text-v1 |  ap-northeast-1 eu-central-1 us-east-1 us-west-2  | 
| Amazon | Incorporador de Texto do Titan v2 | amazônia. titan-embed-text-v2:0 |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-2 ca-central-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-east-2 us-gov-east-1 us-gov-west-1 us-west-2  | 
| Cohere | Incorporar inglês | coerente. embed-english-v3 |  ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  | 
| Cohere | Incorporar multilíngue | coerente. embed-multilingual-v3 |  ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 sa-east-1 us-east-1 us-west-2  | 

Os modelos de incorporação aceitam os tipos de vetor a seguir.


****  

| Nome do modelo | Tipo de vetor aceito | Número de dimensões aceito | 
| --- | --- | --- | 
| Amazon Titan Embeddings G1 - Text | Ponto flutuante | 1536 | 
| Incorporador de Texto do Amazon Titan v2 | Ponto flutuante, binário | 256, 512, 1.024 | 
| Embed da Cohere (em inglês) | Ponto flutuante, binário | 1024 | 
| Embed da Cohere (multilíngue) | Ponto flutuante, binário | 1024 | 
| Amazon Titan Multimodal Embeddings G1 | Ponto flutuante | 1024 | 
| CohereIncorporar v3 (multimodal) | Ponto flutuante, binário | 1024 | 

## Modelos e regiões compatíveis
<a name="knowledge-base-supported-parsing"></a>

Ao converter dados em incorporações de vetores, você tem opções diferentes para analisar os dados nas bases de conhecimento do Amazon Bedrock. Para obter mais informações, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).

Abaixo é descrito o suporte a opções de análise:
+ O analisador da Automação de Dados do Amazon Bedrock é oferecido no Oeste dos EUA (Oregon) e está em versão prévia e está sujeito a alterações.
+ As seguintes famílias de modelos de base podem ser usadas como analisador:
  + Modelos de visão Claude
  + Modelos de visão do Nova
  + LLama 4 modelos de visão

  A análise do modelo básico está disponível em Região da AWS s onde esses modelos estão diretamente disponíveis (não por meio de inferência entre regiões). Para obter informações sobre a disponibilidade atual de modelos por região, consulte [Modelos de base compatíveis no Amazon Bedrock](models-supported.md).

## Modelos e regiões compatíveis em que é possível reclassificar os resultados durante a consulta
<a name="knowledge-base-supported-rerank"></a>

Ao recuperar os resultados da consulta da base de conhecimento, você pode usar um modelo de reclassificação para reclassificar os resultados da consulta da base de conhecimento. Para obter mais informações, consulte [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) e [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md).

Para ver uma lista de modelos e regiões em que é possível usar a reclassificação, consulte [Regiões e modelos compatíveis com reclassificação no Amazon Bedrock](rerank-supported.md).

## Regiões em que é possível usar bases de conhecimento com armazenamentos de dados estruturados
<a name="knowledge-base-supported-structured"></a>

As bases de conhecimento com armazenamentos de dados estruturados permitem que você conecte bases de conhecimento a armazenamentos de dados estruturados e converta consultas em linguagem natural em consultas SQL. Para obter mais informações, consulte [Criar uma base de conhecimento conectando-se a um armazenamento de dados estruturados](knowledge-base-build-structured.md).

As bases de conhecimento com armazenamentos de dados estruturados estão disponíveis no seguinteRegiões da AWS:
+ Europa (Frankfurt)
+ Europa (Zurique)
+ Europa (Irlanda)
+ Europa (Londres)
+ Europa (Paris)
+ Ásia-Pacífico (Tóquio)
+ Ásia-Pacífico (Seul)
+ Ásia-Pacífico (Mumbai)
+ Ásia-Pacífico (Singapura)
+ Ásia-Pacífico (Sydney)
+ Canadá (Central)
+ América do Sul (São Paulo)
+ Leste dos EUA (Norte da Virgínia)
+ Leste dos EUA (Ohio)
+ Oeste dos EUA (Oregon)
+ AWSGovCloud (Oeste dos EUA)

# Conversar com seu documento sem uma base de conhecimento configurada
<a name="knowledge-base-chatdoc"></a>

O recurso **Conversar com seu documento** no console do Amazon Bedrock permite testar facilmente uma base de conhecimento sem a necessidade de configurar uma base de conhecimento. É possível carregar um documento ou arrastar e soltar um documento na janela de chat do console para começar a fazer perguntas. **Conversar com seu documento** usa o documento para responder a perguntas, fazer uma análise, criar um resumo, detalhar campos em uma lista numerada ou reescrever conteúdo. O recurso **Conversar com seu documento** não armazena o documento ou seus dados após o uso.

**nota**  
No momento, o recurso **Conversar com seu documento** apresenta melhor compatibilidade com os modelos Sonnet da Anthropic. Consulte os [modelos compatíveis para bases de conhecimento](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html) para obter mais informações sobre como acessar e usar modelos de base de conhecimento.  
Não é possível usar um modelo reclassificador ao conversar com seu documento.

Também é possível criar facilmente um protótipo de chat ou uma aplicação de fluxo sem a necessidade de configurar uma base de conhecimento. Usando o [Amazon Bedrock Studio](https://docs.aws.amazon.com/bedrock/latest/userguide/br-studio.html), é possível carregar um documento no computador para fornecer os dados ou a “fonte de dados” à aplicação. O Amazon Bedrock Studio, agora chamado de Amazon Bedrock IDE, está disponível no Estúdio Unificado Amazon SageMaker. Para ter mais informações, consulte [Amazon Bedrock IDE](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/bedrock.html).

Para usar o recurso **Conversar com seu documento** como parte das bases de conhecimento, selecione a guia abaixo e siga as etapas.

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

**Como conversar com seu documento no Amazon Bedrock:**

1. Abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. No painel de navegação à esquerda, selecione **Base de conhecimento** e escolha **Conversar com seu documento**.

1. Na guia **Conversar com seu documento**, escolha **Selecionar um modelo** sob **Modelo**.

1. Escolha o modelo que deseja usar para análise do documento e selecione **Aplicar**.

1. Insira um prompt do sistema na guia **Conversar com seu documento**.

1. Em **Dados**, selecione **Seu computador** ou **S3**.

1. Escolha **Selecionar documento** para fazer upload do documento. Você também pode arrastar e soltar o documento no console de chat na caixa que diz **Escrever uma consulta**.
**nota**  
Tipos de arquivo: PDF, MD, TXT, DOC, DOCX, HTML, CSV, XLS, XLSX. Há um limite de token fixo predefinido ao usar um arquivo com menos de 10 MB. Um arquivo com muito texto menor que 10 MB pode ser potencialmente maior do que o limite de tokens.

1. Insira um prompt personalizado na caixa que diz **Escrever uma consulta**. É possível inserir um prompt personalizado ou usar o prompt padrão. O documento carregado e o prompt aparecem na parte inferior da janela de chat.

1. Selecione **Executar**. A resposta produz resultados de pesquisa com uma opção **Mostrar fragmentos de origem** que mostram as informações do material de origem para a resposta.

1. Para carregar um novo arquivo, selecione o X para excluir o arquivo atual carregado na janela de chat e arraste e solte o novo arquivo. Insira um novo prompt e selecione **Executar**.
**nota**  
A seleção de um novo arquivo apagará as consultas e respostas anteriores e iniciará uma nova sessão.

------

# Configurar permissões para um usuário ou perfil para criar e gerenciar bases de conhecimento
<a name="knowledge-base-prereq-permissions-general"></a>

Para que um usuário ou perfil realize ações relacionadas às Bases de Conhecimento do Amazon Bedrock, você deve anexar políticas que concedam permissões para realizá-las. Esta seção descreve as permissões que possibilitam que o usuário recupere informações dessas bases de conhecimento e gere respostas com base nelas.

Expanda as seguintes seções para saber como configurar permissões para casos de uso específicos:

## Permitir que um perfil crie bases de conhecimento e as gerencie
<a name="w2aac28c10c21b7b1"></a>

Para permitir que um perfil do IAM crie uma base de conhecimento, conecte-a a um armazenamento de dados estruturados, gerencie a base de conhecimento e inicie e gerencie trabalhos de ingestão da fonte de dados na base de conhecimento, você deve fornecer permissões para as ações `KnowledgeBase`, `DataSource` e `IngestionJob`. Para fornecer permissões para atribuir tags a bases de conhecimento, inclua permissões para `bedrock:TagResource` e `bedrock:UntagResource`. 

**nota**  
Se o usuário ou a função tiver a política [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) AWS gerenciada anexada, você poderá ignorar esse pré-requisito.

Para permitir que um perfil execute essas ações, anexe a seguinte política ao perfil:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateKnowledgeBase"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KBDataSourceManagement",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase",
                "bedrock:ListKnowledgeBases",
                "bedrock:UpdateKnowledgeBase",
                "bedrock:DeleteKnowledgeBase",
                "bedrock:StartIngestionJob",
                "bedrock:GetIngestionJob",
                "bedrock:ListIngestionJobs",
                "bedrock:StopIngestionJob",
                "bedrock:TagResource",
                "bedrock:UntagResource"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
            ]
        }
    ]
}
```

------

Depois de criar uma base de conhecimento, recomendamos que você defina o escopo das permissões no `KBDataSourceManagement` extrato substituindo o caractere curinga (*\$1*) pelo ID da base de conhecimento que você criou.

## Permitir que um perfil realize as operações de API da base de conhecimento
<a name="w2aac28c10c21b7b3"></a>

Esta seção descreve as permissões necessárias para realizar as operações de API `Retrieve` e `RetrieveAndGenerate` para as bases de conhecimento.

Anexe a seguinte política ao perfil:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        },
        {
            "Sid": "Retrieve",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        },
        {
            "Sid": "RetrieveAndGenerate",
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Você pode remover instruções das quais não precisa, dependendo do caso de uso:
+ A instrução `GetKB` é usada para obter informações da base de conhecimento.
+ A instrução `Retrieve` deve chamar [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) para recuperar dados do armazenamento de dados estruturados.
+ A instrução `RetrieveAndGenerate` deve chamar [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) para recuperar dados do armazenamento de dados estruturados e gerar respostas baseadas nos dados.

## Solicite acesso aos modelos de fundação para RetrieveAndGenerate
<a name="knowledge-base-prereq-structured-model-access"></a>

Se você planeja usar [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) para gerar respostas com base nos dados recuperados da fonte de dados, solicite acesso aos modelos de base a serem usados na geração seguindo as etapas em [Acessar modelos de base do Amazon Bedrock](model-access.md).

Para restringir ainda mais as permissões, você pode omitir ações ou especificar chaves de recurso e de condição que devem ser usadas para filtrar permissões. Para ter mais informações sobre ações, recursos e chaves de condição, consulte os tópicos a seguir na *Referência de autorização do serviço*.
+ [Ações definidas pelo Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions): saiba mais sobre as ações, os tipos de recurso para os quais é possível definir um escopo de ação no campo `Resource` e as chaves de condição nas quais você pode filtrar as permissões no campo `Condition`.
+ [Tipos de recursos definidos pelo Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies): saiba mais sobre os tipos de recurso no Amazon Bedrock.
+ [Chaves de condição para o Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys): saiba mais sobre as chaves de condição no Amazon Bedrock.

# Criar uma base de conhecimento conectando-se a uma fonte de dados
<a name="knowledge-base-build"></a>

As Bases de Conhecimento do Amazon Bedrock aceitam uma variedade de tipos de arquivo armazenados em fontes de dados. Para interpretar os dados de uma fonte de dados, as Bases de Conhecimento do Amazon Bedrock exigem a conversão dos dados em incorporações de vetores, uma representação numérica dos dados. Essas incorporações podem ser comparadas às representações vetoriais de uma consulta para avaliar a similaridade e determinar quais fontes exibir durante a recuperação dos dados.

O processo de conexão da base de conhecimento a uma fonte de dados envolve as seguintes etapas gerais:

1. Conecte a base de conhecimento a uma fonte de dados compatível.

1. Se sua fonte de dados contiver dados multimodais, incluindo arquivos de imagens, áudio e vídeo, você deverá escolher uma abordagem de processamento e um modelo de incorporação apropriados que suporte conteúdo multimodal.
**nota**  
Só é possível utilizar dados multimodais com o Amazon S3 e fontes de dados personalizadas. Para obter uma orientação abrangente sobre como trabalhar com conteúdo multimodal, consulte. [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md)

1. Escolha um modelo de incorporação para converter os dados na fonte de dados em incorporações.

1. Escolha um armazenamento de vetores para armazenar uma representação vetorial de seus dados.

1. Sincronize os dados para que sejam convertidos em incorporações de vetores.

1. Se você modificar os dados na fonte de dados, deverá ressincronizar as alterações.

**Topics**
+ [Pré-requisitos para criar uma base de conhecimento do Amazon Bedrock com uma fonte de dados não estruturada](knowledge-base-prereq.md)
+ [Pré-requisitos e permissões necessários para usar clusters OpenSearch gerenciados com as bases de conhecimento Amazon Bedrock](kb-osm-permissions-prereq.md)
+ [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md)
+ [Sincronizar os dados com a base de conhecimento do Amazon Bedrock](kb-data-source-sync-ingest.md)
+ [Ingerir alterações diretamente em uma base de conhecimento](kb-direct-ingestion.md)
+ [Visualizar as informações da fonte de dados da base de conhecimento do Amazon Bedrock](kb-ds-info.md)
+ [Modificar uma fonte de dados da base de conhecimento do Amazon Bedrock](kb-ds-update.md)
+ [Excluir uma fonte de dados da base de conhecimento do Amazon Bedrock](kb-ds-delete.md)

# Pré-requisitos para criar uma base de conhecimento do Amazon Bedrock com uma fonte de dados não estruturada
<a name="knowledge-base-prereq"></a>

As bases de conhecimento do Amazon Bedrock exigem dados e modelos para recuperar e gerar respostas, um armazenamento vetorial para armazenar a representação vetorial dos dados e AWS Identity and Access Management permissões para acessar seus dados e realizar ações.

Para criar uma base de conhecimento, é necessário atender aos pré-requisitos a seguir. Para conhecer os requisitos gerais de permissão, consulte [Configurar permissões para um usuário ou perfil para criar e gerenciar bases de conhecimento](knowledge-base-prereq-permissions-general.md).

1. Seus dados devem estar em um [conector de fonte de dados compatível](data-source-connectors.md).

1. (Opcional) [Configurar o seu próprio armazenamento de vetores compatível](knowledge-base-setup.md). Você pode pular essa etapa se planeja usar o Console de gerenciamento da AWS para criar automaticamente um armazenamento de vetores para você.

1. (Opcional) Crie uma [função de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) personalizada AWS Identity and Access Management (IAM) com as permissões adequadas seguindo as instruções em[Criar um perfil de serviço para o Amazon Bedrock Knowledge Bases](kb-permissions.md). É possível usar o Console de gerenciamento da AWS para criar um perfil de serviço para você.
**nota**  
Se você estiver criando uma base de conhecimento com o Amazon OpenSearch Service (incluindo o Amazon OpenSearch Serverless), a função do serviço exige permissões adicionais além das cobertas pela política gerenciada pela AWS BedrockFullAccess . Isso inclui as permissões `aoss:CreateAccessPolicy`, `iam:CreateServiceLinkedRole` e `iam:CreateRole`.

1. (Opcional) Defina configurações adicionais de segurança seguindo as etapas em [Criptografia de recursos da base de conhecimento](encryption-kb.md).

1. (Opcional) Se planejar usar a operação de 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) para gerar respostas com base nas informações recuperadas da base de conhecimento, solicite acesso aos modelos a serem usados nas regiões em que os usará seguindo as etapas em [Acessar modelos de base do Amazon Bedrock](model-access.md).

**Topics**
+ [Pré-requisitos dos dados da base de conhecimento do Amazon Bedrock](knowledge-base-ds.md)
+ [Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento](knowledge-base-setup.md)

# Pré-requisitos dos dados da base de conhecimento do Amazon Bedrock
<a name="knowledge-base-ds"></a>

Uma fontes de dados contém arquivos ou conteúdo com informações que podem ser recuperadas quando a base de conhecimento é consultada. Armazene os documentos ou o conteúdo em pelo menos uma das [fontes de dados compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html).

## Formatos de documentos e limites compatíveis com os dados da base de conhecimento
<a name="kb-ds-supported-doc-formats-limits"></a>

Ao conectar-se a uma [fonte de dados compatível](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html), o conteúdo é ingerido na base de conhecimento.

Se você usar o Amazon S3 para armazenar os arquivos ou se a fonte de dados incluir arquivos anexados, primeiro verifique se cada arquivo de documento original adere ao seguinte:
+ Os arquivos de origem têm os seguintes formatos compatíveis:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-ds.html)
+ Cada tamanho de arquivo não excede a cota de 50 MB.

Se você usa uma fonte de dados do Amazon S3 ou uma fonte de dados personalizada, pode usar dados multimodais, como imagens JPEG (.jpeg) ou PNG (.png) ou arquivos que contenham tabelas, gráficos, diagramas ou outras imagens.

**nota**  
O tamanho máximo de arquivos .JPEG e .PNG é 3,75 MB.

# Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento
<a name="knowledge-base-setup"></a>

Para armazenar as incorporações de vetores nas quais seus documentos são convertidos, use um armazenamento de vetores. As Bases de Conhecimento do Amazon Bedrock oferece um fluxo de criação rápida para alguns dos armazenamentos de vetores. Portanto, se preferir que o Amazon Bedrock crie automaticamente um índice de vetores para você em um desses armazenamento de vetores, ignore esse pré-requisito e prossiga para [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md).

Se você quiser armazenar incorporações de vetores binários em vez de incorporações de vetores de ponto flutuante padrão (float32), use um armazenamento de vetores que permita vetores binários.

**nota**  
Os clusters Amazon OpenSearch Serverless e Amazon OpenSearch Managed são os únicos armazenamentos vetoriais que oferecem suporte ao armazenamento de vetores binários.

É possível configurar seu próprio armazenamento de vetores compatível para indexar a representação de incorporações de vetores de seus dados. Crie campos para os seguintes dados:
+ Um campo para os vetores gerados do texto em sua fonte de dados pelo modelo de incorporação de sua escolha.
+ Um campo para os fragmentos de texto extraídos dos arquivos na fonte de dados.
+ Campos para metadados de arquivos de origem que o Amazon Bedrock gerencia.
+ (Se você usar um banco de dados do Amazon Aurora e desejar configurar a [filtragem de metadados](kb-test-config.md)) Campos para metadados que você associa aos arquivos de origem. Se você planejar configurar a filtragem em outros armazenamentos de vetores, não precisará configurar esses campos para filtragem.

É possível criptografar armazenamentos de vetores de terceiros com uma chave do KMS. Para obter mais informações, consulte [Criptografar recursos da base de conhecimento](https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-kb.html).

Selecione a guia correspondente ao serviço de armazenamento de vetores que você usará para criar o índice de vetores.

**nota**  
Sua escolha do modelo de incorporação e das dimensões vetoriais pode afetar as opções de armazenamento de vetores disponíveis. Se você não conseguir usar o armazenamento de vetores de sua preferência, escolha opções compatíveis de modelo de incorporação e dimensões vetoriais.

------
#### [ Amazon OpenSearch Serverless ]

1. Para configurar permissões e criar uma coleção de pesquisa vetorial no Amazon OpenSearch Serverless no Console de gerenciamento da AWS, siga as etapas 1 e 2 em [Trabalhando com coleções de pesquisa vetorial](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html) no Amazon OpenSearch Service Developer Guide. Observe as seguintes considerações ao configurar a coleção:

   1. Forneça um nome e uma descrição de sua escolha à coleção.

   1. Para tornar a coleção privada, selecione **Criação padrão** na seção **Segurança**. Na seção **Configurações de acesso à rede**, selecione **VPC** como o **Tipo de acesso** e escolha um endpoint da VPC. Para obter mais informações sobre como configurar um VPC endpoint para uma coleção Amazon OpenSearch Serverless, consulte Acesse o Amazon [ OpenSearch Serverless usando um endpoint de interface ()AWS PrivateLink no Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) Service Developer Guide. OpenSearch 

1. Depois que a coleção for criada, anote o **ARN da coleção** para uso ao criar a base de conhecimento.

1. No painel de navegação à esquerda, **Coleções** em **Sem servidor**. Selecione a sua coleção de pesquisa vetorial.

1. Selecione a guia **Índices**. Escolha **Criar índice vetorial**.

1. Na seção **Detalhes do índice vetorial**, insira um nome para o índice no campo **Nome do índice vetorial**.

1. Na seção **Campos vetoriais**, escolha **Adicionar campo vetorial**. O Amazon Bedrock armazena as incorporações de vetores da fonte de dados nesse campo. Forneça as seguintes configurações:
   + **Nome do campo de vetor**: forneça um nome para o campo (por exemplo, **embeddings**).
   + **Mecanismo**: o mecanismo de vetores usado para pesquisa. Selecione **faiss**.
   + **Dimensões**: o número de dimensões no vetor. Consulte a seguinte tabela para determinar quantas dimensões o vetor deve conter:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)
   + **Métrica de distância**: a métrica usada para medir a semelhança entre vetores. Recomendamos usar **Euclidiano** para incorporações de vetores de ponto flutuante.

1. Expanda a seção **Gerenciamento de metadados** e adicione dois campos para configurar o índice de vetores para armazenar metadados adicionais que a base de conhecimento pode recuperar com vetores. A seguinte tabela descreve os campos e os valores a serem especificados para cada campo:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)

1. Anote os nomes que escolher para o nome do índice de vetores, o nome do campo vetorial e os nomes de campo de mapeamento do gerenciamento de metadados para criar a base de conhecimento. Escolha **Criar**.

Depois que o índice de vetores for criado, você poderá prosseguir com a [criação da base de conhecimento](knowledge-base-create.md). A tabela a seguir resume onde você inserirá cada informação que anotou.


| Campo | Campo correspondente na configuração da base de conhecimento (Console) | Campo correspondente na configuração da base de conhecimento (API) | Description | 
| --- | --- | --- | --- | 
| ARN de coleção | ARN de coleção | collectionARN | O nome do recurso da Amazon (ARN) da coleção de pesquisa vetorial. | 
| Nome do índice de vetores | Nome do índice de vetores | vectorIndexName | O nome do índice de vetores. | 
| Nome do campo de vetor | Campo vetorial | vectorField | O nome do campo no qual armazenar incorporações de vetores das fontes de dados. | 
| Gerenciamento de metadados (primeiro campo de mapeamento) | Campo de texto | textField | O nome do campo no qual armazenar o texto bruto das fontes de dados. | 
| Gerenciamento de metadados (segundo campo de mapeamento) | Campo de metadados gerenciados pelo Bedrock | metadataField | O nome do campo no qual armazenar os metadados que o Amazon Bedrock gerencia.  | 

Para obter uma documentação mais detalhada sobre a configuração de um armazenamento vetorial no Amazon OpenSearch Serverless, consulte Como [trabalhar com coleções de pesquisa vetorial](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vector-search.html) no Amazon OpenSearch Service Developer Guide.

------
#### [ Amazon OpenSearch Service Managed Clusters ]

**Importante**  
Antes de usar qualquer recurso de domínio em clusters OpenSearch gerenciados, você precisa configurar determinadas permissões e políticas de acesso do IAM. Para obter mais informações, consulte [Pré-requisitos e permissões necessários para usar clusters OpenSearch gerenciados com as bases de conhecimento Amazon BedrockVisão geral da configuração de permissões](kb-osm-permissions-prereq.md).
Se você encontrar falhas na ingestão de dados, isso pode indicar capacidade insuficiente OpenSearch do domínio. Para resolver esse problema, aumente a capacidade do domínio provisionando IOPS mais altas e aumentando as configurações de throughput. Para obter mais informações, consulte [Melhores práticas operacionais para o Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/bp.html).

1. Para criar um domínio e um índice vetorial no OpenSearch Cluster in the Console de gerenciamento da AWS, siga as etapas descritas em [Criação e gerenciamento de domínios de OpenSearch serviço](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) no *Amazon OpenSearch Service Developer Guide*.

   Observe as seguintes considerações ao configurar seu domínio:

   1. Atribua um nome ao domínio de sua preferência.

   1. Recomendamos que você use a opção de **Criação fácil** para começar rapidamente a criar seu domínio.
**nota**  
Essa opção oferece um domínio com baixo throughput. Se você tiver workloads maiores que exijam um throughput mais alto, escolha a opção **Criação padrão**. É possível ajustar a capacidade posteriormente, conforme necessário. Com essa opção, você pode começar com a capacidade mais baixa, que pode ser modificada posteriormente, conforme a necessidade.

   1. Para Rede, você deve escolher **Acesso público**. OpenSearch domínios que estão por trás de uma VPC não são compatíveis com sua Base de Conhecimento.

   1. Em **Versão**, se você estiver usando incorporações de vetores binários, as Bases de Conhecimento do Amazon Bedrock exigirão uma versão de mecanismo 2.16 ou posterior. Além disso, é necessária uma versão 2.13 ou posterior para criar um índice k-NN. Para obter mais informações, consulte [K-NN Search](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/knn.html) no guia do *desenvolvedor do Amazon OpenSearch Service*.

   1. Recomendamos que você use o **modo de pilha dupla**.

   1. Recomendamos que você ative o **controle de acesso refinado** para proteger os dados em seu domínio e controlar ainda mais as permissões que concedem à sua função de serviço da Base de Conhecimento acesso ao OpenSearch domínio e fazer solicitações.

   1. Deixe todas as outras configurações no modo padrão e escolha **Criar** para criar seu domínio.

1. Depois que o domínio for criado, clique nele para anotar o **ARN do domínio** e o **endpoint do domínio** para quando você criar a base de conhecimento.

1. Depois de criar o domínio, você pode criar um índice vetorial executando os seguintes comandos em um OpenSearch painel ou usando comandos curl. Para obter mais informações, consulte a [documentação do OpenSearch ](https://opensearch.org/docs/latest/search-plugins/knn/knn-index/).

   Ao executar o comando:
   + Forneça um nome do campo de vetor (por exemplo, **embeddings**).
   + O vetor usado para a pesquisa deve ser **faiss**. O **nmslib** não é compatível.
   + Com relação ao número de dimensões no vetor, consulte a seguinte tabela para determinar quantas dimensões o vetor deve conter:
**nota**  
O modelo Incorporador de Texto do Titan v2 permite várias dimensões. Também pode ser 256 ou 512.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)
   + É possível adicionar dois campos para configurar o índice de vetores para armazenar metadados adicionais que a base de conhecimento pode recuperar com vetores. A seguinte tabela descreve os campos e os valores a serem especificados para cada um deles:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)

   ```
   PUT /<index-name>
   {
       "settings": {
           "index": {
               "knn": true
           }
       },
       "mappings": {
           "properties": {
               "<vector-name>": {
                   "type": "knn_vector",
                   "dimension": <embedding-dimension>,
                   "data_type": "binary",          # Only needed for binary embeddings
                   "space_type": "l2" | "hamming", # Use l2 for float embeddings and hamming for binary embeddings
                   "method": {
                       "name": "hnsw",
                       "engine": "faiss",
                       "parameters": {
                           "ef_construction": 128,
                           "m": 24
                       }
                   }
               },
   
               "AMAZON_BEDROCK_METADATA": {
                   "type": "text",
                   "index": "false"
               },
               "AMAZON_BEDROCK_TEXT_CHUNK": {
                   "type": "text",
                   "index": "true"            
               }
           }
       }
   }
   ```

1. Anote os o endpoint e o ARN do domínio, bem como os nomes que você escolher para o nome do índice de vetores, o nome do campo vetorial e os nomes de campo de mapeamento do gerenciamento de metadados para criar a base de conhecimento.

Depois que o índice de vetores for criado, você poderá prosseguir com a [criação da base de conhecimento](knowledge-base-create.md). A tabela a seguir resume onde você inserirá cada informação que anotou.


| Campo | Campo correspondente na configuração da base de conhecimento (Console) | Campo correspondente na configuração da base de conhecimento (API) | Description | 
| --- | --- | --- | --- | 
| ARN do domínio | ARN do domínio | domainARN | O Amazon Resource Name (ARN) do OpenSearch domínio. | 
| Endpoint de domínio | Endpoint de domínio | domainEndpoint | O endpoint para se conectar ao OpenSearch domínio. | 
| Nome do índice de vetores | Nome do índice de vetores | vectorIndexName | O nome do índice de vetores. | 
| Nome do campo de vetor | Campo vetorial | vectorField | O nome do campo no qual armazenar incorporações de vetores das fontes de dados. | 
| Gerenciamento de metadados (primeiro campo de mapeamento) | Campo de texto | textField | O nome do campo no qual armazenar o texto bruto das fontes de dados. | 
| Gerenciamento de metadados (segundo campo de mapeamento) | Campo de metadados gerenciados pelo Bedrock | metadataField | O nome do campo no qual armazenar os metadados que o Amazon Bedrock gerencia.  | 

------
#### [ Amazon S3 Vectors ]

O Amazon S3 Vectors oferece armazenamento de vetores econômico no Amazon S3 que pode ser usado para armazenar e consultar dados de vetores. Ele oferece armazenamento durável e elástico de grandes conjuntos de dados de vetores com desempenho de consulta de menos de um segundo. O Amazon S3 Vectors é mais adequado para workloads de consulta pouco frequentes e pode ajudar a reduzir os custos quando usado em aplicações de geração aumentada via recuperação (RAG) e pesquisa semântica.

O Amazon S3 Vectors introduz buckets vetoriais do S3, que contêm índices vetoriais que você pode consultar com base no significado semântico e na similaridade. Ele pode ser usado para fornecer tempos de resposta a consultas de menos de um segundo e reduzir os custos ao armazenar, acessar e consultar dados vetoriais em grande escala sem provisionar nenhuma infraestrutura. Dentro de um bucket de vetores, você pode organizar os dados vetoriais dentro de índices de vetores. Seu repositório de vetores pode ter vários índices vetoriais. Para ter mais informações, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) no *Guia do usuário do Amazon S3*.

**nota**  
Você pode criar uma base de conhecimento para os vetores do Amazon S3 em todos os Região da AWS países em que os vetores Amazon Bedrock e Amazon S3 estão disponíveis. Para ter informações sobre a disponibilidade regional do Amazon S3 Vectors, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) no *Guia do usuário do Amazon S3*.
Ao usar contagens de tokens muito altas com fragmentação hierárquica nas bases de conhecimento do Amazon Bedrock, você pode exceder os limites máximos de tamanho de metadados, pois as relações entre partes pai-filho e o contexto hierárquico são armazenados como metadados não filtráveis nos vetores do Amazon S3. Para obter mais informações sobre limites de tamanho de metadados por vetor, consulte [Limitações e restrições](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html) no Guia do usuário do *Amazon S3*. Para ter informações sobre estratégias de fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).
<a name="metadata-support"></a>
**Suporte a metadados**  
Você pode anexar metadados como pares de valores-chave a cada vetor. Por padrão, os metadados são filtráveis e podem ser usados em consultas de pesquisa por similaridade para filtrar por condições como datas, categorias ou preferências do usuário.

Você também pode configurar os metadados para não serem filtráveis ao criar o índice vetorial. Os índices de vetores do Amazon S3 permitem os tipos string, booliano e número.

Ao usar os vetores do Amazon S3 com as bases de conhecimento do Amazon Bedrock, você pode anexar até 1 KB de metadados personalizados (incluindo metadados filtráveis e não filtráveis) e 35 chaves de metadados por vetor. Para obter mais informações sobre limites de tamanho de metadados por vetor, consulte [Limitações e restrições](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-limitations.html) no Guia do usuário do *Amazon S3*.

Se os metadados excederem esses limites, o trabalho de ingestão lançará uma exceção ao preencher o índice vetorial. Para ter mais informações, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) no *Guia do usuário do Amazon S3*.

**Permissões obrigatórias**  
Sua política do IAM deve permitir que o Amazon Bedrock acesse o índice de vetores no bucket de vetores do S3. Para mais informações sobre as permissões necessárias, consulte [Criar um perfil de serviço para o Amazon Bedrock Knowledge Bases](kb-permissions.md).

**Criar um bucket e um índice de vetores do S3**  
Para usar o Amazon S3 Vectors com sua base de conhecimento, você precisa criar um bucket e um índice de vetores do S3. Você pode criar um bucket vetorial e um índice usando o console ou AWS SDK do Amazon S3. AWS CLI Para obter instruções, consulte [Inserir vetores em um índice de vetores](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-index-create.html) no *Guia do usuário do Amazon S3*.

Observe as considerações a seguir ao criar seu bucket e índice de vetores no [console do Amazon S3](https://console.aws.amazon.com/s3/vector-buckets#).

1. Ao criar seu bucket de vetores do S3, observe as considerações a seguir.
   + Forneça **nome de bucket de vetores** exclusivo.
   + (Opcional) O Amazon S3 criptografará automaticamente os dados usando a **criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3)** padrão. Você pode escolher se deseja usar essa criptografia padrão ou a criptografia do **lado do servidor com AWS chaves do Serviço de Gerenciamento de Chaves (SSE-KMS**) em vez disso.
**nota**  
Não é possível alterar o tipo de criptografia depois que o bucket de vetores é criado.

     Para step-by-step obter instruções, consulte [Criptografia com chaves AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html).

1. Depois de criar o bucket de vetores do S3, anote o respectivo **nome do recurso da Amazon (ARN**) para usá-lo ao criar a base de conhecimento.

1. Escolha o bucket de vetores que você criou e, em seguida, crie um índice de vetores. Ao criar o índice de vetores, observe as considerações a seguir.
   + **Nome do índice de vetores**: forneça um nome para o campo (por exemplo, **embeddings**).
   + **Dimensões**: o número de dimensões no vetor. As dimensões devem ter um valor entre 1 e 4.096. Consulte a seguinte tabela para determinar quantas dimensões o vetor deve conter com base na sua seleção de modelo de incorporação:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)
   + 
**nota**  
O Amazon S3 Vectors permite apenas incorporações de ponto flutuante. Não há compatibilidade com incorporações binárias.

     **Métrica de distância**: a métrica usada para medir a semelhança entre vetores. Você pode usar **Cosseno** ou **Euclidiano**.

1. Expanda **Configurações adicionais** e forneça quaisquer metadados não filtráveis no campo **Metadados não filtráveis**.

   É possível configurar até dez chaves de metadados não filtráveis. Escolha **Adicionar chave** e, em seguida, adicione `AMAZON_BEDROCK_TEXT` e `AMAZON_BEDROCK_METADATA` como chaves.

1. Em **Criptografia**, escolha **Especificar tipo de criptografia**. Você tem a opção de **usar configurações de bucket para criptografia** ou substituir as configurações de criptografia para o índice de vetores. **Se você substituir as configurações no nível do bucket, terá a opção de especificar o tipo de criptografia para o índice vetorial como criptografia do lado do **servidor com chaves do AWS Key Management Service (SSE-KMS) ou a criptografia padrão do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3**).** Para obter mais informações sobre como definir a configuração de criptografia para índices vetoriais, consulte [Proteção e criptografia de dados em vetores do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-data-encryption.html).

1. Em **Tags (opcional)**, você pode adicionar tags como pares de valores-chave para ajudar a rastrear e organizar os custos do índice vetorial usando o AWS Billing and Cost Management. Insira uma **Key (Chave)** e um **Value (Valor)**. Para adicionar outra tag, escolha **Add Tag (Adicionar tag)**. É possível inserir até cinquenta tags a um índice de vetores. Para obter mais informações, consulte [Uso de tags com índices vetoriais do Amazon S3](https://docs.aws.amazon.com/console/s3/vector-index-create-with-tag).

1. Crie o índice de vetores e anote o respectivo **nome do recurso da Amazon (ARN)** para usá-lo ao criar a base de conhecimento.

**Criar base de conhecimento para o bucket de vetores do S3**  
Depois de reunir essas informações, você poderá começar a [criar a da base de conhecimento](knowledge-base-create.md). Ao criar a base de conhecimento com o bucket de vetores do S3, você precisará fornecer o respectivo ARN e o índice de vetores. O índice de vetores armazenará as incorporações geradas das fontes de dados. A seguinte tabela resume onde você inserirá cada informação:


| Campo | Campo correspondente na configuração da base de conhecimento (Console) | Campo correspondente na configuração da base de conhecimento (API) | Description | 
| --- | --- | --- | --- | 
| ARN do bucket de vetores | ARN do bucket de vetores do S3 | vectorBucketArn | O nome do recurso da Amazon (ARN) do bucket de vetores do S3. | 
| ARN do índice de vetores | ARN do índice de vetores do S3 | vectorIndexARN | O nome do recurso da Amazon (ARN) do índice de vetores do bucket de vetores do S3. | 

------
#### [ Amazon Aurora (RDS) ]

1. Crie um cluster, um esquema e uma tabela de banco de dados (DB) do Amazon Aurora seguindo as etapas em [Usar o Aurora PostgreSQL como a base de conhecimento](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.VectorDB.html). Ao criar a tabela, configure-a com as colunas e os tipos de dados a seguir. É possível usar nomes de colunas de sua preferência em vez dos listados na tabela acima. Anote os nomes das colunas escolhidos para poder fornecê-los durante a configuração da base de conhecimento.

   Você deve fornecer esses campos antes de criar a base de conhecimento. Eles não podem ser atualizados depois que a base de conhecimento for criada.
**Importante**  
O cluster Aurora deve residir no mesmo local em Conta da AWS que a base de conhecimento foi criada para o Amazon Bedrock.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)

1. Você deve criar um índice nas colunas vetor e texto para os campos de texto e incorporações. Se você estiver usando o campo de metadados personalizados, também deverá criar um índice invertido generalizado (GIN) nessa coluna. Os GINs podem ser usados para pesquisar com eficiência pares de chave-valor em documentos jsonb para filtragem de metadados. Para ter mais informações, consulte [jsonb indexing](https://www.postgresql.org/docs/current/datatype-json.html#JSON-INDEXING) na *documentação do PostgreSQL*.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)
**nota**  
Para melhorar a precisão e a latência da pesquisa híbrida com conteúdo em inglês, considere usar o dicionário “inglês” em vez de “simples”:  

   ```
   CREATE INDEX ON bedrock_integration.bedrock_kb USING gin (to_tsvector('english', chunks));
   ```

1. (Opcional) Se você [adicionou metadados aos arquivos para filtragem](kb-test-config.md), recomendamos fornecer o nome da coluna no campo 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á preenchida com todas as informações nos arquivos de metadados de suas fontes de dados. Se você optar por fornecer esse campo, deverá criar um GIN nessa coluna.
**nota**  
Se, em vez de metadados numéricos, você costuma usar filtros de intervalo para otimizar o desempenho, crie um índice para a chave específica. Por exemplo, se você usar filtros como `"lessThan": { "key": "year", "value": 1989 }`, crie um índice de expressão na chave `year`. Para ter mais informações, consulte [Indexes on expressions](https://www.postgresql.org/docs/current/indexes-expressional.html) na *documentação do PostgreSQL*.  

   ```
   CREATE INDEX ON your_table ((custom_metadata->>'year')::double precision
   ```

   Como alternativa, se você não fornecer esse nome de campo, crie uma coluna para cada atributo de metadados em seus 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 de dados](kb-data-source-sync-ingest.md), essas colunas separadas serão preenchidas com os valores dos atributos correspondentes.

1. Configure um AWS Secrets Manager segredo para seu cluster de banco de dados Aurora seguindo as etapas em [Gerenciamento de senhas com Amazon Aurora e. AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)

1. Anote as informações a seguir depois de criar o cluster de banco de dados e configurar o segredo.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)

------
#### [ Neptune Analytics graphs (GraphRAG) ]

1. Para criar um armazenamento de grafos e vetores no Neptune Analytics no Console de gerenciamento da AWS, siga as etapas descritas em [Indexação de vetores no Neptune Analytics](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/vector-index.html) no Guia do usuário do Neptune Analytics.
**nota**  
Para usar o GraphRAG do Neptune, crie um grafo vazio do Neptune Analytics com um índice de pesquisa vetorial. O índice de pesquisa vetorial só pode ser criado quando o grafo for criado. Ao criar um [grafo do Neptune Analytics no console](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/create-graph-using-console.html), especifique a dimensão do índice em **Configurações de pesquisa vetorial** próximo ao final do processo.

   Observe as seguintes considerações ao criar o grafo:

   1. Atribua um grafo a um nome de sua preferência.

   1. Em **Fonte de dados**, escolha **Criar gráfico vazio** e especifique o número de m- NCUs a ser alocado. Cada m-NCU tem cerca de 1 GiB de capacidade de memória e de computação e rede correspondentes.
**nota**  
A capacidade do grafo pode ser modificada posteriormente. Recomendamos que você comece com a instância menor e depois escolha uma instância diferente, se necessário.

   1. Você pode manter as configurações padrão de conectividade de rede. O Amazon Bedrock criará uma conexão de rede com o grafo do Neptune Analytics ao qual você associa a base de conhecimento. Você não precisa configurar conectividade pública ou endpoints privados para o grafo.

   1. Em **Configurações de pesquisa vetorial**, escolha **Usar dimensão vetorial** e especifique o número de dimensões em cada vetor.
**nota**  
O número de dimensões em cada vetor deve corresponder às dimensões vetoriais no modelo de incorporação. Consulte a seguinte tabela para determinar quantas dimensões o vetor deve conter:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)

   1. Mantenha todas as outras configurações padrão e crie o grafo.

1. Depois que o grafo for criado, clique nele para anotar o **ARN do recurso** e **as dimensões vetoriais** para usá-los ao criar a base de conhecimento. Ao escolher o modelo de incorporação no Amazon Bedrock, escolha um modelo com as mesmas dimensões das **dimensões vetoriais** que você configurou no grafo do Neptune Analytics.

Depois que o índice de vetores for criado, você poderá prosseguir com a [criação da base de conhecimento](knowledge-base-create.md). A tabela a seguir resume onde você inserirá cada informação que anotou.


| Campo | Campo correspondente na configuração da base de conhecimento (Console) | Campo correspondente na configuração da base de conhecimento (API) | Description | 
| --- | --- | --- | --- | 
| ARN do grafo | ARN do grafo do Neptune Analytics | graphARN | O nome do recurso da Amazon (ARN) do grafo do Neptune Analytics. | 
| Gerenciamento de metadados (primeiro campo de mapeamento) | Nome do campo de texto | textField | O nome do campo no qual armazenar o texto bruto das fontes de dados. Você pode fornecer qualquer valor para esse campo; por exemplo, texto. | 
| Gerenciamento de metadados (segundo campo de mapeamento) | Campo de metadados gerenciados pelo Bedrock | metadataField | O nome do campo no qual armazenar os metadados que o Amazon Bedrock gerencia. Você pode fornecer qualquer valor para esse campo; por exemplo, metadados. | 

------
#### [ Pinha ]

**nota**  
Se você usarPinecone, você concorda em autorizar o acesso AWS à fonte terceirizada designada em seu nome, a fim de fornecer serviços de armazenamento de vetores para você. Você é responsável pela conformidade com todos os termos de terceiros aplicáveis ao uso e à transferência de dados do serviço de terceiros.

Para obter a documentação detalhada sobre como configurar um armazenamento de vetores no Pinecone, consulte [Pinecone como base de conhecimento do Amazon Bedrock](https://docs.pinecone.io/docs/amazon-bedrock).

Ao configurar o armazenamento de vetores, anote as seguintes informações, que você preencherá ao criar uma base de conhecimento:
+ **URL do endpoint**: o URL do endpoint da sua página de gerenciamento de índices.
+ **ARN secreto de credenciais** — O nome de recurso da Amazon (ARN) do segredo que você criou AWS Secrets Manager e que contém o nome de usuário e a senha de um usuário do banco de dados.
+ **(Opcional) Chave do KMS gerenciada pelo cliente para o ARN do segredo das credenciais**: se você tiver criptografado o ARN do segredo de suas credenciais, forneça a chave do KMS para que o Amazon Bedrock possa descriptografá-la. 
+ **Name Space**: (opcional) o namespace a ser usado para gravar novos dados no banco de dados. Para obter mais informações, consulte [Usar namespaces](https://docs.pinecone.io/docs/namespaces).

Há configurações adicionais que você deve fornecer ao criar um índice do Pinecone:
+ **Nome do campo de texto**: o nome do campo no qual o Amazon Bedrock deve armazenar o texto de fragmento bruto.
+ **Nome do campo de metadados**: o nome do campo no qual o Amazon Bedrock deve armazenar os metadados de atribuição de origem.

Para acessar o índice do Pinecone, forneça a chave da API do Pinecone ao Amazon Bedrock por meio do AWS Secrets Manager.

**Como configurar um segredo para a sua configuração do Pinecone**

1. Siga as etapas em [Criar um AWS Secrets Manager segredo](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html), definindo a chave como `apiKey` e o valor como a chave da API para acessar seu Pinecone índice.

1. Para encontrar a chave de API, abra o [Console do Pinecone](https://app.pinecone.io/) e selecione **Chaves de API**.

1. Depois de criar o segredo, anote o ARN da chave do KMS.

1. Anexe permissões ao perfil de serviço para descriptografar o ARN da chave do KMS seguindo as etapas em [Permissões para descriptografar um AWS Secrets Manager segredo para o armazenamento de vetores que contém sua base de conhecimento](encryption-kb.md#encryption-kb-3p).

1. Posteriormente, ao criar a base de conhecimento, insira o ARN no campo **ARN do segredo das credenciais**.

------
#### [ Nuvem empresarial Redis ]

**nota**  
Se você usarRedis Enterprise Cloud, você concorda em autorizar o acesso AWS à fonte terceirizada designada em seu nome, a fim de fornecer serviços de armazenamento de vetores para você. Você é responsável pela conformidade com todos os termos de terceiros aplicáveis ao uso e à transferência de dados do serviço de terceiros.

Para obter a documentação detalhada sobre como configurar um armazenamento de vetores no Redis Enterprise Cloud, consulte [Integração do Redis Enterprise Cloud com o Amazon Bedrock](https://docs.redis.com/latest/rc/cloud-integrations/aws-marketplace/aws-bedrock/).

Ao configurar o armazenamento de vetores, anote as seguintes informações, que você preencherá ao criar uma base de conhecimento:
+ **URL do endpoint**: o URL público do endpoint do banco de dados.
+ **Nome do índice de vetores**: o nome do índice de vetores do banco de dados.
+ **Campo vetorial**: o nome do campo em que as incorporações de vetores serão armazenadas. Consulte a tabela a seguir para determinar quantas dimensões o vetor deve conter.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/knowledge-base-setup.html)
+ **Campo de texto**: o nome do campo em que o Amazon Bedrock armazena os fragmentos de texto bruto.
+ **Campo de metadados gerenciado pelo Bedrock**: o nome do campo em que o Amazon Bedrock armazena metadados relacionados à base de conhecimento.

Para acessar o cluster do Redis Enterprise Cloud, forneça a configuração de segurança do Redis Enterprise Cloud ao Amazon Bedrock por meio do AWS Secrets Manager.

**Como configurar um segredo para a sua configuração do Redis Enterprise Cloud**

1. Habilite o TLS para usar seu banco de dados com o Amazon Bedrock seguindo as etapas em [Transport Layer Security (TLS)](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/).

1. Siga as etapas em [Criar um AWS Secrets Manager segredo](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Configure as seguintes chaves com os valores adequados da configuração do Redis Enterprise Cloud no segredo:
   + `username`: o nome de usuário para acessar o banco de dados do Redis Enterprise Cloud. Para encontrar seu nome de usuário, consulte a seção **Segurança** do banco de dados no [console do Redis](http://app.redislabs.com/).
   + `password`: a senha para acessar o banco de dados do Redis Enterprise Cloud. Para encontrar sua senha, consulte a seção **Segurança** do banco de dados no [console do Redis](http://app.redislabs.com/).
   + `serverCertificate`: o conteúdo do certificado da autoridade de certificação do Redis Cloud. Baixe o certificado do servidor no Console de administrador do Redis seguindo as etapas em [Download certificates](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).
   + `clientPrivateKey`: a chave privada do certificado da autoridade de certificação do Redis Cloud. Baixe o certificado do servidor no Console de administrador do Redis seguindo as etapas em [Download certificates](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).
   + `clientCertificate`: a chave pública do certificado da autoridade de certificação do Redis Cloud. Baixe o certificado do servidor no Console de administrador do Redis seguindo as etapas em [Download certificates](https://docs.redis.com/latest/rc/security/database-security/tls-ssl/#download-certificates).

1. Depois de criar o segredo, anote o ARN dele. Posteriormente, ao criar a base de conhecimento, insira o ARN no campo **ARN do segredo das credenciais**.

------
#### [ MongoDB Atlas ]

**nota**  
Se você usa o MongoDB Atlas, concorda em AWS autorizar o acesso à fonte terceirizada designada em seu nome para fornecer serviços de armazenamento de vetores para você. Você é responsável pela conformidade com todos os termos de terceiros aplicáveis ao uso e à transferência de dados do serviço de terceiros.

Para ver uma documentação detalhada sobre como configurar um armazenamento de vetores no MongoDB Atlas, consulte [Launch a Fully Managed RAG Workflow With MongoDB Atlas and Amazon Bedrock](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/).

Ao configurar o armazenamento de vetores, anote as seguintes informações, que você preencherá ao criar uma base de conhecimento:
+ **URL do endpoint**: o URL do endpoint do cluster do MongoDB Atlas.
+ **Nome do banco de dados**: o nome do banco de dados no cluster do MongoDB Atlas.
+ **Nome da coleção**: o nome da coleção no banco de dados.
+ **ARN secreto de credenciais** — O Amazon Resource Name (ARN) do segredo que você criou AWS Secrets Manager e que contém o nome de usuário e a senha de um usuário do banco de dados em seu cluster MongoDB Atlas. O segredo deve conter chaves chamadas `username` e `password`.
+ **(Opcional) Chave do KMS gerenciada pelo cliente para o ARN do segredo das credenciais**: se você tiver criptografado o ARN do segredo de suas credenciais, forneça a chave do KMS para que o Amazon Bedrock possa descriptografá-la. 

Há configurações adicionais de **Mapeamento de campos** que você deve fornecer ao criar um índice do MongoDB Atlas:
+ **Nome do índice de vetores**: o nome do índice de pesquisa vetorial do MongoDB Atlas em sua coleção.
+ **Nome do campo de vetor**: o nome do campo no qual o Amazon Bedrock deve armazenar incorporações de vetores.
+ **Nome do campo de texto**: o nome do campo no qual o Amazon Bedrock deve armazenar o texto de fragmento bruto.
+ **Nome do campo de metadados**: o nome do campo no qual o Amazon Bedrock deve armazenar os metadados de atribuição de origem.
+ **(Opcional) Nome do índice de pesquisa de texto**: o nome do Índice de pesquisa vetorial do MongoDB Atlas em sua coleção.

**Importante**  
Se você planeja usar a filtragem de metadados com sua base de conhecimento do MongoDB Atlas, deverá configurar manualmente os filtros em seu índice de vetores. A filtragem de metadados não funciona por padrão e requer configuração adicional na configuração do índice de vetores do MongoDB Atlas.

(Opcional) Para que o Amazon Bedrock se conecte ao seu cluster AWS PrivateLink MongoDB Atlas, consulte Fluxo de trabalho do [RAG com](https://www.mongodb.com/developer/products/atlas/rag-workflow-with-atlas-amazon-bedrock/) o MongoDB Atlas usando o Amazon Bedrock.

------

# Pré-requisitos e permissões necessários para usar clusters OpenSearch gerenciados com as bases de conhecimento Amazon Bedrock
<a name="kb-osm-permissions-prereq"></a>

Esta seção mostra como configurar permissões se você estiver criando seu próprio banco de dados vetoriais com Amazon OpenSearch Service Managed Clusters. Essa configuração deve ser executada antes de você criar a base de conhecimento. As etapas pressupõem que você já tenha criado um domínio e um índice vetorial no Amazon OpenSearch Service. Para obter mais informações, consulte [Criação e gerenciamento OpenSearch de domínios de serviço](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html) no *guia do desenvolvedor do Amazon OpenSearch Service*.

## Considerações importantes
<a name="kb-osm-permissions-prereq-considerations"></a>

A seguir estão algumas considerações importantes sobre o uso das bases de conhecimento do Amazon Bedrock com os clusters gerenciados do Amazon OpenSearch Service.
+ Antes de usar qualquer recurso de domínio em clusters OpenSearch gerenciados, você precisa configurar determinadas permissões e políticas de acesso do IAM. Para a integração das bases de conhecimento com clusters gerenciados, antes de executar as etapas desta seção, se seu domínio tiver uma política de acesso restritiva, você deverá conceder o acesso necessário ao IAM e configurar as políticas baseadas em recursos. Também recomendamos que você configure um controle de acesso refinado para reduzir o escopo das permissões.
+ Ao ingerir os dados da sua base de conhecimento, se você encontrar falhas, isso pode indicar uma capacidade insuficiente do OpenSearch domínio para lidar com a velocidade da ingestão. Para resolver esse problema, aumente a capacidade do seu domínio provisionando IOPS (operações de entrada/saída por segundo) mais altas e aumentando as configurações de throughput. Aguarde alguns minutos até que a nova capacidade seja provisionada e, em seguida, repita o processo de ingestão. Para verificar se o problema foi resolvido, você pode monitorar o desempenho durante o processo de nova tentativa. Se o controle de utilização ainda persistir, talvez seja necessário ajustar ainda mais a capacidade para melhorar a eficiência. Para obter mais informações, consulte [Melhores práticas operacionais para o Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/bp.html).

## Visão geral da configuração de permissões
<a name="kb-osm-permissions-prereq-overview"></a>

Para a integração da base de conhecimento com clusters gerenciados, você precisa configurar as permissões de acesso do IAM e políticas baseadas em recursos a seguir. Recomendamos que você habilite políticas de acesso refinadas para controlar ainda mais o acesso do usuário e a granularidade de acordo com a qual o escopo do acesso deve ser reduzido em nível de propriedade.

As etapas a seguir apresentam uma visão geral abrangente sobre como configurar permissões.

1. 

**Criar e usar um perfil de serviço da base de conhecimento**

   Para as permissões que você deseja configurar, embora ainda possa fornecer um perfil personalizado, recomendamos que você especifique a opção para que as Bases de Conhecimento do Amazon Bedrock criem o perfil de serviço da base de conhecimento para você.

1. 

**Configurar uma política baseada em recursos**

   O OpenSearch domínio oferece suporte a políticas baseadas em recursos, que determinam quais diretores podem acessar e atuar no domínio. Para uso com as bases de conhecimento, garanta a configuração adequada da política baseada em recursos para seu domínio.

1. 

***(Altamente recomendado)* Fornecer mapeamento de perfis para controle de acesso refinado**

   Embora o controle de acesso refinado seja opcional, recomendamos que você o habilite para controlar a granularidade de acordo com a qual o escopo das permissões deve ser reduzido em nível de propriedade.

## Configurar políticas do IAM
<a name="kb-osm-permissions-iam"></a>

A política de acesso do seu domínio deve conceder as permissões para realizar as ações de OpenSearch API necessárias pelas funções em sua conta.

Se o domínio tiver uma política de acesso restritivo, talvez seja necessário atualizá-lo da seguinte forma:
+ Ele deve conceder acesso ao serviço Amazon Bedrock e incluir as ações HTTP necessárias: `GET`, `POST`, `PUT` e `DELETE`.
+ Ele também deve conceder permissões ao Amazon Bedrock para realizar a ação `es:DescribeDomain` em seu recurso de índice. Isso permite que as Bases de Conhecimento do Amazon Bedrock realizem as validações necessárias ao configurar uma base de conhecimento.

## (Opcional) Controle de acesso refinado
<a name="kb-osm-permissions-console-fgap"></a>

O controle de acesso refinado pode controlar a granularidade de acordo com a qual o escopo das permissões deve ser reduzido em nível de propriedade. Você pode configurar as políticas de acesso refinadas para conceder as permissões de leitura e gravação necessárias ao perfil de serviço criado pelas bases de conhecimento.

Para configurar o controle de acesso refinado e fornecer o mapeamento de perfis:

1. Certifique-se de que o OpenSearch domínio que você criou tenha um controle de acesso refinado ativado.

1. Crie uma OpenSearch interface de usuário (painéis), caso ainda não tenha feito isso. Ela será usada para configurar o mapeamento de perfis.

1. Em seus OpenSearch painéis, crie uma OpenSearch função e especifique o nome do índice vetorial e as permissões do cluster e do índice. Para adicionar as permissões, você deve criar grupos de permissões e, em seguida, adicionar as permissões necessárias que concedem acesso ao perfil para realizar um conjunto de operações, como `delete`, `search`, `get` e `index`.

1. Depois de adicionar as permissões necessárias, você deve inserir o ARN da sua função de serviço da base de conhecimento para a função de OpenSearch back-end. A execução dessa etapa concluirá o mapeamento entre sua função de Serviço da Base de Conhecimento e a OpenSearch função, que então concede às Bases de Conhecimento Amazon Bedrock permissões para acessar o índice vetorial no OpenSearch domínio e realizar as operações necessárias.

**Topics**
+ [Considerações importantes](#kb-osm-permissions-prereq-considerations)
+ [Visão geral da configuração de permissões](#kb-osm-permissions-prereq-overview)
+ [Configurar políticas do IAM](#kb-osm-permissions-iam)
+ [(Opcional) Controle de acesso refinado](#kb-osm-permissions-console-fgap)
+ [Configurando políticas baseadas em recursos para clusters gerenciados OpenSearch](kb-osm-permissions-slr-rbp.md)
+ [Configurando OpenSearch permissões com controle de acesso refinado](kb-osm-permissions-console-fgap.md)

# Configurando políticas baseadas em recursos para clusters gerenciados OpenSearch
<a name="kb-osm-permissions-slr-rbp"></a>

Ao criar sua base de conhecimento, você pode criar um perfil personalizado ou deixar o Amazon Bedrock criar um para você. A forma como você configura as permissões depende de você estar criando um perfil ou usando um perfil existente. Se você já tem uma função do IAM, deve garantir que a política de acesso do seu domínio não impeça que as funções em sua conta executem as ações de OpenSearch API necessárias.

Se você optar por permitir que o Amazon Bedrock Knowledge Bases crie a função do IAM para você, você deve garantir que a política de acesso do seu domínio conceda as permissões para realizar as ações de OpenSearch API necessárias pelas funções em sua conta. Se seu domínio tiver uma política de acesso restritiva, isso poderá impedir que seu perfil execute essas ações. A seguir é apresentado um exemplo de política baseada em recursos restritiva.

Nesse caso, você pode:
+ Crie sua base de conhecimento usando uma função do IAM existente para que seu OpenSearch domínio possa conceder acesso a essa função para realizar as operações necessárias.
+ Ou você pode deixar o Amazon Bedrock criar um perfil para você. Nesse caso, você deve garantir que a política de acesso do domínio conceda as permissões para realizar as ações de OpenSearch API necessárias pelas funções em sua conta.

As seções a seguir mostram um exemplo de política do IAM que concede as permissões necessárias e como você pode atualizar a política de acesso do domínio para que ela conceda permissões para realizar as operações de OpenSearch API necessárias.

**Topics**
+ [Exemplo de políticas do IAM baseadas em identidade e em recursos](#kb-osm-permissions-iam)
+ [Criar um perfil de serviço para as Bases de Conhecimento do Amazon Bedrock](#kb-osm-permissions-slr)
+ [Atualizar as políticas baseadas em recursos](#kb-osm-permissions-console-rbp)

## Exemplo de políticas do IAM baseadas em identidade e em recursos
<a name="kb-osm-permissions-iam"></a>

Esta seção fornece um exemplo de política de identidade e uma política baseada em recursos que você pode configurar para seu OpenSearch domínio ao fazer a integração com as Bases de Conhecimento Amazon Bedrock. Você deve conceder permissões ao Amazon Bedrock para realizar essas ações no índice que você fornece à sua base de conhecimento.


****  

| Ação | Recurso | Description | 
| --- | --- | --- | 
| es:ESHttpPost | arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> | Como inserir informações no índice | 
| es:ESHttpGet |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | Para pesquisar informações do índice. Essa ação é configurada tanto no nível domain/index quanto no nível domain/index/\$1. No nível domain/index, é possível obter detalhes abrangentes sobre o índice, como o tipo de mecanismo. Para recuperar detalhes armazenados no índice, são necessárias permissões no nível domain/index/\$1. | 
| es:ESHttpHead |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/kb-osm-permissions-slr-rbp.html)  | Para obter informações do índice. Essa ação é configurada tanto no nível domain/index quanto no nível domain/index/\$1, caso as informações precisem ser obtidas em um nível superior; por exemplo, saber se um índice específico existe. | 
| es:ESHttpDelete | arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> | Para excluir informações do índice. | 
| es:DescribeDomain | arn:<partition>:es:<region>:<accountId>:domain/<domainName> | Para realizar validações no domínio, como a versão do mecanismo usada. | 

### Exemplo de política baseada em identidade
<a name="kb-osm-permissions-idpolicy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OpenSearchIndexAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpPost",
                "es:ESHttpPut",
                "es:ESHttpDelete"
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName/*"
            ]
        },
        {
            "Sid": "OpenSearchIndexGetAccess",
            "Effect": "Allow",
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpHead"
            ],
            "Resource": [
            "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]
        },
        {
            "Sid": "OpenSearchDomainValidation",
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain"
            ],
            "Resource": [
            "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]
        }
    ]
}
```

------

### Exemplo de política baseada em recursos
<a name="kb-osm-permissions-rbp"></a>

**nota**  
O perfil de serviço deve ter sido criado para ser usado na política baseada em recursos.

## Criar um perfil de serviço para as Bases de Conhecimento do Amazon Bedrock
<a name="kb-osm-permissions-slr"></a>

Ao criar a base de conhecimento, é possível escolher a opção de criar e usar outro perfil de serviço. Esta seção explica como criar um perfil de serviço das Bases de Conhecimento do Amazon Bedrock. Ao mapear as políticas baseadas em recursos e as políticas de acesso refinadas a essa função, ele concederá ao Amazon Bedrock as permissões para fazer solicitações ao domínio. OpenSearch 

**Para especificar o perfil de serviço das Bases de Conhecimento do Amazon Bedrock:**

1. No console do Amazon Bedrock, acesse [Bases de conhecimento](https://console.aws.amazon.com/bedrock/home#/knowledge-bases).

1. Escolha **Criar** e selecione **Base de conhecimento com armazenamento vetorial**.

1. Escolha **Criar e usar um novo perfil de serviço**. Quer você use o padrão ou forneça um nome de perfil personalizado, o Amazon Bedrock criará automaticamente o perfil de serviço da base de conhecimento para você.

1. Continue acessando o console para configurar a fonte de dados e estratégias de análise e fragmentação.

1. Escolha um modelo de incorporação e, em **Escolha um armazenamento vetorial existente**, escolha **Amazon OpenSearch Managed Cluster**.

**Importante**  
Para continuar a criar a base de conhecimento, primeiro conclua as etapas a seguir para configurar as políticas baseadas em recursos e as políticas de acesso refinadas. Para ver as etapas detalhadas sobre como criar a base de conhecimento, consulte [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md).

## Atualizar as políticas baseadas em recursos
<a name="kb-osm-permissions-console-rbp"></a>

Se seu OpenSearch domínio tiver uma política de acesso restritiva, você poderá seguir as instruções nesta página para atualizar a política baseada em recursos. Essas permissões permitem que as Bases de Conhecimento usem o índice que você fornece e recuperem a definição do OpenSearch domínio para realizar a validação necessária no domínio.

**Para configurar as políticas baseadas em recursos do Console de gerenciamento da AWS**

1. Acesse o [console do Amazon OpenSearch Service](https://console.aws.amazon.com/aos/home?region=us-east-1#opensearch/dashboard).

1. Vá para o domínio que você criou e acesse **Configurações de segurança**, onde a política baseada em recursos está configurada.

1. Edite a política na guia **JSON** e atualize a política tal como em [Exemplo de política baseada em recursos](#kb-osm-permissions-rbp).

1. Agora você pode voltar ao console do Amazon Bedrock e fornecer os detalhes do seu OpenSearch domínio e índice, conforme descrito na [configuração da base de conhecimento para clusters gerenciados](knowledge-base-setup.md#knowledge-base-setup-osm).

# Configurando OpenSearch permissões com controle de acesso refinado
<a name="kb-osm-permissions-console-fgap"></a>

Embora opcional, é altamente recomendável que você ative um controle de acesso refinado para seu domínio. OpenSearch Usando o controle de acesso refinado, você pode usar o controle de acesso baseado em funções, que permite criar uma OpenSearch função com permissões específicas e mapeá-la para a função de serviço da Base de Conhecimento. O mapeamento concede à sua base de conhecimento as permissões mínimas necessárias que permitem acessar e realizar operações no OpenSearch domínio e no índice.

Para configurar e usar o controle de acesso refinado:

1. Certifique-se de que o OpenSearch domínio que você está usando tenha um controle de acesso refinado ativado.

1. Para seu domínio que usa controle de acesso refinado, configure as permissões com políticas de escopo reduzido na forma de uma função. OpenSearch

1. Para o domínio para o qual você cria um perfil, adicione um mapeamento de perfis ao perfil de serviço da base de conhecimento.

As etapas a seguir mostram como configurar sua OpenSearch função e garantir o mapeamento correto entre a OpenSearch função e a função de serviço da Base de Conhecimento.

**Para criar uma OpenSearch função e configurar permissões**  
Depois de habilitar o controle de acesso refinado e configurar o Amazon Bedrock para se conectar ao OpenSearch Serviço, você pode configurar as permissões usando o link OpenSearch Dashboards para cada domínio. OpenSearch 

**Para configurar permissões para um domínio permitir acesso ao Amazon Bedrock:**

1. Abra o OpenSearch Painel do OpenSearch domínio com o qual você deseja trabalhar. Para encontrar o link para os painéis, acesse o domínio que você criou no console OpenSearch de serviços. Para domínios em execução OpenSearch, o URL tem o formato,`domain-endpoint/_dashboards/`. Para obter mais informações, consulte [Painéis](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/dashboards.html) no *guia do desenvolvedor do Amazon OpenSearch Service*.

1. No OpenSearch Painel, escolha **Segurança** e, em seguida, escolha **Funções**.

1. Selecione **Criar perfil**.

1. Forneça qualquer nome para o perfil; por exemplo, **kb\$1opensearch\$1role**.

1. Em **Permissões de cluster**, adicione as seguintes permissões:
   + `indices:data/read/msearch`
   + `indices:data/write/bulk*`
   + `indices:data/read/mget*`

1. Em **Permissões de índice**, forneça um nome para o índice de vetores. Escolha **Criar grupo de permissões** e selecione **Criar grupo de ação**. Adicione as seguintes permissões a um grupo de ação, como `KnowledgeBasesActionGroup`. Adicione as seguintes permissões a um grupo de ação.
   + `indices:admin/get`
   + `indices:data/read/msearch`
   + `indices:data/read/search`
   + `indices:data/write/index`
   + `indices:data/write/update`
   + `indices:data/write/delete`
   + `indices:data/write/delete/byquery`
   + `indices:data/write/bulk*`
   + `indices:admin/mapping/put`
   + `indices:data/read/mget*`  
![\[Os grupos de ação a serem criados em OpenSearch painéis para adicionar permissões de cluster e índice.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/kb-test-os-action-groups.png)

1. Escolha **Criar** para criar a OpenSearch função.

Veja a seguir um exemplo de OpenSearch função com as permissões adicionadas.

![\[Um exemplo de OpenSearch função em OpenSearch painéis com as permissões adicionadas.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/kb/kb-test-os-dashboards-permissions.png)


**Noções básicas sobre mapeamento de perfis para o perfil de serviço da base de conhecimento**

1. Identifique um perfil do IAM que precisará ser mapeado.
   + Se você tiver criado seu perfil do IAM personalizado, poderá copiar o ARN do perfil para esse perfil do console do IAM.
   + Se estiver permitindo que as bases de conhecimento criem o perfil para você, você pode anotar o ARN do perfil ao criar a base de conhecimento e, em seguida, copiar o respectivo ARN.

1. Abra o OpenSearch Painel do OpenSearch domínio com o qual você deseja trabalhar. O formato do URL é `domain-endpoint/_dashboards/`.

1. No painel de navegação, escolha **Segurança**.

1. Pesquise o perfil que você acabou de criar na lista (por exemplo, **kb\$1opensearch\$1role**) e abra-o.

1. Na guia **Usuários mapeados**, selecione **Gerenciar mapeamento**.

1. Na seção **Funções de back-end**, insira o ARN da função gerenciada AWS do IAM para bases de conhecimento. Dependendo se você criou sua própria função personalizada ou permitiu que as bases de conhecimento criassem a função para você, copie as informações de ARN da função do console do IAM ou do console Amazon Bedrock e insira essas informações para as **funções de back-end no** console. OpenSearch Veja um exemplo a seguir.

   ```
   arn:aws:iam::<accountId>:role/service-role/<knowledge-base-service-role>
   ```

1. Escolha **Mapear**.

   A função Knowledge Base Service agora pode se conectar à OpenSearch função e realizar as operações necessárias no domínio e no índice.

# Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock
<a name="knowledge-base-create"></a>

Ao criar uma base de conhecimento conectando-a a uma fonte de dados, configure ou especifique o seguinte:
+ Informações gerais que definam e identifiquem a base de conhecimento.
+ O perfil de serviço com permissões para a base de conhecimento.
+ Configurações da base de conhecimento, como o modelo de incorporação a ser usado ao converter dados da fonte de dados, configurações de armazenamento para o serviço no qual armazenar as incorporações e, opcionalmente, um local do S3 para armazenar dados multimodais.

**nota**  
Você não pode criar uma base de conhecimento com um usuário-raiz. Faça login com um usuário do IAM antes de iniciar essas etapas.

Expanda a seção que corresponde ao seu caso de uso:

## Usar o console
<a name="knowledge-base-create-console"></a>

**Como configurar uma base de conhecimento**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, escolha o botão “criar” e faça a seleção para criar uma base de conhecimento com um armazenamento de vetores.

1. (Opcional) Altere o nome padrão e dê uma descrição para a base de conhecimento.

1. Escolha uma função AWS Identity and Access Management (IAM) que forneça permissão ao Amazon Bedrock para acessar outros AWS serviços necessários. Você pode permitir que o Amazon Bedrock crie o perfil de serviço ou escolher um [perfil personalizado criado por você para o Neptune Analytics](kb-permissions.md#kb-permissions-neptune).

1. Escolha uma fonte de dados para conectar com a base de conhecimento.

1. (Opcional) Adicione tags à base de conhecimento. Para obter mais informações, consulte [Marcação de recursos do Amazon Bedrock](tagging.md).

1. (Opcional) Configure serviços para os quais fornecer logs de atividades para sua base de conhecimento.

1. Vá para a próxima seção e siga as etapas em [Conectar uma fonte de dados à base de conhecimento](data-source-connectors.md) para configurar uma fonte de dados.

1. Na seção **Modelo de incorporações**, faça o seguinte:

   1. Escolha um modelo de incorporação para converter seus dados em incorporações de vetores. Para dados multimodais (imagens, áudio e vídeo), selecione um modelo de incorporação multimodal, como Amazon Titan Multimodal Embeddings G1 ou Cohere Embed v3.
**nota**  
Ao usar o Amazon Titan Multimodal Embeddings G1, você deve fornecer um bucket de conteúdo S3 e só pode usar o analisador padrão. Esse modelo é otimizado para casos de uso de pesquisa de imagens. Para obter uma orientação abrangente sobre a escolha entre abordagens multimodais, consulte. [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md)

   1. (Opcional) Expanda a seção **Configurações adicionais** para ver as seguintes opções de configuração (nem todos os modelos comportam todas as configurações):
      + **Tipo de incorporação**: se deseja converter os dados em incorporações de vetores de ponto flutuante (float32) (mais precisas, mas mais caras) ou incorporações de vetores binários (menos precisas, mas menos caras). Para saber quais modelos de incorporação aceitam vetores binários, consulte os [modelos de incorporação compatíveis](knowledge-base-supported.md).
      + **Dimensões vetoriais**: valores mais altos melhoram a precisão, mas aumentam o custo e a latência.

1. Na seção **Banco de dados de vetores**, faça o seguinte:

   1. Escolha um armazenamento de vetores para armazenar as incorporações de vetores que serão usadas na consulta. Você tem as seguintes opções:
      + **Crie rapidamente um armazenamento de vetores**: escolha uma dos armazenamentos de vetores disponíveis para o Amazon Bedrock criar. Você também pode configurar opcionalmente a criptografia de AWS KMS chave para seu armazenamento de vetores.
**nota**  
Ao usar essa opção, o Amazon Bedrock gerencia automaticamente o posicionamento dos metadados para cada armazenamento de vetores.
        + **Amazon OpenSearch Serverless** — O Amazon Bedrock Knowledge Bases cria uma coleção e um índice de pesquisa vetorial Amazon OpenSearch Serverless e os configura com os campos obrigatórios para você.
        + **Amazon Aurora PostgreSQL Sem Servidor**: o Amazon Bedrock configura um armazenamento de vetores do Amazon Aurora PostgreSQL Sem Servidor. Esse processo extrai os dados de texto não estruturados de um bucket do Amazon S3, transforma-os em blocos e vetores de texto e armazena-os em um banco de dados do PostgreSQL. Para ter mais informações, consulte [Criar rapidamente uma Base de Conhecimento para Amazon Bedrock do Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.quickcreatekb.html).
        + **Amazon Neptune Analytics**: o Amazon Bedrock usa técnicas de geração aumentada via recuperação (RAG) combinadas com grafos para aprimorar aplicações de IA generativa e permitir que os usuários finais obtenham respostas mais precisas e abrangentes.
        + **Amazon S3 Vectors**: as Bases de Conhecimento do Amazon Bedrock criam um índice de vetores e um bucket de vetores do S3 para armazenar as incorporações geradas das fontes de dados.

          Você pode criar uma base de conhecimento para os vetores do Amazon S3 em todos os Região da AWS países em que os vetores Amazon Bedrock e Amazon S3 estão disponíveis. Para ter mais informações, consulte [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html) no *Guia do usuário do Amazon S3*.
**nota**  
Ao usar os vetores do Amazon S3 com as bases de conhecimento do Amazon Bedrock, você pode anexar até 1 KB de metadados personalizados (incluindo metadados filtráveis e não filtráveis) e 35 chaves de metadados por vetor. Para obter informações detalhadas sobre limitações de metadados, consulte [Suporte a metadados](knowledge-base-setup.md#metadata-support) em[Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento](knowledge-base-setup.md).
      + **Escolha um armazenamento de vetores que você criou**: selecione um armazenamento de vetores compatível e identifique o nome dos campos de vetores e o nome dos campos de metadados no índice de vetores. Para obter mais informações, consulte [Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento](knowledge-base-setup.md).
**nota**  
Se sua fonte de dados for uma instância do Confluence SharePoint, Microsoft ou Salesforce, o único serviço de armazenamento vetorial compatível é o Amazon Serverless. OpenSearch 

   1. (Opcional) Expanda a seção **Configurações adicionais** e modifique todas as configurações relevantes.

1. Se a fonte de dados contiver imagens, especifique um URI do Amazon S3 em **Destino de armazenamento multimodal** para armazenar as imagens que o analisador extrairá dos dados. As imagens podem ser exibidas durante a consulta. Opcionalmente, você também pode escolher uma chave gerenciada pelo cliente em vez da padrão Chave gerenciada pela AWS para criptografar seus dados.
**nota**  
Só é possível utilizar dados multimodais com o Amazon S3 e fontes de dados personalizadas.
**nota**  
Ao usar modelos de incorporação multimodais:  
O Amazon Titan Multimodal Embeddings G1 requer um bucket de conteúdo S3 e funciona melhor com conjuntos de dados somente de imagens usando o analisador padrão
O Cohere Embed v3 suporta conjuntos mistos de dados de texto e imagem e pode ser usado com qualquer configuração de analisador
Para casos de uso de pesquisa de imagens, evite usar o Bedrock Data Automation (BDA) ou analisadores de modelos básicos com o Titan G1 devido às limitações do token
O destino de armazenamento multimodal cria cópias de arquivos para fins de recuperação, o que pode gerar cobranças adicionais de armazenamento

1. Escolha **Próximo** e analise os detalhes da base de conhecimento. É possível editar qualquer seção antes de começar a criar a base de conhecimento.
**nota**  
O tempo necessário para criar a base de conhecimento depende de suas configurações específicas. Quando a criação da base de conhecimento é concluída, o status da base de conhecimento muda para o estado pronto ou disponível.  
Quando a base de conhecimento estiver pronta e disponível, sincronize a fonte de dados pela primeira vez e sempre que quiser manter o conteúdo atualizado. Selecione a base de conhecimento no console e escolha **Sincronizar** na seção de visão geral da fonte de dados.

## Usar a API
<a name="knowledge-base-create-api"></a>

Para criar uma base de conhecimento, envie uma solicitação [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

**nota**  
Se preferir permitir que o Amazon Bedrock crie e gerencie um armazenamento de vetores para você, use o console. Para ter mais informações, expanda a seção **Usar o console** neste tópico.

Os seguintes campos são obrigatórios:


****  

| Campo | Descrição básica | 
| --- | --- | 
| name | Um nome para a base de conhecimento. | 
| roleArn | O ARN de um [perfil de serviço das Bases de Conhecimento do Amazon Bedrock](kb-permissions.md). | 
| knowledgeBaseConfiguration | Contém as configurações da base de conhecimento. Veja os detalhes abaixo. | 
| storageConfiguration | (Exigido somente se você estiver se conectando a uma fonte de dados não estruturados.)Contém configurações para o serviço de fonte de dados que você escolher. | 

Os seguintes campos são opcionais:


****  

| Campo | Caso de uso | 
| --- | --- | 
| descrição | Uma descrição da base de conhecimento. | 
| clientToken | Para garantir que a solicitação de API seja concluída apenas uma vez. Para obter mais informações, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| tags | Para associar tags ao fluxo. Para obter mais informações, consulte [Marcação de recursos do Amazon Bedrock](tagging.md). | 

No `knowledgeBaseConfiguration` campo, que mapeia para um [KnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseConfiguration.html)objeto, especifique `VECTOR` no `type` campo e inclua um [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html)objeto. No objeto, inclua os seguintes campos:
+ `embeddingModelArn`: o ARN do modelo de incorporação a ser usado.
+ `embeddingModelConfiguration`: configurações para o modelo de incorporação. Para ver os valores possíveis que você pode especificar para cada modelo compatível, consulte [Modelos e regiões compatíveis para bases de conhecimento do Amazon Bedrock](knowledge-base-supported.md).
+ (Se você planeja incluir dados multimodais, que incluem imagens, figuras, gráficos ou tabelas, em sua base de conhecimento) `supplementalDataStorageConfiguration` — Mapeia para um [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html)objeto, no qual você especifica o local do S3 no qual armazenar os dados extraídos. Para obter mais informações, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).

No `storageConfiguration` campo, que mapeia para um [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html)objeto, especifique o armazenamento vetorial ao qual você planeja se conectar no `type` campo e inclua o campo que corresponde a esse armazenamento vetorial. Consulte cada tipo de configuração de armazenamento de vetores em [StorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StorageConfiguration.html)para obter detalhes sobre as informações que você precisa fornecer.

Veja a seguir um exemplo de solicitação para criar uma base de conhecimento conectada a uma coleção Amazon OpenSearch Serverless. Os dados das fontes de dados conectadas serão convertidos em incorporações vetoriais binárias com a Amazon Titan Text Embeddings V2 e os dados multimodais extraídos pelo analisador serão configurados para serem armazenados em um bucket chamado. *MyBucket*

```
PUT /knowledgebases/ HTTP/1.1
Content-type: application/json

{
   "name": "MyKB",
   "description": "My knowledge base",
   "roleArn": "arn:aws:iam::111122223333:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase_123",
   "knowledgeBaseConfiguration": {
      "type": "VECTOR",
      "vectorKnowledgeBaseConfiguration": { 
         "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0",
         "embeddingModelConfiguration": { 
            "bedrockEmbeddingModelConfiguration": { 
               "dimensions": 1024,
               "embeddingDataType": "BINARY"
            }
         },
         "supplementalDataStorageConfiguration": { 
            "storageLocations": [ 
               { 
                  "s3Location": { 
                     "uri": "arn:aws:s3:::MyBucket"
                  },
                  "type": "S3"
               }
            ]
         }
      }
   },
   "storageConfiguration": { 
      "opensearchServerlessConfiguration": { 
         "collectionArn": "arn:aws:aoss:us-east-1:111122223333:collection/abcdefghij1234567890",
         "fieldMapping": { 
            "metadataField": "metadata",
            "textField": "text",
            "vectorField": "vector"
         },
         "vectorIndexName": "MyVectorIndex"
      }
   }
}
```

**Topics**
+ [Conectar uma fonte de dados à base de conhecimento](data-source-connectors.md)
+ [Personalizar a ingestão para uma fonte de dados](kb-data-source-customize-ingestion.md)
+ [Definir configurações de segurança para a base de conhecimento](kb-create-security.md)

# Conectar uma fonte de dados à base de conhecimento
<a name="data-source-connectors"></a>

Depois de concluir as configurações da base de conhecimento, conecte uma fonte de dados compatível a ela.

As Bases de Conhecimento do Amazon Bedrock permitem conectar fontes de dados não estruturadas ou armazenamentos de dados estruturados por meio de um mecanismo de consulta. Selecione um tópico para saber como se conectar a esse tipo de fonte de dados:

**Suporte de conteúdo multimodal**  
O conteúdo multimodal (arquivos de imagens, áudio e vídeo) só é compatível com o Amazon S3 e fontes de dados personalizadas. Outros tipos de fonte de dados ignorarão arquivos multimodais durante a ingestão. Para obter uma orientação abrangente sobre como trabalhar com conteúdo multimodal, consulte. [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md)

Para saber como se conectar a uma fonte de dados usando o console do Amazon Bedrock, selecione o tópico que corresponde ao seu tipo de fonte de dados na parte inferior desta página:

Para se conectar a uma fonte de dados usando a API do Amazon Bedrock, envie uma [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitação com um endpoint de tempo de [execução do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

Os seguintes campos são obrigatórios:


****  

| Campo | Descrição básica | 
| --- | --- | 
| knowledgeBaseId | O ID da base de conhecimento. | 
| name | Um nome para a base de conhecimento. | 
| dataSourceConfiguration | Especifique o serviço ou o tipo de fonte de dados no campo type e inclua o campo correspondente. Para obter mais detalhes sobre configurações específicas do serviço, selecione o tópico do serviço nos tópicos apresentados na parte inferior desta página. | 

Os seguintes campos são opcionais:


****  

| Campo | Caso de uso | 
| --- | --- | 
| descrição | Para fornecer uma descrição da fonte de dados. | 
| vectorIngestionConfiguration | Contém configurações para personalizar o processo de ingestão. Para obter mais informações, consulte [Personalizar a ingestão para uma fonte de dados](kb-data-source-customize-ingestion.md). | 
| dataDeletionPolicy | Para especificar se é necessário aplicar RETAIN nas incorporações de vetores no armazenamento de vetores ou aplicar DELETE para excluí-las. | 
| serverSideEncryptionConfiguração | Para criptografar dados temporários durante a sincronização de dados com uma chave gerenciada pelo cliente, especifique o respectivo ARN no campo kmsKeyArn. | 
| clientToken | Para garantir que a solicitação de API seja concluída apenas uma vez. Para obter mais informações, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 

Selecione um tópico para saber mais sobre um serviço e como configurá-lo.

**Topics**
+ [Conectar-se ao Amazon S3 para obter sua base de conhecimento](s3-data-source-connector.md)
+ [Conecte-se ao Confluence para obter sua base de conhecimento](confluence-data-source-connector.md)
+ [Conecte-se à Microsoft SharePoint para obter sua base de conhecimento](sharepoint-data-source-connector.md)
+ [Conectar-se ao Salesforce para obter sua base de conhecimento](salesforce-data-source-connector.md)
+ [Rastrear páginas da web para sua base de conhecimento](webcrawl-data-source-connector.md)
+ [Conectar uma base de conhecimento a uma fonte de dados personalizada](custom-data-source-connector.md)

# Conectar-se ao Amazon S3 para obter sua base de conhecimento
<a name="s3-data-source-connector"></a>

O Amazon S3 é um serviço de armazenamento de objetos que armazena dados como objetos em buckets. [Você pode se conectar ao bucket do Amazon S3 para sua base de conhecimento do Amazon Bedrock usando o console de [AWSgerenciamento do Amazon Bedrock ou a API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)(consulte Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) suportado e). SDKs AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)

**Suporte de conteúdo multimodal**  
As fontes de dados do Amazon S3 oferecem suporte a conteúdo multimodal, incluindo arquivos de imagens, áudio e vídeo. Para obter uma orientação abrangente sobre como trabalhar com conteúdo multimodal, consulte. [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md)

É possível carregar um pequeno lote de arquivos em um bucket do Amazon S3 usando o console ou a API do Amazon S3. Como alternativa, você pode usar [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html)para carregar vários arquivos para o S3 continuamente e transferir arquivos de forma agendada do local, da borda, de outra nuvem ou AWS do armazenamento.

No momento, somente buckets do S3 de uso geral são compatíveis.

Há limites para quantos arquivos e MB por arquivo podem ser rastreados. Consulte [Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Recursos compatíveis](#supported-features-s3-connector)
+ [Pré-requisitos](#prerequisites-s3-connector)
+ [Configuração de conexão](#configuration-s3-connector)

## Recursos compatíveis
<a name="supported-features-s3-connector"></a>
+ Campos de metadados do documento
+ Prefixos de inclusão
+ Sincronizações de conteúdo incrementais para conteúdo adicionado, atualizado e excluído

## Pré-requisitos
<a name="prerequisites-s3-connector"></a>

**No Amazon S3, verifique se**:
+ Anote o URI do bucket do Amazon S3, o nome do recurso da Amazon (ARN) e o ID da conta da AWS do proprietário do bucket. É possível encontrar o URI e o ARN na seção de propriedades no console do Amazon S3. O bucket deve estar na mesma região que a base de conhecimento do Amazon Bedrock. Você deve ter permissão para acessar o bucket.

**Em sua AWS conta, certifique-se de**:
+ Inclua as permissões necessárias para se conectar à sua fonte de dados na role/permissions política AWS Identity and Access Management (IAM) da sua base de conhecimento. Para obter informações sobre as permissões necessárias para que essa fonte de dados seja adicionada à sua IAM função na base de conhecimento, consulte [Permissões para acessar fontes de dados](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Se você usa o console, a IAM função com todas as permissões necessárias pode ser criada para você como parte das etapas para criar uma base de conhecimento. Depois que você tiver definido a fonte de dados e as outras configurações, o perfil do IAM com todas as permissões necessárias será aplicado à base de conhecimento específica.

## Configuração de conexão
<a name="configuration-s3-connector"></a>

Para conectar-se ao bucket do Amazon S3, forneça as informações de configuração necessárias para que o Amazon Bedrock possa acessar e rastrear os dados. Você também deve seguir os [Pré-requisitos](#prerequisites-s3-connector).

Um exemplo de configuração dessa fonte de dados está incluído nesta seção.

Para ter mais informações sobre filtros de inclusão, campos de metadados de documentos, sincronização incremental e como eles funcionam, selecione o seguinte:

### Campos de metadados do documento
<a name="ds-s3-metadata-fields"></a>

Você pode incluir um arquivo separado que especifica os metadados do documento fields/attributes para cada arquivo na sua fonte de dados do Amazon S3 e se deve incluí-los nas incorporações ao indexar a fonte de dados no armazenamento vetorial. Por exemplo, você pode criar um arquivo no formato a seguir, nomeá-lo *fileName.extension.metadata.json* e carregá-lo em seu bucket do S3.

```
{
  "metadataAttributes": {
    "company": {
      "value": {
        "type": "STRING",
        "stringValue": "BioPharm Innovations"
      },
      "includeForEmbedding": true
    },
    "created_date": {
      "value": {
        "type": "NUMBER",
        "numberValue": 20221205
      },
      "includeForEmbedding": true
    },
    "author": {
      "value": {
        "type": "STRING",
        "stringValue": "Lisa Thompson"
      },
      "includeForEmbedding": true
    },
    "origin": {
      "value": {
        "type": "STRING",
        "stringValue": "Overview"
      },
      "includeForEmbedding": true
    }
  }
}
```

O arquivo de metadados deve usar o mesmo nome do arquivo de documento original associado, com `.metadata.json` acrescentado ao final do nome do arquivo. O arquivo de metadados deve ser armazenado na mesma pasta ou local que o arquivo de origem no bucket do Amazon S3. O arquivo não deve exceder o limite de 10 KB. Para obter informações sobre os tipos de attribute/field dados suportados e os operadores de filtragem que você pode aplicar aos seus campos de metadados, consulte [Metadados](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html) e filtragem.

### Prefixos de inclusão
<a name="ds-s3-inclusion-exclusion"></a>

Você pode especificar um prefixo de inclusão, que é um prefixo de caminho do Amazon S3, onde é possível usar um arquivo ou uma pasta do S3 em vez do bucket inteiro para criar o conector da fonte de dados do S3.

### Sincronização incremental
<a name="ds-s3-incremental-sync"></a>

O conector da fonte de dados rastreia conteúdo novo, modificado e excluído sempre que sua fonte de dados é sincronizada com sua base de conhecimento. Amazon Bedrockpode usar o mecanismo da sua fonte de dados para rastrear alterações no conteúdo e rastrear o conteúdo que foi alterado desde a última sincronização. Ao sincronizar a fonte de dados com a base de conhecimento pela primeira vez, todo o conteúdo é rastreado por padrão.

Para sincronizar sua fonte de dados com sua base de conhecimento, use a [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)API ou selecione sua base de conhecimento no console e selecione **Sincronizar** na seção de visão geral da fonte de dados.

**Importante**  
Todos os dados que você sincroniza na fonte de dados ficam disponíveis para qualquer pessoa com permissões `bedrock:Retrieve` para recuperá-los. Isso também pode incluir quaisquer dados com permissões de fonte de dados controladas. Para obter mais informações, consulte [Knowledge base permissions](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

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

**Como conectar um bucket do Amazon S3 à base de conhecimento**

1. Siga as etapas em [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e escolha o **Amazon S3** como fonte de dados.

1. Forneça um nome para a fonte de dados.

1. Especifique se o bucket do Amazon S3 está na sua AWS conta corrente ou em outra AWS conta. O bucket deve estar na mesma região que a base de conhecimento.

1. (Opcional) Se o bucket do Amazon S3 estiver criptografado com uma chave do KMS, inclua a chave. Para obter mais informações, consulte [Permissões para descriptografar sua AWS KMS chave para suas fontes de dados no Amazon S3](encryption-kb.md#encryption-kb-ds).

1. (Opcional) Na seção **Análise e fragmentação de conteúdo**, você pode personalizar a forma de analisar e fragmentar seus dados. Consulte os seguintes recursos para saber mais sobre essas personalizações:
   + Para ter mais informações sobre as opções de análise, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).
   + Para ter mais informações sobre fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).
**Atenção**  
Não será possível alterar a estratégia de fragmentação após a conexão da fonte de dados.
   + Para ter mais informações sobre como personalizar a fragmentação de dados e o processamento de metadados com uma função do Lambda, consulte [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md).

1. Na seção **Configurações avançadas**, você pode, opcionalmente, configurar o seguinte:
   + **Chave do KMS para armazenamento de dados temporário.** — Você pode criptografar os dados transitórios enquanto converte seus dados em incorporações com a chave padrão Chave gerenciada pela AWS ou sua própria chave KMS. Para obter mais informações, consulte [Criptografia de armazenamento de dados temporário durante a ingestão de dados](encryption-kb.md#encryption-kb-ingestion).
   + **Política de exclusão de dados**: você pode excluir as incorporações de vetores da sua fonte de dados que estão armazenadas no armazenamento de vetores por padrão ou optar por reter os dados do armazenamento de vetores.

1. Continue escolhendo um modelo de incorporação e um armazenamento de vetores. Para ver as etapas restantes, retorne a [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e continue após a etapa de conexão da fonte de dados.

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

Veja um exemplo de uma configuração para conexão ao Amazon S3 para a base de conhecimento do Amazon Bedrock. Você configura sua fonte de dados usando a API com o SDK compatível AWS CLI ou compatível, como Python. Depois de ligar [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), você liga [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)para criar sua fonte de dados com suas informações de conexão`dataSourceConfiguration`.

Para saber mais sobre personalizações que você pode aplicar à ingestão incluindo o campo opcional `vectorIngestionConfiguration`, consulte [Personalizar a ingestão para uma fonte de dados](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock-agent create-data-source \
 --name "S3-connector" \
 --description "S3 data source connector for Amazon Bedrock to use content in S3" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://s3-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":{"maxTokens":100,"overlapPercentage":10}}}'
                    
s3-bedrock-connector-configuration.json
{
    "s3Configuration": {
	    "bucketArn": "arn:aws:s3:::bucket-name",
	    "bucketOwnerAccountId": "000000000000",
	    "inclusionPrefixes": [
	        "documents/"
	    ]
    },
    "type": "S3"	
}
```

------

# Conecte-se ao Confluence para obter sua base de conhecimento
<a name="confluence-data-source-connector"></a>

O Confluence da Atlassian é uma ferramenta colaborativa de gerenciamento de trabalho projetada para compartilhar, armazenar e trabalhar no planejamento de projetos, no desenvolvimento de software e no gerenciamento de produtos. É possível conectar-se à instância do Confluence de sua base de conhecimento do Amazon Bedrock usando o [Console de Gerenciamento da AWS para o Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou a API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consulte os [SDKs compatíveis com o Amazon Bedrock e a AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)).

**nota**  
O conector de fonte de dados do Confluence está em versão de prévia e está sujeito a alterações.  
As fontes de dados do Confluence não aceitam dados multimodais, como tabelas, gráficos, diagramas ou outras imagens.

O Amazon Bedrock é compatível com a conexão com instâncias do Confluence Cloud. No momento, somente o armazenamento de vetores do Amazon OpenSearch Sem Servidor está disponível para uso com essa fonte de dados.

Há limites para quantos arquivos e MB por arquivo podem ser rastreados. Consulte [Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Recursos compatíveis](#supported-features-confluence-connector)
+ [Pré-requisitos](#prerequisites-confluence-connector)
+ [Configuração de conexão](#configuration-confluence-connector)

## Recursos compatíveis
<a name="supported-features-confluence-connector"></a>
+ Detecção automática dos campos de documento principais
+ Filtros de conteúdo de inclusão/exclusão
+ Sincronizações de conteúdo incrementais para conteúdo adicionado, atualizado e excluído
+ Autenticação OAuth 2.0, autenticação com token da API Confluence

## Pré-requisitos
<a name="prerequisites-confluence-connector"></a>

**No Confluence, verifique se você tem**:
+ Anote o URL da instância do Confluence. Por exemplo, para o Confluence Cloud, *https://example.atlassian.net*. O URL do Confluence Cloud deve ser o URL base, terminando com *.atlassian.net*.
+ Configure as credenciais básicas de autenticação contendo um nome de usuário (e-mail da conta de administrador) e senha (token da API do Confluence) para permitir que o Amazon Bedrock se conecte à instância do Confluence Cloud. Para obter informações sobre como criar um token da API Confluence, consulte [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token) no site da Atlassian.
+ (Opcional) Configure uma aplicação OAuth 2.0 com credenciais de uma chave da aplicação, um segredo da aplicação, um token de acesso e um token de atualização. Para obter mais informações, consulte [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/) no site da Atlassian.
+ Determinadas permissões ou escopos de leitura devem estar habilitados para que a aplicação OAuth 2.0 se conecte ao Confluence.

  API do Confluence:
  + offline\$1access
  + read:content:confluence: visualizar conteúdos detalhados. 
  + read:content-details:confluence: visualizar detalhes do conteúdo. 
  + read:space-details:confluence: visualizar detalhes do espaço.
  + read:audit-log:confluence: visualizar registros de auditoria. 
  + read:page:confluence: visualizar páginas. 
  + read:attachment:confluence: visualizar e baixar anexos de conteúdo. 
  + read:blogpost:confluence: visualizar publicações de blog. 
  + read:custom-content:confluence: visualizar conteúdo personalizado. 
  + read:comment:confluence: visualizar comentários. 
  + read:template:confluence: visualizar modelos de conteúdo. 
  + read:label:confluence: visualizar rótulos. 
  + read:watcher:confluence: visualizar monitoradores de conteúdo. 
  + read:relation:confluence: visualizar relações entre entidades. 
  + read:user:confluence: visualizar detalhes do usuário. 
  + read:configuration:confluence: visualizar configurações do Confluence. 
  + read:space:confluence: visualizar detalhes do espaço. 
  + read:space.property:confluence: visualizar propriedades do espaço. 
  + read:user.property:confluence: visualizar propriedades do usuário. 
  + read:space.setting:confluence: visualizar configurações do espaço. 
  + read:analytics.content:confluence: visualizar analytics de conteúdo.
  + read:content.property:confluence: visualizar propriedades do conteúdo.
  + read:content.metadata:confluence: visualizar resumos de conteúdo. 
  + read:inlinetask:confluence: visualizar tarefas. 
  + read:task:confluence: visualizar tarefas. 
  + read:whiteboard:confluence: visualizar quadros brancos. 
  + read:app-data:confluence: ler dados da aplicação. 
  + read:folder:confluence: visualizar pastas
  + read:embed:confluence: visualizar dados do Smart Link.

**Na conta da AWS, não se esqueça de**:
+ Armazenar as credenciais de autenticação em um [segredo do AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) e anotar o nome do recurso da Amazon (ARN) do segredo. Seguir as instruções de **Configuração da conexão** nesta página para incluir os pares de chave-valor que devem ser incluídos no segredo.
+ Incluir as permissões necessárias para se conectar à fonte de dados na política de perfil/permissões do AWS Identity and Access Management (IAM) da base de conhecimento. Para obter informações sobre as permissões necessárias para que essa fonte de dados seja adicionada ao perfil do IAM da base de conhecimento, consulte [Permissions to access data sources](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Se usar o console, você poderá ir ao AWS Secrets Manager para adicionar o segredo ou usar um segredo existente como parte da etapa de configuração da fonte de dados. O perfil do IAM com todas as permissões necessárias pode ser criado para você como parte das etapas do console para criação de uma base de conhecimento. Depois que você tiver definido a fonte de dados e as outras configurações, o perfil do IAM com todas as permissões necessárias será aplicado à base de conhecimento específica.  
É recomendável atualizar ou alternar regularmente suas credenciais e senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não é recomendável reutilizar credenciais e senhas em fontes de dados.

## Configuração de conexão
<a name="configuration-confluence-connector"></a>

Para conectar-se à instância do Confluence, forneça as informações de configuração necessárias para que o Amazon Bedrock possa acessar e rastrear seus dados. Você também deve seguir os [Pré-requisitos](#prerequisites-confluence-connector).

Um exemplo de configuração dessa fonte de dados está incluído nesta seção.

Para obter mais informações sobre a detecção automática dos campos de documento, filtros de inclusão/exclusão, sincronização incremental, credenciais de autenticação de segredos e como eles funcionam, selecione o seguinte:

### Detecção automática dos campos de documento principais
<a name="ds-confluence-document-fields"></a>

O conector da fonte de dados detecta e rastreia automaticamente todos os campos de metadados principais dos documentos ou do conteúdo. Por exemplo, o conector da fonte de dados pode rastrear o corpo do documento equivalente aos documentos, o título do documento, a data de criação ou de modificação do documento ou outros campos principais que possam ser aplicados aos documentos.

**Importante**  
Se o conteúdo incluir informações confidenciais, o Amazon Bedrock poderá responder usando informações confidenciais.

Você pode aplicar operadores de filtragem aos campos de metadados para ajudar a aumentar ainda mais a relevância das respostas. Por exemplo, o documento “epoch\$1modification\$1time” ou o número de segundos transcorridos desde 1.º de janeiro de 1970, quando o documento foi atualizado pela última vez. Você pode filtrar os dados mais recentes, em que “epoch\$1modification\$1time” *é maior que* um determinado número. Para obter mais informações sobre os operadores de filtragem que podem ser aplicados aos campos de metadados, consulte [Metadados e filtragem](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtros de inclusão/exclusão
<a name="ds-confluence-inclusion-exclusion"></a>

É possível incluir ou excluir o crawling de determinado conteúdo. Por exemplo, é possível especificar um prefixo/padrão de expressão regular para ignorar o crawling de qualquer arquivo que contenha “privado” no nome do arquivo. Também é possível especificar um prefixo de inclusão/padrão de expressão regular para incluir determinadas entidades de conteúdo ou tipos de conteúdo. Se você especificar um filtro de inclusão e de exclusão e ambos corresponderem a um documento, o filtro de exclusão terá precedência e o documento não será rastreado.

Um exemplo de um padrão de expressão regular para excluir ou filtrar arquivos PDF que contêm “privado” no nome do arquivo: *“.\$1private.\$1\$1\$1.pdf”*

É possível aplicar filtros de inclusão/exclusão nos seguintes tipos de conteúdo:
+ `Space`: chave de espaço exclusiva
+ `Page`: título da página principal
+ `Blog`: título do blog principal
+ `Comment`: comentários que pertencem a uma determinada página ou blog. Especificar *Re: Título da página/blog*
+ `Attachment`: nome do arquivo anexado com sua extensão

### Sincronização incremental
<a name="ds-confluence-incremental-sync"></a>

O conector da fonte de dados rastreia conteúdo novo, modificado e excluído sempre que a fonte de dados for sincronizada com a base de conhecimento. O Amazon Bedrock pode usar o mecanismo de fonte de dados para rastrear alterações no conteúdo e o conteúdo que foi alterado desde a última sincronização. Ao sincronizar a fonte de dados com a base de conhecimento pela primeira vez, todo o conteúdo é rastreado por padrão.

Para sincronizar a fonte de dados com a base de conhecimento, use a API [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) ou selecione a base de conhecimento no console e escolha **Sincronizar** na seção de visão geral da fonte de dados.

**Importante**  
Todos os dados que você sincroniza na fonte de dados ficam disponíveis para qualquer pessoa com permissões `bedrock:Retrieve` para recuperá-los. Isso também pode incluir quaisquer dados com permissões de fonte de dados controladas. Para obter mais informações, consulte [Knowledge base permissions](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Credenciais de autenticação secreta
<a name="ds-confluence-secret-auth-credentials"></a>

(Se estiver usando autenticação básica) Suas credenciais de autenticação secreta do AWS Secrets Manager devem incluir esses pares de chave-valor:
+ `username`: *endereço de e-mail do usuário administrador da conta da Atlassian*
+ `password`: *token da API Confluence*

(Se estiver usando a autenticação OAuth 2.0) Suas credenciais de autenticação secreta do AWS Secrets Manager devem incluir esses pares de chave-valor:
+ `confluenceAppKey`: *chave da aplicação*
+ `confluenceAppSecret`: *segredo da aplicação*
+ `confluenceAccessToken`: *token de acesso da aplicação*
+ `confluenceRefreshToken`: *token de atualização da aplicação*

**nota**  
O token de **acesso** do Confluence OAuth2.0 tem um prazo de expiração padrão de 60 minutos. Se esse token expirar enquanto a fonte de dados estiver em sincronização (trabalho de sincronização), o Amazon Bedrock usará o token de **atualização** fornecido para regenerar esse token. Essa regeneração atualiza os tokens de acesso e de atualização. Para manter os tokens atualizados do trabalho de sincronização atual até o próximo trabalho de sincronização, o Amazon Bedrock exige permissões de gravação/colocação para suas credenciais secretas como parte do perfil do IAM da sua base de conhecimento.

**nota**  
O segredo no AWS Secrets Manager deve usar a mesma região da base de conhecimento.

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

**Conectar uma instância do Confluence à base de conhecimento**

1. Siga as etapas em [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e escolha o **Confluence** como fonte de dados.

1. Forneça um nome e uma descrição opcional para a fonte de dados.

1. Forneça o URL da instância do Confluence. Por exemplo, para o Confluence Cloud, *https://example.atlassian.net*. O URL do Confluence Cloud deve ser o URL base, terminando com *.atlassian.net*.

1. Na seção **Configurações avançadas**, você pode, opcionalmente, configurar o seguinte:
   + **Chave do KMS para armazenamento de dados temporário.** – Você pode criptografar os dados temporários enquanto converte seus dados em incorporações com a Chave gerenciada pela AWS padrão ou sua própria chave do KMS. Para obter mais informações, consulte [Criptografia de armazenamento de dados temporário durante a ingestão de dados](encryption-kb.md#encryption-kb-ingestion).
   + **Política de exclusão de dados**: você pode excluir as incorporações de vetores da sua fonte de dados que estão armazenadas no armazenamento de vetores por padrão ou optar por reter os dados do armazenamento de vetores.

1. Forneça as informações de autenticação para conectar-se à instância do Confluence:
   + Para autenticação básica, acesse o AWS Secrets Manager para adicionar suas credenciais de autenticação secreta ou usar um nome do recurso da Amazon (ARN) existente para o segredo criado. O segredo deve conter o endereço de e-mail do usuário administrador da conta da Atlassian como o nome de usuário e um token da API Confluence no lugar de uma senha. Para obter informações sobre como criar um token da API Confluence, consulte [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token) no site da Atlassian.
   + Para autenticação OAuth 2.0, acesse o AWS Secrets Manager para adicionar as credenciais de autenticação secreta ou usar um nome do recurso da Amazon (ARN) existente para o segredo criado. O segredo deve conter a chave da aplicação Confluence, o segredo da aplicação, o token de acesso e o token de atualização. Para obter mais informações, consulte [OAuth 2.0 apps](https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/) no site da Atlassian.

1. (Opcional) Na seção **Análise e fragmentação de conteúdo**, você pode personalizar a forma de analisar e fragmentar seus dados. Consulte os seguintes recursos para saber mais sobre essas personalizações:
   + Para ter mais informações sobre as opções de análise, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).
   + Para ter mais informações sobre fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).
**Atenção**  
Não será possível alterar a estratégia de fragmentação após a conexão da fonte de dados.
   + Para ter mais informações sobre como personalizar a fragmentação de dados e o processamento de metadados com uma função do Lambda, consulte [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md).

1. Opte por usar filtros/padrões de expressões normais para incluir ou excluir determinado conteúdo. Caso contrário, todo o conteúdo padrão será rastreado.

1. Continue escolhendo um modelo de incorporação e um armazenamento de vetores. Para ver as etapas restantes, retorne a [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e continue após a etapa de conexão da fonte de dados.

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

Veja um exemplo de uma configuração para conexão ao Confluence Cloud da base de conhecimento do Amazon Bedrock. Você configura a fonte de dados usando a API com a AWS CLI ou o SDK compatível, como o Python. Depois de chamar [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), você chama [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) para criar a fonte de dados com suas informações de conexão em `dataSourceConfiguration`.

Para saber mais sobre personalizações que você pode aplicar à ingestão incluindo o campo opcional `vectorIngestionConfiguration`, consulte [Personalizar a ingestão para uma fonte de dados](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Confluence Cloud/SaaS connector" \
 --description "Confluence Cloud/SaaS data source connector for Amazon Bedrock to use content in Confluence" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://confluence-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

confluence-bedrock-connector-configuration.json
{
    "confluenceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://example.atlassian.net",
            "hostType": "SAAS",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Confluence"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Attachment",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "CONFLUENCE"
}
```

------

# Conecte-se à Microsoft SharePoint para obter sua base de conhecimento
<a name="sharepoint-data-source-connector"></a>

A Microsoft SharePoint é um serviço colaborativo baseado na Web para trabalhar em documentos, páginas da Web, sites, listas e muito mais. Você pode se conectar à sua SharePoint instância para sua base de conhecimento do Amazon Bedrock usando o [console de AWS gerenciamento do Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou a [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)API (consulte Amazon Bedrock [suportado SDKs ](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) e). AWS CLI

**nota**  
SharePoint o conector da fonte de dados está na versão prévia e está sujeito a alterações.  
As fontes SharePoint de dados da Microsoft não oferecem suporte a dados multimodais, como tabelas, gráficos, diagramas ou outras imagens.

O Amazon Bedrock oferece suporte à conexão com instâncias SharePoint on-line. Atualmente, o rastreamento de OneNote documentos não é suportado. Atualmente, somente o armazenamento vetorial Amazon OpenSearch Serverless está disponível para uso com essa fonte de dados.

Há limites para quantos arquivos e MB por arquivo podem ser rastreados. Consulte [Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Recursos compatíveis](#supported-features-sharepoint-connector)
+ [Pré-requisitos](#prerequisites-sharepoint-connector)
+ [Configuração de conexão](#configuration-sharepoint-connector)

## Recursos compatíveis
<a name="supported-features-sharepoint-connector"></a>
+ Detecção automática dos campos de documento principais
+ Filtros de conteúdo de inclusão/exclusão
+ Sincronizações de conteúdo incrementais para conteúdo adicionado, atualizado e excluído
+ SharePoint Autenticação somente por aplicativo

## Pré-requisitos
<a name="prerequisites-sharepoint-connector"></a>

### SharePoint (On-line)
<a name="prerequisites-sharepoint-connector-online"></a>

**Em seu SharePoint (Online), conclua as seguintes etapas para usar a autenticação SharePoint somente de aplicativos:**
+ Anote o URL URLs do seu site SharePoint online/. Por exemplo, .*https://yourdomain.sharepoint.com/sites/mysite* O URL deve começar com *https* e conter *sharepoint.com*. O URL do seu site deve ser o SharePoint site real, não *sharepoint.com/* ou *sites/mysite/home.aspx*
+ Anote o nome de domínio da URL URLs da sua instância SharePoint Online/.
+ Copie o ID de locatário do Microsoft 365. Encontre o ID de locatário em “Properties” no portal do Microsoft Entra. Consulte mais detalhes em [Find your Microsoft 365 tenant ID](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id).
**nota**  
Para ver uma aplicação de exemplo, consulte [Register a client application in Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anteriormente conhecido como Azure Active Directory) no site do Microsoft Learn. 
+ Configure SharePoint credenciais somente para aplicativos.
+ Copie o ID do cliente e o valor secreto do cliente ao conceder permissão ao SharePoint App-Only. Para obter mais informações, consulte [Conceder acesso usando somente SharePoint aplicativos](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs).
**nota**  
Você não precisa configurar nenhuma permissão de API para SharePoint App-Only. No entanto, você deve configurar as permissões do APP na SharePoint lateral. Para obter mais informações sobre as permissões de APP necessárias, consulte a documentação da Microsoft sobre como [conceder acesso usando somente SharePoint aplicativos](https://learn.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs).

### Conta da AWS
<a name="prerequisites-sharepoint-connector-account"></a>

**Em sua AWS conta, certifique-se de**:
+ Armazenar as credenciais de autenticação em um [segredo do AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) e anotar o nome do recurso da Amazon (ARN) do segredo. Seguir as instruções de **Configuração da conexão** nesta página para incluir os pares de chave-valor que devem ser incluídos no segredo.
+ Inclua as permissões necessárias para se conectar à sua fonte de dados na role/permissions política AWS Identity and Access Management (IAM) da sua base de conhecimento. Para obter informações sobre as permissões necessárias para que essa fonte de dados seja adicionada à sua IAM função na base de conhecimento, consulte [Permissões para acessar fontes de dados](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Se você usa o console, pode adicionar seu segredo ou usar um segredo existente como parte da etapa de configuração da fonte de dados. AWS Secrets Manager A IAM função com todas as permissões necessárias pode ser criada para você como parte das etapas do console para criar uma base de conhecimento. Depois de configurar sua fonte de dados e outras configurações, a IAM função com todas as permissões necessárias é aplicada à sua base de conhecimento específica.  
É recomendável atualizar ou alternar regularmente suas credenciais e senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não é recomendável reutilizar credenciais e senhas em fontes de dados.

## Configuração de conexão
<a name="configuration-sharepoint-connector"></a>

Para se conectar à sua SharePoint instância, você deve fornecer as informações de configuração necessárias para que o Amazon Bedrock possa acessar e rastrear seus dados. Você também deve seguir os [Pré-requisitos](#prerequisites-sharepoint-connector).

Um exemplo de configuração dessa fonte de dados está incluído nesta seção.

Para obter mais informações sobre a detecção automática dos campos de documento, filtros de inclusão/exclusão, sincronização incremental, credenciais de autenticação de segredos e como eles funcionam, selecione o seguinte:

### Detecção automática dos campos de documento principais
<a name="ds-sharepoint-document-fields"></a>

O conector da fonte de dados detecta e rastreia automaticamente todos os campos de metadados principais dos documentos ou do conteúdo. Por exemplo, o conector da fonte de dados pode rastrear o corpo do documento equivalente aos documentos, o título do documento, a data de criação ou de modificação do documento ou outros campos principais que possam ser aplicados aos documentos.

**Importante**  
Se o seu conteúdo incluir informações confidenciais, Amazon Bedrock poderá responder usando informações confidenciais.

Você pode aplicar operadores de filtragem aos campos de metadados para ajudar a aumentar ainda mais a relevância das respostas. Por exemplo, o documento “epoch\$1modification\$1time” ou o número de segundos transcorridos desde 1.º de janeiro de 1970, quando o documento foi atualizado pela última vez. Você pode filtrar os dados mais recentes, em que “epoch\$1modification\$1time” *é maior que* um determinado número. Para obter mais informações sobre os operadores de filtragem que podem ser aplicados aos campos de metadados, consulte [Metadados e filtragem](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtros de inclusão/exclusão
<a name="ds-sharepoint-inclusion-exclusion"></a>

É possível incluir ou excluir o crawling de determinado conteúdo. Por exemplo, você pode especificar um padrão de prefix/regular expressão de exclusão para ignorar o rastreamento de qualquer arquivo que contenha “privado” no nome do arquivo. Você também pode especificar um padrão de prefix/regular expressão de inclusão para incluir determinadas entidades de conteúdo ou tipos de conteúdo. Se você especificar um filtro de inclusão e de exclusão e ambos corresponderem a um documento, o filtro de exclusão terá precedência e o documento não será rastreado.

Um exemplo de um padrão de expressão regular para excluir ou filtrar arquivos PDF que contêm “privado” no nome do arquivo: *“.\$1private.\$1\$1\$1.pdf”*

Você pode aplicar inclusion/exclusion filtros nos seguintes tipos de conteúdo:
+ `Page`: título da página principal
+ `Event`: nome do evento
+ `File`: nome do arquivo com a extensão para anexos e todos os arquivos de documento

Atualmente, o rastreamento de OneNote documentos não é suportado.

### Sincronização incremental
<a name="ds-sharepoint-incremental-sync"></a>

O conector da fonte de dados rastreia conteúdo novo, modificado e excluído sempre que sua fonte de dados é sincronizada com sua base de conhecimento. Amazon Bedrock pode usar o mecanismo da sua fonte de dados para rastrear alterações no conteúdo e rastrear o conteúdo que foi alterado desde a última sincronização. Ao sincronizar a fonte de dados com a base de conhecimento pela primeira vez, todo o conteúdo é rastreado por padrão.

Para sincronizar sua fonte de dados com sua base de conhecimento, use a [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)API ou selecione sua base de conhecimento no console e selecione **Sincronizar** na seção de visão geral da fonte de dados.

**Importante**  
Todos os dados que você sincroniza na fonte de dados ficam disponíveis para qualquer pessoa com permissões `bedrock:Retrieve` para recuperá-los. Isso também pode incluir quaisquer dados com permissões de fonte de dados controladas. Para obter mais informações, consulte [Knowledge base permissions](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Credenciais de autenticação secreta
<a name="ds-sharepoint-secret-auth-credentials"></a>

Ao usar a autenticação SharePoint somente de aplicativos, suas credenciais de autenticação secreta AWS Secrets Manager devem incluir esses pares de valores-chave:
+ `clientId`: *client ID associated with your Microsoft Entra SharePoint application*
+ `clientSecret`: *client secret associated with your Microsoft Entra SharePoint application*
+ `sharePointClientId`: *client ID generated when registering your SharePoint app for App-Only authentication*
+ `sharePointClientSecret`: *client secret generated when registering your SharePoint app for App-Only authentication*

**nota**  
Seu segredo AWS Secrets Manager deve usar a mesma região da sua base de conhecimento.

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

**Conecte uma SharePoint instância à sua base de conhecimento**<a name="connect-sharepoint-console"></a>

1. Siga as etapas em [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e escolha **SharePoint**como fonte de dados.

1. Forneça um nome e uma descrição opcional para a fonte de dados.

1. Forneça o URL SharePoint do seu site/URLs. Por exemplo, para SharePoint Online,*https://yourdomain.sharepoint.com/sites/mysite*. O URL deve começar com *https* e conter *sharepoint.com*. O URL do seu site deve ser o SharePoint site real, não *sharepoint.com/* ou *sites/mysite/home.aspx*

1. Forneça o nome de domínio da sua SharePoint instância.

1. Na seção **Configurações avançadas**, você pode, opcionalmente, configurar o seguinte:
   + **Chave do KMS para armazenamento de dados temporário.** — Você pode criptografar os dados transitórios enquanto converte seus dados em incorporações com a chave padrão Chave gerenciada pela AWS ou sua própria chave KMS. Para obter mais informações, consulte [Criptografia de armazenamento de dados temporário durante a ingestão de dados](encryption-kb.md#encryption-kb-ingestion).
   + **Política de exclusão de dados**: você pode excluir as incorporações de vetores da sua fonte de dados que estão armazenadas no armazenamento de vetores por padrão ou optar por reter os dados do armazenamento de vetores.

1. Forneça as informações de autenticação para se conectar à sua SharePoint instância. Para autenticação SharePoint somente de aplicativos:

   1. Forneça o ID de locatário. É possível encontrar o ID de locatário nas propriedades do portal do Azure Active Directory.

   1. Acesse AWS Secrets Manager para adicionar suas credenciais secretas ou usar um Amazon Resource Name (ARN) existente para o segredo que você criou. Seu segredo deve conter o ID do SharePoint cliente e o segredo do SharePoint cliente gerados quando você registrou o App-Only no nível do locatário ou do site, e o ID do cliente Entra e o segredo do cliente Entra gerados quando você registra o aplicativo no Entra.

1. (Opcional) Na seção **Análise e fragmentação de conteúdo**, você pode personalizar a forma de analisar e fragmentar seus dados. Consulte os seguintes recursos para saber mais sobre essas personalizações:
   + Para ter mais informações sobre as opções de análise, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).
   + Para ter mais informações sobre fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).
**Atenção**  
Não será possível alterar a estratégia de fragmentação após a conexão da fonte de dados.
   + Para ter mais informações sobre como personalizar a fragmentação de dados e o processamento de metadados com uma função do Lambda, consulte [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md).

1. Escolha usar padrões de filters/regular expressões para incluir ou excluir determinados conteúdos. Caso contrário, todo o conteúdo padrão será rastreado.

1. Continue escolhendo um modelo de incorporação e um armazenamento de vetores. Para ver as etapas restantes, retorne a [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e continue após a etapa de conexão da fonte de dados.

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

A seguir está um exemplo de uma configuração para se conectar ao SharePoint Online para sua base de conhecimento do Amazon Bedrock. Você configura sua fonte de dados usando a API com o SDK compatível AWS CLI ou compatível, como Python. Depois de ligar [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), você liga [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)para criar sua fonte de dados com suas informações de conexão`dataSourceConfiguration`.

Para saber mais sobre personalizações que você pode aplicar à ingestão incluindo o campo opcional `vectorIngestionConfiguration`, consulte [Personalizar a ingestão para uma fonte de dados](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock-agent create-data-source \
 --name "SharePoint Online connector" \
 --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE"
```

**Conteúdo de `sharepoint-bedrock-connector-configuration.json`**

```
{
    "sharePointConfiguration": {
        "sourceConfiguration": {
            "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
            "hostType": "ONLINE",
            "domain": "yourdomain",
            "siteUrls": [
                "https://yourdomain.sharepoint.com/sites/mysite"
            ],
            "authType": "OAUTH2_SHAREPOINT_APP_ONLY_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "File",
                            "inclusionFilters": [
                                ".*\\.pdf"
                            ],
                            "exclusionFilters": [
                                ".*private.*\\.pdf"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SHAREPOINT"
}
```

------

**Importante**  
A autenticação OAuth2 4.0 não é recomendada. Recomendamos que você use a autenticação SharePoint somente de aplicativos.

## Usando 0 OAuth2.
<a name="sharepoint-connector-oauth"></a>

Usando OAuth 2.0, você pode autenticar e autorizar o acesso a SharePoint recursos para SharePoint conectores integrados às Bases de Conhecimento.

### Pré-requisitos
<a name="sharepoint-connector-oauth-prereq"></a>

**Em SharePoint, para autenticação OAuth 2.0, certifique-se de**:
+ Anote o URL URLs do seu site SharePoint online/. Por exemplo, .*https://yourdomain.sharepoint.com/sites/mysite* O URL deve começar com *https* e conter *sharepoint.com*. O URL do seu site deve ser o SharePoint site real, não *sharepoint.com/* ou *sites/mysite/home.aspx*
+ Anote o nome de domínio da URL URLs da sua instância SharePoint Online/.
+ Copie o ID de locatário do Microsoft 365. Você pode encontrar sua ID de locatário nas Propriedades do portal Microsoft Entra ou em seu OAuth aplicativo.

  Anote o nome de usuário e a senha da SharePoint conta de administrador e copie o ID do cliente e o valor secreto do cliente ao registrar um aplicativo.
**nota**  
Para ver uma aplicação de exemplo, consulte [Register a client application in Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anteriormente conhecido como Azure Active Directory) no site do Microsoft Learn. 
+ Certas permissões de leitura são necessárias para se conectar SharePoint ao registrar um aplicativo.
  + SharePoint: AllSites .Ler (delegado) — Leia itens em todos os conjuntos de sites
+ Talvez você precise desativar **Padrões de segurança** no portal do Azure usando um usuário administrador. Para obter mais informações sobre como gerenciar as configurações padrão de segurança no portal do Azure, consulte a [documentação da Microsoft sobre como usar padrões enable/disable de segurança](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1).
+ Talvez seja necessário desativar a autenticação multifator (MFA) em SharePoint sua conta, para que o Amazon Bedrock não seja impedido de rastrear seu conteúdo. SharePoint 

Para atender aos pré-requisitos, verifique se as etapas foram concluídas em [Conta da AWS](#prerequisites-sharepoint-connector-account).

### Credenciais de autenticação secreta
<a name="sharepoint-secret-auth-credentials-oauth"></a>

Para a configuração da conexão para OAuth2 .0, você pode executar as mesmas etapas para a detecção automática dos principais campos do documento, inclusion/exclusion filtros e sincronização incremental, conforme descrito em. [Configuração de conexão](#configuration-sharepoint-connector)

**Para a autenticação OAuth 2.0, suas credenciais de autenticação secreta AWS Secrets Manager devem incluir esses pares de valores-chave**.
+ `username`: *SharePoint admin username*
+ `password`: *SharePoint admin password*
+ `clientId`: *OAuth app client ID*
+ `clientSecret`: *OAuth app client secret*

### Conecte uma SharePoint instância à sua base de conhecimento
<a name="sharepoint-connector-oauth-using"></a>

Para conectar uma SharePoint instância à sua base de conhecimento ao usar OAuth2 .0:
+ (console) No console, siga as mesmas etapas descritas em [Conectar uma SharePoint instância à sua base de conhecimento](https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html#connect-sharepoint-console). Quando você quiser fornecer as informações de autenticação para se conectar à sua SharePoint instância.
  + Forneça o ID de locatário. É possível encontrar o ID de locatário nas propriedades do portal do Azure Active Directory.
  + Acesse AWS Secrets Manager para adicionar suas credenciais de autenticação secreta ou usar um Amazon Resource Name (ARN) existente para o segredo que você criou. Seu segredo deve conter o nome de usuário e a senha do SharePoint administrador, além do ID do cliente do aplicativo registrado e do segredo do cliente. Para ver uma aplicação de exemplo, consulte [Register a client application in Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application) (anteriormente conhecido como Azure Active Directory) no site do Microsoft Learn.
+ (API) Veja a seguir um exemplo de uso da `CreateDataSource` API para criar sua fonte de dados com suas informações de conexão para OAuth2 0,0.

  ```
  aws bedrock-agent create-data-source \
   --name "SharePoint Online connector" \
   --description "SharePoint Online data source connector for Amazon Bedrock to use content in SharePoint" \
   --knowledge-base-id "your-knowledge-base-id" \
   --data-source-configuration file://sharepoint-bedrock-connector-configuration.json \
   --data-deletion-policy "DELETE"
  ```

  **Conteúdo de `sharepoint-bedrock-connector-configuration.json`**

  ```
  {
      "sharePointConfiguration": {
          "sourceConfiguration": {
              "tenantId": "888d0b57-69f1-4fb8-957f-e1f0bedf64de",
              "hostType": "ONLINE",
              "domain": "yourdomain",
              "siteUrls": [
                  "https://yourdomain.sharepoint.com/sites/mysite"
              ],
              "authType": "OAUTH2_CLIENT_CREDENTIALS",
              "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-SharePoint"
          },
          "crawlerConfiguration": {
              "filterConfiguration": {
                  "type": "PATTERN",
                  "patternObjectFilter": {
                      "filters": [
                          {
                              "objectType": "File",
                              "inclusionFilters": [
                                  ".*\\.pdf"
                              ],
                              "exclusionFilters": [
                                  ".*private.*\\.pdf"
                              ]
                          }
                      ]
                  }
              }
          }
      },
      "type": "SHAREPOINT"
  }
  ```

# Conectar-se ao Salesforce para obter sua base de conhecimento
<a name="salesforce-data-source-connector"></a>

O Salesforce é uma ferramenta de gerenciamento de relacionamento com o cliente (CRM) para gerenciar equipes de suporte, vendas e marketing. Você pode se conectar à instância do Salesforce da base de conhecimento do Amazon Bedrock usando o [Console de Gerenciamento da AWS para o Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou a API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consulte os [SDKs compatíveis com o Amazon Bedrock e a AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)).

**nota**  
O conector de fonte de dados do Salesforce está em versão prévia e está sujeito a alterações.  
As fontes de dados do Salesforce não permitem dados multimodais, como tabelas, gráficos, diagramas ou outras imagens.

No momento, somente o armazenamento de vetores do Amazon OpenSearch Sem Servidor está disponível para uso com essa fonte de dados.

Há limites para quantos arquivos e MB por arquivo podem ser rastreados. Consulte [Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Recursos compatíveis](#supported-features-salesforce-connector)
+ [Pré-requisitos](#prerequisites-salesforce-connector)
+ [Configuração de conexão](#configuration-salesforce-connector)

## Recursos compatíveis
<a name="supported-features-salesforce-connector"></a>
+ Detecção automática dos campos de documento principais
+ Filtros de conteúdo de inclusão/exclusão
+ Sincronizações de conteúdo incrementais para conteúdo adicionado, atualizado e excluído
+ Autenticação OAuth 2.0:

## Pré-requisitos
<a name="prerequisites-salesforce-connector"></a>

**No Salesforce, não se esqueça de**:
+ Anotar o URL da instância do Salesforce. Por exemplo, *https://company.salesforce.com/*. A instância deve estar executando uma aplicação conectada ao Salesforce.
+ Crie uma aplicação conectada ao Salesforce e configure as credenciais do cliente. Em seguida, para a aplicação selecionada, copie a chave do consumidor (ID do cliente) e a senha do consumidor (senha do cliente) das configurações do OAuth. Para obter mais informações, consulte a documentação do Salesforce em [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) e [Configure a Connected App for the OAuth 2.0 Client Credentials](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5).
**nota**  
Para aplicações conectadas ao Salesforce, em Fluxo de credenciais do cliente, não se esqueça de pesquisar e selecionar o nome do usuário ou o alias das credenciais de cliente no campo “Executar como”.

**Na conta da AWS, não se esqueça de**:
+ Armazenar as credenciais de autenticação em um [segredo do AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) e anotar o nome do recurso da Amazon (ARN) do segredo. Seguir as instruções de **Configuração da conexão** nesta página para incluir os pares de chave-valor que devem ser incluídos no segredo.
+ Incluir as permissões necessárias para se conectar à fonte de dados na política de perfil/permissões do AWS Identity and Access Management (IAM) da base de conhecimento. Para obter informações sobre as permissões necessárias para que essa fonte de dados seja adicionada ao perfil do IAM da base de conhecimento, consulte [Permissions to access data sources](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html#kb-permissions-access-ds).

**nota**  
Se usar o console, você poderá ir ao AWS Secrets Manager para adicionar o segredo ou usar um segredo existente como parte da etapa de configuração da fonte de dados. O perfil do IAM com todas as permissões necessárias pode ser criado para você como parte das etapas do console para criação de uma base de conhecimento. Depois que você tiver definido a fonte de dados e as outras configurações, o perfil do IAM com todas as permissões necessárias será aplicado à base de conhecimento específica.  
É recomendável atualizar ou alternar regularmente suas credenciais e senhas. Forneça somente o nível de acesso necessário para sua própria segurança. Não é recomendável reutilizar credenciais e senhas em fontes de dados.

## Configuração de conexão
<a name="configuration-salesforce-connector"></a>

Para se conectar à instância do Salesforce, você deve fornecer as informações de configuração necessárias para que o Amazon Bedrock possa acessar e rastrear os dados. Você também deve seguir os [Pré-requisitos](#prerequisites-salesforce-connector).

Um exemplo de configuração dessa fonte de dados está incluído nesta seção.

Para obter mais informações sobre a detecção automática dos campos de documento, filtros de inclusão/exclusão, sincronização incremental, credenciais de autenticação de segredos e como eles funcionam, selecione o seguinte:

### Detecção automática dos campos de documento principais
<a name="ds-salesforce-document-fields"></a>

O conector da fonte de dados detecta e rastreia automaticamente todos os campos de metadados principais dos documentos ou do conteúdo. Por exemplo, o conector da fonte de dados pode rastrear o corpo do documento equivalente aos documentos, o título do documento, a data de criação ou de modificação do documento ou outros campos principais que possam ser aplicados aos documentos.

**Importante**  
Se o conteúdo incluir informações confidenciais, o Amazon Bedrock poderá responder usando informações confidenciais.

Você pode aplicar operadores de filtragem aos campos de metadados para ajudar a aumentar ainda mais a relevância das respostas. Por exemplo, o documento “epoch\$1modification\$1time” ou o número de segundos transcorridos desde 1.º de janeiro de 1970, quando o documento foi atualizado pela última vez. Você pode filtrar os dados mais recentes, em que “epoch\$1modification\$1time” *é maior que* um determinado número. Para obter mais informações sobre os operadores de filtragem que podem ser aplicados aos campos de metadados, consulte [Metadados e filtragem](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html).

### Filtros de inclusão/exclusão
<a name="ds-salesforce-inclusion-exclusion"></a>

É possível incluir ou excluir o crawling de determinado conteúdo. Por exemplo, é possível especificar um prefixo/padrão de expressão regular para ignorar o crawling de qualquer arquivo que contenha “privado” no nome do arquivo. Também é possível especificar um prefixo de inclusão/padrão de expressão regular para incluir determinadas entidades de conteúdo ou tipos de conteúdo. Se você especificar um filtro de inclusão e de exclusão e ambos corresponderem a um documento, o filtro de exclusão terá precedência e o documento não será rastreado.

Um exemplo de um padrão de expressão regular para excluir ou filtrar campanhas que contenham “private” no nome da campanha: *“.\$1private.\$1”*

É possível aplicar filtros de inclusão/exclusão nos seguintes tipos de conteúdo:
+ `Account`: número/identificador da conta
+ `Attachment`: nome do arquivo anexado com sua extensão
+ `Campaign`: nome da campanha e identificadores associados
+ `ContentVersion`: versão do documento e identificadores associados
+ `Partner`: campos de informações do parceiro, inclusive identificadores associados
+ `Pricebook2`: nome do produto/lista de preços
+ `Case`: número da consulta/problema do cliente e outros campos de informações, inclusive identificadores associados (observação: podem conter informações pessoais, que você pode optar por excluir ou filtrar).
+ `Contact`: campos de informações do cliente (observação: podem conter informações pessoais, que você pode optar por excluir ou filtrar).
+ `Contract`: nome do contrato e identificadores associados.
+ `Document`: nome do arquivo com a extensão.
+ `Idea`: campos de informações da ideia e identificadores associados.
+ `Lead`: novos campos de informações do cliente em potencial (observação: podem conter informações pessoais, que você pode optar por excluir ou filtrar).
+ `Opportunity`: campos de informações da venda/acordo pendentes e identificadores associados.
+ `Product2`: campos de informações do produto e identificadores associados.
+ `Solution`: nome da solução para uma consulta/problema do cliente e identificadores associados.
+ `Task`: campos de informações da tarefa e identificadores associados.
+ `FeedItem`: identificador da publicação do feed do chatter.
+ `FeedComment`: identificador da publicação do feed do chatter à qual os comentários pertencem.
+ `Knowledge__kav`: título do artigo de conhecimento.
+ `User`: alias do usuário dentro da organização.
+ `CollaborationGroup`: nome do grupo do chatter (exclusivo).

### Sincronização incremental
<a name="ds-salesforce-incremental-sync"></a>

O conector da fonte de dados rastreia conteúdo novo, modificado e excluído sempre que a fonte de dados for sincronizada com a base de conhecimento. O Amazon Bedrock pode usar o mecanismo de fonte de dados para rastrear alterações no conteúdo e o conteúdo que foi alterado desde a última sincronização. Ao sincronizar a fonte de dados com a base de conhecimento pela primeira vez, todo o conteúdo é rastreado por padrão.

Para sincronizar a fonte de dados com a base de conhecimento, use a API [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) ou selecione a base de conhecimento no console e escolha **Sincronizar** na seção de visão geral da fonte de dados.

**Importante**  
Todos os dados que você sincroniza na fonte de dados ficam disponíveis para qualquer pessoa com permissões `bedrock:Retrieve` para recuperá-los. Isso também pode incluir quaisquer dados com permissões de fonte de dados controladas. Para obter mais informações, consulte [Knowledge base permissions](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

### Credenciais de autenticação secreta
<a name="ds-salesforce-secret-auth-credentials"></a>

(Para autenticação OAuth 2.0) As credenciais de autenticação secreta no AWS Secrets Manager devem incluir estes pares de chave-valor:
+ `consumerKey`: *ID do cliente da aplicação*
+ `consumerSecret`: *segredo do cliente da aplicação*
+ `authenticationUrl`: *URL da instância do Salesforce ou a URL da qual solicitar o token de autenticação*.

**nota**  
O segredo no AWS Secrets Manager deve usar a mesma região da base de conhecimento.

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

**Conectar uma instância do Salesforce à base de conhecimento**

1. Siga as etapas em [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e escolha o **Salesforce** como fonte de dados.

1. Forneça um nome e uma descrição opcional para a fonte de dados.

1. Forneça o URL da instância do Salesforce. Por exemplo, *https://company.salesforce.com/*. A instância deve estar executando uma aplicação conectada ao Salesforce.

1. Na seção **Configurações avançadas**, você pode, opcionalmente, configurar o seguinte:
   + **Chave do KMS para armazenamento de dados temporário.** – Você pode criptografar os dados temporários enquanto converte seus dados em incorporações com a Chave gerenciada pela AWS padrão ou sua própria chave do KMS. Para obter mais informações, consulte [Criptografia de armazenamento de dados temporário durante a ingestão de dados](encryption-kb.md#encryption-kb-ingestion).
   + **Política de exclusão de dados**: você pode excluir as incorporações de vetores da sua fonte de dados que estão armazenadas no armazenamento de vetores por padrão ou optar por reter os dados do armazenamento de vetores.

1. Forneça as informações de autenticação para se conectar à instância do Salesforce:

   1. Para autenticação OAuth 2.0, acesse o AWS Secrets Manager para adicionar as credenciais de autenticação secreta ou usar um nome do recurso da Amazon (ARN) existente para o segredo criado. O segredo deve conter a chave de consumidor da aplicação conectada ao Salesforce (ID do cliente), a senha do consumidor (senha do cliente) e o URL da instância do Salesforce ou o URL do qual solicitar o token de autenticação. Para obter mais informações, consulte a documentação do Salesforce em [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) e [Configure a Connected App for the OAuth 2.0 Client Credentials](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm&type=5).

1. (Opcional) Na seção **Análise e fragmentação de conteúdo**, você pode personalizar a forma de analisar e fragmentar seus dados. Consulte os seguintes recursos para saber mais sobre essas personalizações:
   + Para ter mais informações sobre as opções de análise, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).
   + Para ter mais informações sobre fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).
**Atenção**  
Não será possível alterar a estratégia de fragmentação após a conexão da fonte de dados.
   + Para ter mais informações sobre como personalizar a fragmentação de dados e o processamento de metadados com uma função do Lambda, consulte [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md).

1. Opte por usar filtros/padrões de expressões normais para incluir ou excluir determinado conteúdo. Caso contrário, todo o conteúdo padrão será rastreado.

1. Continue escolhendo um modelo de incorporação e um armazenamento de vetores. Para ver as etapas restantes, retorne a [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e continue após a etapa de conexão da fonte de dados.

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

Este é um exemplo de uma configuração para conexão ao Salesforce para a base de conhecimento do Amazon Bedrock. Você configura a fonte de dados usando a API com a AWS CLI ou o SDK compatível, como o Python. Depois de chamar [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html), você chama [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) para criar a fonte de dados com suas informações de conexão em `dataSourceConfiguration`.

Para saber mais sobre personalizações que você pode aplicar à ingestão incluindo o campo opcional `vectorIngestionConfiguration`, consulte [Personalizar a ingestão para uma fonte de dados](kb-data-source-customize-ingestion.md).

**AWS Command Line Interface**

```
aws bedrock create-data-source \
 --name "Salesforce connector" \
 --description "Salesforce data source connector for Amazon Bedrock to use content in Salesforce" \
 --knowledge-base-id "your-knowledge-base-id" \
 --data-source-configuration file://salesforce-bedrock-connector-configuration.json \
 --data-deletion-policy "DELETE" \
 --vector-ingestion-configuration '{"chunkingConfiguration":[{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":[{"maxTokens":"100","overlapPercentage":"10"}]}]}'

salesforce-bedrock-connector-configuration.json
{
    "salesforceConfiguration": {
        "sourceConfiguration": {
            "hostUrl": "https://company.salesforce.com/",
            "authType": "OAUTH2_CLIENT_CREDENTIALS",
            "credentialsSecretArn": "arn:aws::secretsmanager:your-region:secret:AmazonBedrock-Salesforce"
        },
        "crawlerConfiguration": {
            "filterConfiguration": {
                "type": "PATTERN",
                "patternObjectFilter": {
                    "filters": [
                        {
                            "objectType": "Campaign",
                            "inclusionFilters": [
                                ".*public.*"
                            ],
                            "exclusionFilters": [
                                ".*private.*"
                            ]
                        }
                    ]
                }
            }
        }
    },
    "type": "SALESFORCE"
}
```

------

# Rastrear páginas da web para sua base de conhecimento
<a name="webcrawl-data-source-connector"></a>

O crawler da web fornecido pelo Amazon Bedrock se conecta e rastreia os URLs selecionados por você para uso na base de conhecimento do Amazon Bedrock. Você pode rastrear páginas de site de acordo com o escopo ou os limites definidos para os URLs selecionados. Você pode rastrear páginas de site usando o [Console de Gerenciamento da AWS para Amazon Bedrock](https://console.aws.amazon.com/bedrock/home) ou a API [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) (consulte os [SDKs compatíveis com o Amazon Bedrock e a AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)). No momento, somente o armazenamento de vetores do Amazon OpenSearch Sem Servidor está disponível para uso com essa fonte de dados.

**nota**  
O conector de fonte de dados do crawler da web está em versão prévia e está sujeito a alterações.

Ao selecionar sites para crawling, você precisa aderir à [Política de uso aceitável da Amazon](https://aws.amazon.com/aup/) e a todos os outros termos da Amazon. Você só pode usar o crawler da web para indexar seus sites ou os sites que você tenha autorização para crawling e deve respeitar as configurações de robots.txt.

O crawler da web segue o indicado em robots.txt de acordo com a [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)

Há limites para quantos itens de conteúdo de página da web e MB por item de conteúdo podem ser rastreados. Consulte [Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html).

**Topics**
+ [Recursos compatíveis](#supported-features-webcrawl-connector)
+ [Pré-requisitos](#prerequisites-webcrawl-connector)
+ [Configuração de conexão](#configuration-webcrawl-connector)

## Recursos compatíveis
<a name="supported-features-webcrawl-connector"></a>

O crawler da web se conecta e rastreia páginas HTML pelo URL inicial, percorrendo todos os links secundários no mesmo caminho e domínio principal. Se alguma das páginas HTML fizer referência a documentos compatíveis, o crawler da web buscará esses documentos, independentemente de estarem no mesmo domínio principal. Você pode modificar o comportamento de crawling alterando a configuração: consulte [Configuração de conexão](#configuration-webcrawl-connector).

Há suporte para você:
+ Selecione vários URLs de origem para rastrear e defina o escopo dos URLs para rastrear somente o host ou também incluir subdomínios.
+ Rastreie páginas da web estáticas que fazem parte dos URLs de origem.
+ Especifique o sufixo personalizado do agente usuário para definir regras para seu próprio crawler.
+ Inclua ou exclua determinados URLs que correspondam a um padrão de filtro.
+ Respeite as diretivas padrão de robots.txt, como “Permitir” e “Não permitir”.
+ Limite o escopo dos URLs a serem rastreados e, se desejar, exclua os URLs que correspondam a um padrão de filtro.
+ Limite a taxa de URLs de crawling e o número máximo de páginas a serem rastreadas.
+ Visualizar o status dos URLs rastreados no Amazon CloudWatch.

## Pré-requisitos
<a name="prerequisites-webcrawl-connector"></a>

**Para usar o crawler da web, não se esqueça de:**
+ Verificar se você tem autorização para rastrear os URLs de origem.
+ Verificar se o caminho para robots.txt correspondente aos URLs de origem não impede o crawling dos URLs. O crawler da web segue os padrões de robots.txt: `disallow` por padrão se robots.txt não for encontrado para o site. O crawler da web segue o indicado em robots.txt de acordo com a [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html). Você também pode especificar um sufixo de cabeçalho personalizado do agente usuário para definir regras para seu próprio crawler. Para ter mais informações, consulte “Acesso ao URL do crawler da web” nas instruções em [Configuração de conexão](#configuration-webcrawl-connector) desta página.
+ [Habilite a entrega do CloudWatch Logs](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html) e siga os exemplos de log do crawler da web para visualizar o status do trabalho de ingestão de dados referente à ingestão de conteúdo da web e se determinados URLs não puderem ser recuperados.

**nota**  
Ao selecionar sites para crawling, você precisa aderir à [Política de uso aceitável da Amazon](https://aws.amazon.com/aup/) e a todos os outros termos da Amazon. Você só pode usar o crawler da web para indexar seus sites ou os sites que você tenha autorização para crawling.

## Configuração de conexão
<a name="configuration-webcrawl-connector"></a>

Para obter mais informações sobre o escopo da sincronização para URLs de crawling, filtros de inclusão/exclusão, acesso a URL, sincronização incremental e como eles funcionam, selecione o seguinte:

### Escopo da sincronização para URLs de crawling
<a name="ds-sync-scope"></a>

Você pode limitar o escopo dos URLs do crawling com base na relação específica de cada URL da página com os URLs iniciais. Para crawlings mais rápidos, você pode limitar os URLs àqueles com o mesmo host e caminho de URL inicial do URL inicial. Para rastreamentos mais amplos, você pode optar por rastrear URLs com o mesmo host ou em qualquer subdomínio do URL inicial.

Você pode escolher entre as opções a seguir.
+ Padrão: limite o crawling a páginas da web pertencentes ao mesmo host e com o mesmo caminho de URL inicial. Por exemplo, com um URL inicial “https://aws.amazon.com/bedrock/”, somente esse caminho e as páginas da web que se estendem a partir desse caminho serão rastreados, como “https://aws.amazon.com/bedrock/agents/”. URLs irmãos como “https://aws.amazon.com/ec2/” não são rastreados, por exemplo.
+ Somente host: limite o crawling a páginas da web pertencentes ao mesmo host. Por exemplo, com um URL inicial “https://aws.amazon.com/bedrock/”, as páginas da web com “https://aws.amazon.com” também serão rastreadas, como “https://aws.amazon.com/ec2”.
+ Subdomínios: inclua o crawling de qualquer página da web que tenha o mesmo domínio primário do URL inicial. Por exemplo, com um URL inicial “https://aws.amazon.com/bedrock/”, qualquer página da web que contenha “amazon.com” (subdomínio) será rastreada, como “https://www.amazon.com”.

**nota**  
Verifique se você não está fazendo crawling de sites possivelmente excessivos. Não é recomendável fazer crawling de sites grandes, como wikipedia.org, sem filtros ou limites de escopo. O crawling de sites grandes levará muito tempo.  
Os [tipos de arquivo compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) passam por crawling independentemente do escopo e caso não haja um padrão de exclusão para o tipo de arquivo.

É possível usar o crawler da web em sites estáticos.

Você também pode limitar a taxa de URLs de crawling para controle de utilização da velocidade de crawling. Defina o número máximo de URLs rastreados por host por minuto. Além disso, é possível definir o número máximo (até 25 mil) do total de páginas da web a serem rastreadas. Observe que, se o número total de páginas da web dos URLs de origem ultrapassar o máximo definido, o trabalho de sincronização/ingestão da fonte de dados falhará.

### Filtros de inclusão/exclusão
<a name="ds-inclusion-exclusion"></a>

Você pode incluir ou excluir determinados URLs de acordo com seu escopo. Os [tipos de arquivo compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) passam por crawling independentemente do escopo e caso não haja um padrão de exclusão para o tipo de arquivo. Se você especificar um filtro de inclusão e de exclusão e ambos corresponderem a um URL, o filtro de exclusão terá precedência e não será feito crawling do conteúdo da web.

**Importante**  
Filtros problemáticos de padrões de expressão regular que causam [retrocesso catastrófico](https://docs.aws.amazon.com/codeguru/detector-library/python/catastrophic-backtracking-regex/) e lookahead são rejeitados.

Um exemplo de um padrão de filtro de expressão regular para excluir URLs que terminam com “.pdf” ou anexos de sites em PDF: *“.\$1\$1.pdf\$1”*.

### Acesso ao URL do crawler da web
<a name="ds-webcrawl-identity-crawling"></a>

Você pode usar o crawler da web para rastrear as páginas dos sites que você tem autorização para rastrear.

Ao selecionar sites para crawling, você precisa aderir à [Política de uso aceitável da Amazon](https://aws.amazon.com/aup/) e a todos os outros termos da Amazon. Você só pode usar o crawler da web para indexar seus sites ou os sites que você tenha autorização para crawling.

O crawler da web segue o indicado em robots.txt de acordo com a [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)

Você pode especificar determinados bots de agente usuário para “permitir” ou “proibir” que o agente usuário rastreie seus URLs de origem. Você pode modificar o arquivo robots.txt do seu site para controlar como o crawler da web rastreia URLs de origem. O crawler procurará primeiro as regras `bedrockbot-UUID ` e depois as regras genéricas `bedrockbot` no arquivo robots.txt.

Também é possível adicionar um sufixo User-Agent para acrescentar seu crawler à lista de permissões em sistemas de proteção de bots. Observe que esse sufixo não precisa ser adicionado ao arquivo `robots.txt` para garantir que ninguém consiga representar a string do agente usuário. Por exemplo, para permitir que o crawler da web rastreie todo o conteúdo do site e proibir o crawling de outros robôs, use a seguinte diretiva:

```
User-agent: bedrockbot-UUID # Amazon Bedrock Web Crawler
Allow: / # allow access to all pages
User-agent: * # any (other) robot
Disallow: / # disallow access to any pages
```

### Sincronização incremental
<a name="ds-incremental-sync"></a>

Sempre que o crawler da web é executado, ele recupera o conteúdo de todos os URLs acessíveis pelos URLs de origem que correspondem ao escopo e aos filtros. Para sincronizações incrementais após a primeira sincronização de todo o conteúdo, o Amazon Bedrock atualizará sua base de conhecimento com conteúdo novo e modificado e removerá o conteúdo antigo que não está mais presente. Às vezes, o crawler poderá não conseguir indicar se o conteúdo foi removido do site e, nesse caso, ele vai deixar de preservar o conteúdo antigo em sua base de conhecimento.

Para sincronizar a fonte de dados com a base de conhecimento, use a API [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) ou selecione a base de conhecimento no console e escolha **Sincronizar** na seção de visão geral da fonte de dados.

**Importante**  
Todos os dados que você sincroniza na fonte de dados ficam disponíveis para qualquer pessoa com permissões `bedrock:Retrieve` para recuperá-los. Isso também pode incluir quaisquer dados com permissões de fonte de dados controladas. Para obter mais informações, consulte [Knowledge base permissions](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html).

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

**Conectar uma fonte de dados do crawler da web à base de conhecimento**

1. Siga as etapas em [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e escolha **Crawler da web** como fonte de dados.

1. Forneça um nome e uma descrição opcional para a fonte de dados.

1. Forneça os **URLs de origem** dos URLs cujo crawling você deseja fazer. Você pode acrescentar até nove URLs adicionais selecionando **Adicionar URLs de origem**. Ao fornecer um URL de origem, você confirma que tem autorização para fazer crawling de seu domínio.

1. Na seção **Configurações avançadas**, você pode, opcionalmente, configurar o seguinte:
   + **Chave do KMS para armazenamento de dados temporário.** – Você pode criptografar os dados temporários enquanto converte seus dados em incorporações com a Chave gerenciada pela AWS padrão ou sua própria chave do KMS. Para obter mais informações, consulte [Criptografia de armazenamento de dados temporário durante a ingestão de dados](encryption-kb.md#encryption-kb-ingestion).
   + **Política de exclusão de dados**: você pode excluir as incorporações de vetores da sua fonte de dados que estão armazenadas no armazenamento de vetores por padrão ou optar por reter os dados do armazenamento de vetores.

1. (Opcional) Forneça um sufixo de agente usuário para **bedrock-UUID-** que identifique o crawler ou o bot quando ele acessa um servidor da web.

1. Configure o seguinte na seção **Escopo de sincronização**:

   1. Selecione um **intervalo de domínios do site** para rastrear seus URLs de origem:
      + Padrão: limite o crawling a páginas da web pertencentes ao mesmo host e com o mesmo caminho de URL inicial. Por exemplo, com um URL inicial “https://aws.amazon.com/bedrock/”, somente esse caminho e as páginas da web que se estendem a partir desse caminho serão rastreados, como “https://aws.amazon.com/bedrock/agents/”. URLs irmãos como “https://aws.amazon.com/ec2/” não são rastreados, por exemplo.
      + Somente host: limite o crawling a páginas da web pertencentes ao mesmo host. Por exemplo, com um URL inicial “https://aws.amazon.com/bedrock/”, as páginas da web com “https://aws.amazon.com” também serão rastreadas, como “https://aws.amazon.com/ec2”.
      + Subdomínios: inclua o crawling de qualquer página da web que tenha o mesmo domínio primário do URL inicial. Por exemplo, com um URL inicial “https://aws.amazon.com/bedrock/”, qualquer página da web que contenha “amazon.com” (subdomínio) será rastreada, como “https://www.amazon.com”.
**nota**  
Verifique se você não está fazendo crawling de sites possivelmente excessivos. Não é recomendável fazer crawling de sites grandes, como wikipedia.org, sem filtros ou limites de escopo. O crawling de sites grandes levará muito tempo.  
Os [tipos de arquivo compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) passam por crawling independentemente do escopo e caso não haja um padrão de exclusão para o tipo de arquivo.

   1. Insira **Controle de utilização máximo da velocidade de crawling**. Ingira entre 1 e 300 URLs por host por minuto. Uma velocidade de crawling maior aumenta a carga, mas leva menos tempo.

   1. Insira entre 1 e 25.000 em **Máximo de páginas para sincronização da fonte de dados**. Limite o número máximo de páginas da web rastreadas nos URLs de origem. Se as páginas da web excederem esse número, a sincronização da fonte de dados falhará e nenhuma página da web será ingerida. 

   1. Para padrões de **URL regex** (opcional), você pode adicionar **Padrões de inclusão** ou **Padrões de exclusão** inserindo o padrão de expressão regular na caixa. Você pode adicionar até 25 padrões de filtro de inclusão e 25 de exclusão selecionando **Adicionar novo padrão**. O crawling dos padrões de inclusão e exclusão é feito de acordo com seu escopo. Se houver um conflito, o padrão de exclusão terá precedência.

1. (Opcional) Na seção **Análise e fragmentação de conteúdo**, você pode personalizar a forma de analisar e fragmentar seus dados. Consulte os seguintes recursos para saber mais sobre essas personalizações:
   + Para ter mais informações sobre as opções de análise, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).
   + Para ter mais informações sobre fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).
**Atenção**  
Não será possível alterar a estratégia de fragmentação após a conexão da fonte de dados.
   + Para ter mais informações sobre como personalizar a fragmentação de dados e o processamento de metadados com uma função do Lambda, consulte [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md).

1. Continue escolhendo um modelo de incorporação e um armazenamento de vetores. Para ver as etapas restantes, retorne a [Crie uma base de conhecimento conectando-se a uma fonte de dados nas Bases de Conhecimento do Amazon Bedrock](knowledge-base-create.md) e continue após a etapa de conexão da fonte de dados.

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

Para conectar uma base de conhecimento a uma fonte de dados usando o crawler da web, envie uma solicitação [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), especifique `WEB` no campo `type` de [DataSourceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DataSourceConfiguration.html) e inclua o campo `webConfiguration`. Este é um exemplo de uma configuração do crawler da web para a base de conhecimento do Amazon Bedrock.

```
{
    "webConfiguration": {
        "sourceConfiguration": {
            "urlConfiguration": {
                "seedUrls": [{
                    "url": "https://www.examplesite.com"
                }]
            }
        },
        "crawlerConfiguration": {
            "crawlerLimits": {
                "rateLimit": 50,
                "maxPages": 100
            },
            "scope": "HOST_ONLY",
            "inclusionFilters": [
                "https://www\.examplesite\.com/.*\.html"
            ],
            "exclusionFilters": [
                "https://www\.examplesite\.com/contact-us\.html"
            ],
            "userAgent": "CustomUserAgent"
        }
    },
    "type": "WEB"
}
```

Para saber mais sobre personalizações que você pode aplicar à ingestão incluindo o campo opcional `vectorIngestionConfiguration`, consulte [Personalizar a ingestão para uma fonte de dados](kb-data-source-customize-ingestion.md).

------

# Conectar uma base de conhecimento a uma fonte de dados personalizada
<a name="custom-data-source-connector"></a>

Em vez de escolher um serviço de fonte de dados compatível, você pode se conectar a uma fonte de dados personalizada para obter as seguintes vantagens:
+ Flexibilidade e controle sobre os tipos de dados aos quais você deseja que sua base de conhecimento tenha acesso.
+ A capacidade de usar as operações de API `KnowledgeBaseDocuments` para ingerir ou excluir documentos diretamente sem a necessidade de sincronizar as alterações.
+ A capacidade de visualizar documentos em sua fonte de dados diretamente por meio do console ou da API do Amazon Bedrock.
+ A capacidade de carregar documentos na fonte de dados diretamente no Console de gerenciamento da AWS ou adicioná-los em linha.
+ A capacidade de adicionar metadados diretamente a cada documento para adicionar ou atualizar um documento na fonte de dados. Para ter mais informações sobre como usar metadados para filtragem ao recuperar informações de uma fonte de dados, consulte a guia **Metadados e filtragem** em [Configurar e personalizar consultas e geração de respostas](kb-test-config.md).

**Suporte de conteúdo multimodal**  
As fontes de dados personalizadas oferecem suporte a conteúdo multimodal, incluindo arquivos de imagens, áudio e vídeo de até 10 MB codificados em base64. Para obter uma orientação abrangente sobre como trabalhar com conteúdo multimodal, consulte. [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md)

Para conectar uma base de conhecimento a uma fonte de dados personalizada, envie uma [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitação com um endpoint de tempo de [construção do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique o `knowledgeBaseId` da base de conhecimento com a qual você quer se conectar, forneça um `name` à fonte de dados e especifique o campo `type` na `dataSourceConfiguration` como `CUSTOM`. A seguir é apresentado um exemplo mínimo para criar essa fonte de dados:

```
PUT /knowledgebases/KB12345678/datasources/ HTTP/1.1
Content-type: application/json

{
    "name": "MyCustomDataSource",
    "dataSourceConfiguration": {
        "type": "CUSTOM"
    }
}
```

Você pode incluir qualquer um dos seguintes campos opcionais para configurar a fonte de dados:


****  

| Campo | Caso de uso | 
| --- | --- | 
| descrição | Para fornecer uma descrição da fonte de dados. | 
| clientToken | Para garantir que a solicitação de API seja concluída apenas uma vez. Para obter mais informações, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| serverSideEncryptionConfiguração | Para especificar uma chave do KMS personalizada para armazenamento de dados temporário enquanto converte seus dados em incorporações. Para obter mais informações, consulte [Criptografia de armazenamento de dados temporário durante a ingestão de dados](encryption-kb.md#encryption-kb-ingestion). | 
| dataDeletionPolicy | Para configurar o que fazer com as incorporações de vetores da fonte de dados em seu armazenamento de vetores, se você excluir a fonte de dados. Especifique RETAIN para reter os dados no armazenamento de vetores ou a opção padrão DELETE para excluí-los. | 
| vectorIngestionConfiguration | Para configurar as opções de ingestão da fonte de dados. Veja a seguir mais informações. | 

O `vectorIngestionConfiguration` campo mapeia para um [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)objeto contendo os seguintes campos:
+ chunkingConfiguration: para configurar a estratégia a ser usada para fragmentar os documentos na fonte de dados. Para ter mais informações sobre fragmentação, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).
+ parsingConfiguration: para configurar a estratégia a ser usada para analisar a fonte de dados. Para ter mais informações sobre as opções de análise, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).
+ customTransformationConfiguration — Personalizar como os dados são transformados e aplicar uma função Lambda para maior personalização. Para ter mais informações sobre como personalizar a fragmentação de dados e o processamento de metadados com uma função do Lambda, consulte [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md).

Depois de configurar sua fonte de dados personalizada, você pode adicionar documentos a ela e inseri-los diretamente na base de conhecimento. Ao contrário de outras fontes de dados, as fontes de dados personalizadas não precisam ser sincronizadas. Para saber como ingerir documentos diretamente, consulte [Ingerir alterações diretamente em uma base de conhecimento](kb-direct-ingestion.md).

# Personalizar a ingestão para uma fonte de dados
<a name="kb-data-source-customize-ingestion"></a>

Você pode personalizar a ingestão de vetores ao conectar uma fonte de dados no Console de gerenciamento da AWS ou modificando o valor do `vectorIngestionConfiguration` campo ao enviar uma [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitação.

Selecione um tópico para saber como incluir configurações para personalizar a ingestão ao se conectar a uma fonte de dados:

**Topics**
+ [Escolher a ferramenta a ser usada para análise](#kb-data-source-customize-parsing)
+ [Escolher uma estratégia de fragmentação](#kb-data-source-customize-chunking)
+ [Usar uma função do Lambda durante a ingestão](#kb-data-source-customize-lambda)

## Escolher a ferramenta a ser usada para análise
<a name="kb-data-source-customize-parsing"></a>

É possível personalizar a forma como os documentos em suas fontes de dados são analisados. Para saber mais sobre as opções de análise de dados nas Bases de Conhecimento do Amazon Bedrock, consulte [Opções de análise para a fonte de dados](kb-advanced-parsing.md).

**Atenção**  
Não será possível analisar a estratégia após a conexão da fonte de dados. Para usar uma estratégia de análise diferente, você pode adicionar uma nova fonte de dados.  
É possível adicionar um local do S3 para armazenar dados multimodais (como imagens, figuras, gráficos e tabelas) depois de criar uma base de conhecimento. Se você quiser incluir dados multimodais e usar um analisador compatível, deverá criar outra base de conhecimento.

As etapas envolvidas na escolha de uma estratégia de análise dependem do uso Console de gerenciamento da AWS ou da API Amazon Bedrock e do método de análise escolhido. Se você escolher um método de análise que aceite dados multimodais, deverá especificar um URI do S3 no qual armazenar os dados multimodais extraídos dos documentos. Esses dados podem ser exibidos na consulta à base de conhecimento.
+ No Console de gerenciamento da AWS, faça o seguinte:

  1. Selecione a estratégia de análise ao se conectar a uma fonte de dados enquanto estiver configurando uma base de conhecimento ou adicionando uma nova fonte de dados à base de conhecimento existente.

  1. (Se você escolher a Automação de Dados do Amazon Bedrock ou um modelo de base como estratégia de análise) Especifique um URI do S3 no qual armazenar os dados multimodais extraídos dos documentos na seção **Destino de armazenamento multimoda** ao selecionar um modelo de incorporação e configurar o armazenamento de vetores. Também é possível usar uma chave gerenciada pelo cliente para criptografar dados do S3 nesta etapa.
+ Na API do Amazon Bedrock, faça o seguinte:

  1. (Se você planeja usar o Amazon Bedrock Data Automation ou um modelo básico como sua estratégia de análise) Inclua um [SupplementalDataStorageLocation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SupplementalDataStorageLocation.html)na [VectorKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorKnowledgeBaseConfiguration.html)solicitação. [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)

  1. Inclua um [ParsingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ParsingConfiguration.html)no `parsingConfiguration` campo do [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)na [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitação.
**nota**  
Se você omitir essa configuração, as Bases de Conhecimento do Amazon Bedrock usarão o analisador padrão do Amazon Bedrock.

Para obter mais detalhes sobre como especificar uma estratégia de análise na API, expanda a seção que corresponde à estratégia de análise que você deseja usar:

### Analisador padrão do Amazon Bedrock
<a name="w2aac28c10c23c15c17c11c13b1"></a>

Para usar o analisador padrão, não inclua um campo `parsingConfiguration` na `VectorIngestionConfiguration`.

### Analisador da Automação de Dados do Amazon Bedrock (versão prévia)
<a name="w2aac28c10c23c15c17c11c13b3"></a>

Para usar o analisador Amazon Bedrock Data Automation, especifique `BEDROCK_DATA_AUTOMATION` no `parsingStrategy` campo do `ParsingConfiguration` e inclua um [BedrockDataAutomationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockDataAutomationConfiguration.html)no `bedrockDataAutomationConfiguration` campo, conforme o seguinte formato:

```
{
    "parsingStrategy": "BEDROCK_DATA_AUTOMATION",
    "bedrockDataAutomationConfiguration": {
        "parsingModality": "string"
    }
}
```

### Modelo de base
<a name="w2aac28c10c23c15c17c11c13b5"></a>

Para usar um modelo básico como analisador, especifique o `BEDROCK_FOUNDATION_MODEL` no `parsingStrategy` campo do `ParsingConfiguration` e inclua um [BedrockFoundationModelConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_BedrockFoundationModelConfiguration.html)no `bedrockFoundationModelConfiguration` campo, conforme o formato a seguir:

```
{
    "parsingStrategy": "BEDROCK_FOUNDATION_MODEL",
    "bedrockFoundationModelConfiguration": {
        "modelArn": "string",
        "parsingModality": "string",
        "parsingPrompt": {
            "parsingPromptText": "string"
        }
    }
}
```

## Escolher uma estratégia de fragmentação
<a name="kb-data-source-customize-chunking"></a>

Você pode personalizar a forma como os documentos em sua fontes de dados são agrupados para armazenamento e recuperação. Para saber mais sobre as opções para fragmentar dados nas Bases de Conhecimento do Amazon Bedrock, consulte [Como a fragmentação de conteúdo funciona para bases de conhecimento](kb-chunking.md).

**Atenção**  
Não será possível alterar a estratégia de fragmentação após a conexão da fonte de dados.

No, Console de gerenciamento da AWS você escolhe a estratégia de fragmentação ao se conectar a uma fonte de dados. Com a API Amazon Bedrock, você inclui um [ChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ChunkingConfiguration.html)no `chunkingConfiguration` campo do [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html).

**nota**  
Se você omitir essa configuração, o Amazon Bedrock dividirá o conteúdo em fragmentos de aproximadamente 300 tokens, preservando os limites das frases.

Expanda a seção que corresponde à estratégia de análise que você deseja usar:

### Sem fragmentação
<a name="w2aac28c10c23c15c17c13c13b1"></a>

Para tratar cada documento em sua fonte de dados como um único fragmento de origem, especifique `NONE` no campo `chunkingStrategy` de `ChunkingConfiguration`, conforme o seguinte formato:

```
{
    "chunkingStrategy": "NONE"
}
```

### Fragmentação de tamanho fixo
<a name="w2aac28c10c23c15c17c13c13b3"></a>

Para dividir cada documento em sua fonte de dados em partes de aproximadamente o mesmo tamanho, especifique `FIXED_SIZE` no `chunkingStrategy` campo do `ChunkingConfiguration` e inclua um [FixedSizeChunkingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FixedSizeChunkingConfiguration.html)no `fixedSizeChunkingConfiguration` campo, conforme o formato a seguir:

```
{
    "chunkingStrategy": "FIXED_SIZE",
    "fixedSizeChunkingConfiguration": {
        "maxTokens": number,
        "overlapPercentage": number
    }
}
```

### Fragmentação hierárquica
<a name="w2aac28c10c23c15c17c13c13b5"></a>

Para dividir cada documento em sua fonte de dados em dois níveis, em que a segunda camada contém partes menores derivadas da primeira camada, especifique `HIERARCHICAL` no campo `chunkingStrategy` de `ChunkingConfiguration` e inclua o campo `hierarchicalChunkingConfiguration`, conforme o seguinte formato:

```
{
    "chunkingStrategy": "HIERARCHICAL",
    "hierarchicalChunkingConfiguration": {
        "levelConfigurations": [{
            "maxTokens": number
        }],
        "overlapTokens": number
    }
}
```

### Fragmentação semântica
<a name="w2aac28c10c23c15c17c13c13b7"></a>

Para dividir cada documento em sua fonte de dados em partes que priorizam o significado semântico à estrutura sintática, especifique `SEMANTIC` no campo `chunkingStrategy` de `ChunkingConfiguration` e inclua o campo `semanticChunkingConfiguration`, conforme o seguinte formato:

```
{
    "chunkingStrategy": "SEMANTIC",
    "semanticChunkingConfiguration": {
        "breakpointPercentileThreshold": number,
        "bufferSize": number,
        "maxTokens": number
    }
}
```

## Usar uma função do Lambda durante a ingestão
<a name="kb-data-source-customize-lambda"></a>

É possível pós-processar como os fragmentos de origem dos dados são gravados no armazenamento de vetores com uma função do Lambda das seguintes maneiras:
+ Inclua a lógica de fragmentação para fornecer uma estratégia de fragmentação personalizada.
+ Inclua lógica para especificar metadados em nível de fragmento.

Para saber como criar uma função do Lambda personalizada para ingestão, consulte [Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos](kb-custom-transformation.md). No, Console de gerenciamento da AWS você escolhe a função Lambda ao se conectar a uma fonte de dados. Com a API Amazon Bedrock, você inclui um [CustomTransformationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CustomTransformationConfiguration.html)no `CustomTransformationConfiguration` campo do [VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)e especifica o ARN do Lambda, conforme o seguinte formato:

```
{
    "transformations": [{
        "transformationFunction": {
            "transformationLambdaConfiguration": {
                "lambdaArn": "string"
            }
        },
        "stepToApply": "POST_CHUNKING"
    }],
    "intermediateStorage": {
        "s3Location": {
            "uri": "string"
        }
    }
}
```

Especifique também o local do S3 no qual armazenar a saída depois de aplicar a função do Lambda.

Você pode incluir o campo `chunkingConfiguration` para aplicar a função do Lambda depois de aplicar uma das opções de fragmentação que o Amazon Bedrock oferece.

# Definir configurações de segurança para a base de conhecimento
<a name="kb-create-security"></a>

Depois de criar uma base de conhecimento, talvez você precise definir as seguintes configurações de segurança:

**Topics**
+ [Configurar políticas de acesso a dados para a base de conhecimento](#kb-create-security-data)
+ [Configure políticas de acesso à rede para sua base de conhecimento Amazon OpenSearch Serverless](#kb-create-security-network)

## Configurar políticas de acesso a dados para a base de conhecimento
<a name="kb-create-security-data"></a>

Se você estiver usando um [perfil personalizado](kb-permissions.md), defina configurações de segurança para a base de conhecimento recém-criada. Se permitir que o Amazon Bedrock crie uma função de serviço para você, ignore essa etapa. Siga as etapas na guia correspondente ao banco de dados que você configurou.

------
#### [ Amazon OpenSearch Serverless ]

Para restringir o acesso à coleção Amazon OpenSearch Serverless à função de serviço da base de conhecimento, crie uma política de acesso a dados. Você pode fazer isso assim:
+ Use o console do Amazon OpenSearch Service seguindo as etapas em [Criação de políticas de acesso a dados (console)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-console) no Amazon OpenSearch Service Developer Guide.
+ Use a AWS API enviando uma [CreateAccessPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateAccessPolicy.html)solicitação com um endpoint [OpenSearch sem servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Para ver um AWS CLI exemplo, consulte [Criação de políticas de acesso a dados (AWS CLI)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli).

Use a seguinte política de acesso a dados, especificando a coleção Amazon OpenSearch Serverless e sua função de serviço:

```
[
    {
        "Description": "${data access policy description}",
        "Rules": [
          {
            "Resource": [
              "index/${collection_name}/*"
            ],
            "Permission": [
                "aoss:DescribeIndex",
                "aoss:ReadDocument",
                "aoss:WriteDocument"
            ],
            "ResourceType": "index"
          }
        ],
        "Principal": [
            "arn:aws:iam::${account-id}:role/${kb-service-role}"
        ]
    }
]
```

------
#### [ Pinha, Nuvem empresarial Redis or MongoDB Atlas ]

Para integrar um índice vetorial MongoDB Atlas PineconeRedis Enterprise Cloud, anexe a seguinte política baseada em identidade à sua função de serviço da base de conhecimento para permitir que ela acesse AWS Secrets Manager o segredo do índice vetorial.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "bedrock:AssociateThirdPartyKnowledgeBase"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:${secret-id}"
            }
        }
    }]
}
```

------

------

## Configure políticas de acesso à rede para sua base de conhecimento Amazon OpenSearch Serverless
<a name="kb-create-security-network"></a>

Se você usar uma coleção privada Amazon OpenSearch Serverless para sua base de conhecimento, ela só poderá ser acessada por meio de um VPC endpointAWS PrivateLink. Você pode criar uma coleção privada Amazon OpenSearch Serverless ao [configurar sua coleção vetorial Amazon OpenSearch Serverless ou pode tornar privada uma coleção](knowledge-base-setup.md) Amazon OpenSearch Serverless existente (incluindo uma que o console Amazon Bedrock criou para você) ao configurar sua política de acesso à rede.

Os seguintes recursos no Amazon OpenSearch Service Developer Guide ajudarão você a entender a configuração necessária para coleções privadas do Amazon OpenSearch Serverless:
+ Para obter mais informações sobre como configurar um VPC endpoint para uma coleção privada do Amazon OpenSearch Serverless, consulte Acessar o Amazon Serverless usando um endpoint de [ OpenSearch interface](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html) (). AWS PrivateLink
+ Para obter mais informações sobre políticas de acesso à rede no Amazon OpenSearch Serverless, consulte [Acesso à rede para Amazon OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html) Serverless.

Para permitir que uma base de conhecimento do Amazon Bedrock acesse uma coleção privada do Amazon OpenSearch Serverless, você deve editar a política de acesso à rede da OpenSearch coleção Amazon Serverless para permitir que o Amazon Bedrock seja um serviço de origem. Escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/).

1. No painel de navegação à esquerda, selecione **Coleções**. Em seguida, escolha a coleção.

1. Na seção **Rede**, selecione a **Política associada**.

1. Escolha **Editar**.

1. Em **Selecionar método de definição de política**, faça o seguinte:
   + Deixe **Selecionar método de definição de política** como **Editor visual** e defina as seguintes configurações na seção **Regra 1**:

     1. (Opcional) No campo **Nome da regra**, insira um nome para a regra de acesso à rede.

     1. Em **Acessar coleções de**, selecione **Privado (recomendado)**.

     1. Selecione **Acesso privado ao serviço da AWS**. Na caixa de texto, digite **bedrock.amazonaws.com**.

     1. Desmarque **Habilitar acesso aos OpenSearch painéis**.
   + Escolha **JSON** e cole a política a seguir no **editor JSON**.

     ```
     [
         {                                        
             "AllowFromPublic": false,
             "Description":"${network access policy description}",
             "Rules":[
                 {
                     "ResourceType": "collection",
                     "Resource":[
                         "collection/${collection-id}"
                     ]
                 }
             ],
             "SourceServices":[
                 "bedrock.amazonaws.com"
             ]
         }
     ]
     ```

1. Selecione **Atualizar**.

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

Para editar a política de acesso à rede para sua coleção Amazon OpenSearch Serverless, faça o seguinte:

1. Envie uma [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)solicitação com um [OpenSearch endpoint sem servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Especifique o `name` da política e o `type` como `network`. Observe o `policyVersion` na resposta.

1. Envie uma [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)solicitação com um [OpenSearch endpoint sem servidor](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-service-regions). Especifique pelo menos os seguintes campos:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/kb-create-security.html)

   ```
   [
       {                                        
           "AllowFromPublic": false,
           "Description":"${network access policy description}",
           "Rules":[
               {
                   "ResourceType": "collection",
                   "Resource":[
                       "collection/${collection-id}"
                   ]
               }
           ],
           "SourceServices":[
               "bedrock.amazonaws.com"
           ]
       }
   ]
   ```

Para ver um AWS CLI exemplo, consulte [Criação de políticas de acesso a dados (AWS CLI)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html#serverless-data-access-cli).

------
+ Use o console do Amazon OpenSearch Service seguindo as etapas em [Criação de políticas de rede (console)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html#serverless-network-console). Em vez de criar uma política de rede, observe a **Política associada** na subseção **Rede** dos detalhes da coleção.

# Sincronizar os dados com a base de conhecimento do Amazon Bedrock
<a name="kb-data-source-sync-ingest"></a>

Depois de criar a base de conhecimento, ingira ou sincronize os dados para que eles possam ser consultados. A ingestão converte os dados brutos na fonte de dados em incorporações de vetores, com base no modelo de incorporação de vetores e nas configurações especificadas.

Antes de começar a ingestão, verifique se a fonte de dados atende às seguintes condições:
+ Você configurou as informações de conexão da fonte de dados. Para configurar um conector de fonte de dados para rastrear os dados do repositório da fonte de dados, consulte [Conectores compatíveis de fonte de dados](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html). Você configura a fonte de dados como parte criação da base de conhecimento.
+ Você configurou o modelo de incorporação de vetores e o armazenamento de vetores escolhidos. Consulte os [modelos de incorporação de vetores compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-supported.html) e os [armazenamentos de vetores de base de conhecimento](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup.html). Você configura as incorporações de vetores como parte da criação da base de conhecimento.
+ Os arquivos estão nos formatos compatíveis. Para obter mais informações, consulte [Formatos de documento compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-supported-doc-formats-limits).
+ Os arquivos não excedem o **tamanho do arquivo de trabalho de ingestão** especificado em [Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.html) no Referência geral da AWS.
+ Se a fonte de dados contiver arquivos de metadados, verifique as seguintes condições para garantir que os arquivos de metadados não sejam ignorados:
  + Cada arquivo `.metadata.json` compartilha o mesmo nome e extensão do arquivo de origem ao qual está associado.
  + Se o índice de vetores da base de conhecimento estiver em um armazenamento de vetores do Amazon OpenSearch Sem Servidor, verifique se o índice de vetores está configurado com o mecanismo `faiss`. Se o índice de vetores estiver configurado com o mecanismo `nmslib`, será necessário fazer o seguinte:
    + [Criar uma base de conhecimento](knowledge-base-create.md) no console e permitir que o Amazon Bedrock crie automaticamente um índice de vetores no Amazon OpenSearch Sem Servidor 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 o índice de vetores da base de conhecimento estiver em um cluster de banco de dados do Amazon Aurora, recomendamos que você use o campo de metadados personalizados para armazenar todos os metadados em uma única coluna e criar um índice nessa coluna. Se você não fornecer o campo de metadados personalizados, verifique se a tabela do índice contém uma coluna para cada propriedade de metadados nos arquivos de metadados antes de iniciar a ingestão. Para obter mais informações, consulte [Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento](knowledge-base-setup.md).

Sempre que você adicionar, modificar ou remover arquivos da fonte de dados, sincronize a fonte de dados para que ela seja reindexada na base de conhecimento. A sincronização é incremental, portanto, o Amazon Bedrock processa somente documentos adicionados, modificados ou excluídos desde a última sincronização.

Para saber como ingerir dados na base de conhecimento e sincronizar com os dados mais recentes, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

**Saiba como ingerir dados na base de conhecimento e sincronizar com os dados mais recentes.**

1. Abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. No painel de navegação à esquerda, selecione **Base de conhecimento** e escolha a base de conhecimento.

1. Na seção **Fonte de dados**, selecione **Sincronizar** para iniciar a ingestão de dados ou a sincronização dos dados mais recentes. Para interromper a sincronização de uma fonte de dados em andamento, selecione **Parar**. Uma fonte de dados deve estar em sincronização para que a sincronização da fonte de dados seja interrompida. É possível selecionar **Sincronizar** novamente para ingerir o resto dos dados.

1. Quando a ingestão de dados for concluída, um banner verde de sucesso será exibido se ela tiver sido bem-sucedida.
**nota**  
Após a conclusão da sincronização de dados, pode levar alguns minutos para que as incorporações dos dados recém-sincronizados sejam refletidas na base de conhecimento e estejam disponíveis para consulta se você usar um armazenamento de vetores diferente do Amazon Aurora (RDS).

1. É possível escolher uma fonte de dados para visualizar o **Histórico de sincronização**. Selecione **Visualizar avisos** para ver por que um trabalho de ingestão de dados falhou.

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

Para ingerir os dados na base de conhecimento e sincronizar com os dados mais recentes, envie uma solicitação [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique o `knowledgeBaseId` e o `dataSourceId`. Você também pode interromper um trabalho de ingestão de dados em execução enviando uma solicitação [StopIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html). Especifique o `dataSourceId`, o `ingestionJobId` e o `knowledgeBaseId`. Um trabalho de ingestão de dados deve estar em execução para interromper a ingestão de dados. É possível enviar uma solicitação `StartIngestionJob` novamente para ingerir o resto dos seus dados quando tudo estiver pronto.

Use o `ingestionJobId` exibido na resposta em uma solicitação [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) para rastrear o status do trabalho de ingestão. Além disso, especifique o `knowledgeBaseId` e o `dataSourceId`.
+ Quando o trabalho de ingestão for concluído, o `status` na resposta será `COMPLETE`.
**nota**  
Após a conclusão da ingestão de dados, pode levar alguns minutos para que as incorporações de vetores dos dados recém-ingeridos estejam disponíveis no armazenamento de vetores para consulta, se você usar um armazenamento de vetores diferente do Amazon Aurora (RDS).
+ O objeto `statistics` na resposta retorna informações sobre se a ingestão foi bem-sucedida ou não para documentos na fonte de dados.

Você também pode ver as informações de todos os trabalhos de ingestão de uma fonte de dados enviando uma solicitação [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique o `dataSourceId` e o `knowledgeBaseId` da base de conhecimento na qual os dados estão sendo ingeridos.
+ Filtre os resultados especificando um status a ser pesquisado no objeto `filters`.
+ Classifique pela hora em que o trabalho foi iniciado ou pelo status de um trabalho, especificando o objeto `sortBy`. É possível classificar em ordem crescente ou decrescente.
+ Defina o número máximo de resultados a serem retornados em uma resposta no campo `maxResults`. Se houver mais resultados do que o número definido, a resposta retornará um `nextToken` que você poderá enviar em outra solicitação [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) para ver o próximo lote de trabalhos.

------

# Ingerir alterações diretamente em uma base de conhecimento
<a name="kb-direct-ingestion"></a>

As Bases de Conhecimento do Amazon Bedrock permitem que você modifique a fonte de dados e sincronize as alterações em uma única etapa. Você pode utilizar esse recurso se a base de conhecimento estiver conectada a um dos seguintes tipos de fonte de dados:
+ Amazon S3
+ Personalizada

Com a ingestão direta, você pode adicionar, atualizar ou excluir arquivos diretamente em uma base de conhecimento usando uma única ação e sua base de conhecimento pode ter acesso aos documentos sem a necessidade de sincronização. A ingestão direta usa as operações de API `KnowledgeBaseDocuments` para indexar os documentos que você envia diretamente no armazenamento de vetores configurado para a base de conhecimento. Também é possível visualizar os documentos em sua base de conhecimento diretamente com essas operações, em vez de precisar navegar até a fonte de dados conectada para visualizá-los.

## Diferenças em relação à sincronização de uma fonte de dados
<a name="kb-direct-ingestion-sync-diff"></a>

As Bases de Conhecimento do Amazon Bedrock também oferecem um conjunto de operações de API `IngestionJob` relacionadas à [sincronização da fonte de dados](kb-data-source-sync-ingest.md). Quando você sincroniza a fonte de dados com uma solicitação [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html), as Bases de Conhecimento do Amazon Bedrock examinam cada documento na fonte de dados conectada e verificam se ele já foi indexado no armazenamento de vetores configurado para a base de conhecimento. Caso contrário, ele será indexado no armazenamento de vetores.

Com uma solicitação [IngestKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_IngestKnowledgeBaseDocuments.html), você envia uma matriz de documentos para que sejam indexados diretamente no armazenamento de vetores. Portanto, você pula a etapa de adicionar documentos à fonte de dados. Consulte os seguintes parágrafos para entender o caso de uso desses dois conjuntos de operações de API:

**Se você usar uma fonte de dados personalizada**  
Você não precisará sincronizar nem usar as operações `IngestionJob`. Os documentos que você adicionar, modificar ou excluir com as operações `KnowledgeBaseDocuments` ou no Console de gerenciamento da AWS se tornarão parte da fonte de dados personalizada e da sua base de conhecimento.

**Se você usar uma fonte de dados do Amazon S3**  
Use os dois conjuntos de operações em casos de uso diferentes:
+ Depois de conectar a base de conhecimento à fonte de dados do S3 pela primeira vez, você deve sincronizar sua fonte de dados no Console de gerenciamento da AWS ou enviando uma solicitação [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) por meio da API do Amazon Bedrock.
+ Indexe documentos no armazenamento de vetores configurado para sua base de conhecimento ou remova os documentos indexados das seguintes formas:

  1. Adicione documentos ao seu local do S3 ou exclua documentos dele. Em seguida, sincronize sua fonte de dados no Console de gerenciamento da AWS ou envie uma solicitação `StartIngestionJob` na API. Para obter detalhes sobre a sincronização e a operação `StartIngestionJob`, consulte [Sincronizar os dados com a base de conhecimento do Amazon Bedrock](kb-data-source-sync-ingest.md).

  1. Inclua documentos do S3 na base de conhecimento diretamente com uma solicitação `IngestKnowledgeBaseDocuments`. Para obter detalhes sobre a ingestão direta de documentos, consulte [Ingerir documentos diretamente em uma base de conhecimento](kb-direct-ingestion-add.md).
**Atenção**  
Para fontes de dados do S3, todas as alterações que você indexa na base de conhecimento diretamente no Console de gerenciamento da AWS ou com as operações de API `KnowledgeBaseDocuments` não são reproduzidas no local do S3. É possível usar essas operações de API para disponibilizar imediatamente alterações na base de conhecimento em uma única etapa. No entanto, você deve continuar fazendo as mesmas alterações no local do S3 para que elas não sejam sobrescritas na próxima vez que você sincronizar a fonte de dados no Console de gerenciamento da AWS ou com `StartIngestionJob`.  
Não envie uma solicitação `IngestKnowledgeBaseDocuments` e `StartIngestionJob` ao mesmo tempo.

Selecione um tópico para saber como realizar a ingestão direta de documentos nas fontes de dados:

**Topics**
+ [Diferenças em relação à sincronização de uma fonte de dados](#kb-direct-ingestion-sync-diff)
+ [Pré-requisitos para a ingestão direta](kb-direct-ingestion-prereq.md)
+ [Ingerir documentos diretamente em uma base de conhecimento](kb-direct-ingestion-add.md)
+ [Visualizar informações sobre documentos na fonte de dados](kb-direct-ingestion-view.md)
+ [Excluir documentos de uma base de conhecimento diretamente](kb-direct-ingestion-delete.md)

# Pré-requisitos para a ingestão direta
<a name="kb-direct-ingestion-prereq"></a>

Para usar a ingestão direta, um perfil do IAM precisa ter permissões para usar as operações de API `KnowledgeBaseDocs`. Se sua função do IAM tiver a política [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)AWSgerenciada anexada, você pode pular esta seção.

A política a seguir pode ser anexada a um perfil do IAM para permitir que ele realize a ingestão direta nas bases de conhecimento que você especifica no campo `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DirectIngestion",
            "Effect": "Allow",
            "Action": [
                "bedrock:StartIngestionJob",
                "bedrock:IngestKnowledgeBaseDocuments",
                "bedrock:GetKnowledgeBaseDocuments",
                "bedrock:ListKnowledgeBaseDocuments",
                "bedrock:DeleteKnowledgeBaseDocuments"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/${KnowledgeBaseId}"
            ]
        }
    ]
}
```

------

Para restringir ainda mais as permissões, você pode omitir ações ou especificar chaves de recurso e de condição que devem ser usadas para filtrar permissões. Para ter mais informações sobre ações, recursos e chaves de condição, consulte os tópicos a seguir na *Referência de autorização do serviço*.
+ [Ações definidas pelo Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions): saiba mais sobre as ações, os tipos de recurso para os quais é possível definir um escopo de ação no campo `Resource` e as chaves de condição nas quais você pode filtrar as permissões no campo `Condition`.
+ [Tipos de recursos definidos pelo Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies): saiba mais sobre os tipos de recurso no Amazon Bedrock.
+ [Chaves de condição para o Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys): saiba mais sobre as chaves de condição no Amazon Bedrock.

# Ingerir documentos diretamente em uma base de conhecimento
<a name="kb-direct-ingestion-add"></a>

Este tópico descreve como ingerir documentos diretamente em uma base de conhecimento. As restrições se aplicam aos tipos de documento que você pode ingerir diretamente, dependendo da fonte de dados. Consulte a seguinte tabela para ver as restrições sobre os métodos que é possível usar para especificar os documentos a serem ingeridos:


****  

| Tipo de fonte de dados | Documento definido em linha | Local do Amazon S3 | 
| --- | --- | --- | 
| Amazon S3 | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-no.png)Não | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | 
| Personalizada | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | 

Expanda a seção que corresponde ao seu caso de uso:

**nota**  
Ao usar o console, você pode ingerir até dez documentos diretamente na base de conhecimento. Se, em vez disso, você usar a API `IngestKnowledgeBaseDocuments`, poderá ingerir até 25 documentos na base de conhecimento. Para ter mais informações sobre essa cota, consulte [Cotas de serviço do Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock) no *Guia de referência da AWS *.

## Usar o console
<a name="kb-direct-ingestion-add-console"></a>

Para adicionar ou modificar documentos diretamente no Console de gerenciamento da AWS, faça o seguinte:

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, selecione a base de conhecimento para ingerir documentos nela.

1. Na seção **Fonte de dados**, selecione a fonte de dados para a qual você deseja adicionar, modificar ou excluir documentos.

1. Na seção **Documentos**, escolha **Adicionar documentos**. Depois, siga um destes procedimentos:
   + Para adicionar ou modificar um documento diretamente, selecione **Adicionar documentos diretamente**. Faça o seguinte:

     1. No campo **Identificador do documento**, especifique um nome exclusivo para o documento. Se você especificar um nome que já existe na fonte de dados, o documento será substituído.

     1. Para fazer upload de um documento, selecione **Fazer upload**. Para definir um documento em linha, selecione **Adicionar documento em linha**, escolha um formato e insira o texto do documento na caixa.

     1. (Opcional) Para associar metadados ao documento, selecione **Adicionar metadados** e insira chave, tipo e valor.
   + Para adicionar ou modificar um documento especificando sua localização no S3, selecione **Adicionar documentos do S3**. Faça o seguinte:

     1. No campo **Identificador do documento**, especifique um nome exclusivo para o documento. Se você especificar um nome que já existe na fonte de dados, o documento será substituído.

     1. Especifique se a **localização do documento no S3** está na sua AWS conta corrente ou em outra. Em seguida, especifique o URI do S3 do documento.

     1. (Opcional) Para associar metadados ao documento, escolha uma **fonte de metadados**. Especifique o URI do S3 dos metadados ou selecione **Adicionar metadados** e insira chave, tipo e valor.

1. Para ingerir o documento e todos os metadados associados, escolha **Adicionar**.

## Usar a API
<a name="kb-direct-ingestion-add-api"></a>

Para ingerir documentos diretamente em uma base de conhecimento usando a API do Amazon Bedrock, envie uma [IngestKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_IngestKnowledgeBaseDocuments.html)solicitação com um [endpoint de tempo de construção do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) e especifique a ID da base de conhecimento e da fonte de dados à qual ela está conectada.

**nota**  
Se você especificar um identificador de documento ou um local do S3 que já exista na base de conhecimento, o documento será substituído pelo novo conteúdo.

O corpo da solicitação contém um campo,`documents`, que mapeia para uma matriz de [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objetos, cada um representando o conteúdo e os metadados opcionais de um documento para adicionar à fonte de dados e ingerir na base de conhecimento. Um objeto [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html) contém os seguintes campos:
+ conteúdo — mapeia para um [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto contendo informações sobre o conteúdo do documento a ser adicionado.
+ metadados — (Opcional) Mapeia para um [DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objeto contendo informações sobre os metadados do documento a ser adicionado. Para ter mais informações sobre como usar metadados durante a recuperação, consulte a seção **Metadados e filtragem** em [Configurar e personalizar consultas e geração de respostas](kb-test-config.md).

Selecione um tópico para saber como ingerir documentos para diferentes tipos de fonte de dados ou ver exemplos:

**Topics**
+ [Ingerir um documento em uma base de conhecimento conectada a uma fonte de dados personalizada](#kb-direct-ingestion-add-custom)
+ [Ingerir um documento em uma base de conhecimento conectada a uma fonte de dados do Amazon S3](#kb-direct-ingestion-add-s3)
+ [Exemplo de corpo de solicitação](#w2aac28c10c23c19c17c11b3c19)

### Ingerir um documento em uma base de conhecimento conectada a uma fonte de dados personalizada
<a name="kb-direct-ingestion-add-custom"></a>

Se o `dataSourceId` que você especificar pertencer a uma fonte de dados personalizada, você poderá adicionar conteúdo e metadados para cada [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objeto na `documents` matriz.

O conteúdo de um documento adicionado a uma fonte de dados personalizada pode ser definido das seguintes maneiras:

#### Definir o documento em linha
<a name="kb-direct-ingestion-add-custom-inline"></a>

É possível definir os seguintes tipos de documento em linha:

------
#### [ Text ]

Se o documento for texto, o [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto deverá estar no seguinte formato:

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "inlineContent": { 
            "textContent": { 
                "data": "string"
            },
            "type": "TEXT"
        },
        "sourceType": "IN_LINE"
    },
    "dataSourceType": "CUSTOM"
}
```

Inclua um ID para o documento no campo `id` e o texto do documento no campo `data`.

------
#### [ Bytes ]

Se o documento contiver mais do que texto, converta-o em uma string em base64. O [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto deve então estar no seguinte formato:

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "inlineContent": { 
            "byteContent": { 
                "data": blob,
                "mimeType": "string"
            },
            "type": "BYTE"
        },
        "sourceType": "IN_LINE"
    },
    "dataSourceType": "CUSTOM"
}
```

Inclua um ID para o documento no campo `id`, o documento codificado em base64 no campo `data` e o tipo de MIME no campo `mimeType`.

------

#### Ingerir o documento do S3
<a name="w2aac28c10c23c19c17c11b3c15b7b3"></a>

Se você estiver ingerindo um documento de um local do S3, o [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto no `content` campo deverá ter o seguinte formato:

```
{ 
    "custom": { 
        "customDocumentIdentifier": { 
            "id": "string"
        },
        "s3Location": { 
            "bucketOwnerAccountId": "string",
            "uri": "string"
        },
        "sourceType": "S3"
    },
    "dataSourceType": "CUSTOM"
}
```

Inclua um ID para o documento no campo `id`, o proprietário do bucket do S3 que contém o documento no campo `bucketOwnerAccountId` e o URI do S3 do documento no campo `uri`.

Os metadados de um documento podem ser definidos das seguintes maneiras:

#### Definir os metadados em linha
<a name="w2aac28c10c23c19c17c11b3c15c11b1"></a>

Se você definir os metadados em linha, o [DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objeto no `metadata` campo deverá estar no seguinte formato:

```
{ 
    "inlineAttributes": [ 
        { 
            "key": "string",
            "value": { 
                "stringValue": "string",
                "booleanValue": boolean,
                "numberValue": number,
                "stringListValue": [ "string" ],
                "type": "STRING" | "BOOLEAN" | "NUMBER" | "STRING_LIST"
            }
        }
    ],
    "type": "IN_LINE_ATTRIBUTE"
}
```

Para cada atributo que você adicionar, defina a chave no campo `key`. Especifique o tipo de dados do valor no campo `type` e inclua o campo que corresponde ao tipo de dados. Por exemplo, se você incluir uma string, o atributo estará no seguinte formato:

```
{ 
    "key": "string",
    "value": { 
        "stringValue": "string",
        "type": "STRING"
    }
}
```

#### Ingerir os metadados do S3
<a name="w2aac28c10c23c19c17c11b3c15c11b3"></a>

Também é possível ingerir metadados de um arquivo com a extensão `.metadata.json` em um local do S3. Para ter mais informações sobre o formato de um arquivo de metadados, consulte a seção **Campos de metadados do documento** em [Conectar-se ao Amazon S3 para obter sua base de conhecimento](s3-data-source-connector.md).

Se os metadados forem de um arquivo S3, o [DocumentMetadata](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentMetadata.html)objeto no `metadata` campo deverá estar no seguinte formato:

```
{
    "s3Location": { 
        "bucketOwnerAccountId": "string",
        "uri": "string"
    },
        "type": "S3_LOCATION"
    }
 }
```

Inclua o proprietário do bucket do S3 que contém o arquivo de metadados no campo `bucketOwnerAccountId` e o URI do S3 do arquivo de metadados no campo `uri`.

**Atenção**  
Se você definiu o conteúdo em linha, deverá definir os metadados em linha.

### Ingerir um documento em uma base de conhecimento conectada a uma fonte de dados do Amazon S3
<a name="kb-direct-ingestion-add-s3"></a>

Se o `dataSourceId` que você especificar pertencer a uma fonte de dados do S3, você poderá adicionar conteúdo e metadados para cada [KnowledgeBaseDocument](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_KnowledgeBaseDocument.html)objeto na `documents` matriz.

**nota**  
Para fontes de dados do S3, é possível adicionar conteúdo e metadados somente de um local do S3.

O conteúdo de um documento do S3 a ser adicionado ao S3 deve ser adicionado a um [DocumentContent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentContent.html)objeto no seguinte formato:

```
{ 
    "dataSourceType": "string",
    "s3": { 
        "s3Location": { 
            "uri": "string"
        }
    }
}
```

Inclua o proprietário do bucket do S3 que contém o documento no campo `bucketOwnerAccountId` e o URI do S3 do documento no campo `uri`.

Os metadados de um documento adicionado a uma fonte de dados personalizada podem ser definidos no seguinte formato:

```
{
    "s3Location": { 
        "bucketOwnerAccountId": "string",
        "uri": "string"
    },
        "type": "S3_LOCATION"
    }
 }
```

**Atenção**  
Os documentos que você ingere diretamente em uma base de conhecimento conectada a uma fonte de dados do S3 não são adicionados ao bucket do S3 em si. Recomendamos que você também adicione esses documentos à fonte de dados do S3 para que eles não sejam removidos ou substituídos se você sincronizar a fonte de dados.

### Exemplo de corpo de solicitação
<a name="w2aac28c10c23c19c17c11b3c19"></a>

Expanda as seções a seguir para ver o corpo da solicitação para diferentes casos de uso com `IngestKnowledgeBaseDocuments`:

#### Adicionar um documento de texto personalizado a uma fonte de dados personalizada e ingeri-lo
<a name="w2aac28c10c23c19c17c11b3c19b5b1"></a>

O seguinte exemplo mostra a adição de um documento de texto a uma fonte de dados personalizada:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "textContent": { 
                     "data": "Hello world!"
                  },
                  "type": "TEXT"
               },
               "sourceType": "IN_LINE"
            }
         }
     }
   ]
}
```

#### Adicionar um documento codificado em base64 a uma fonte de dados personalizada e ingeri-lo
<a name="w2aac28c10c23c19c17c11b3c19b5b3"></a>

O seguinte exemplo mostra a adição de um documento PDF a uma fonte de dados personalizada:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "byteContent": { 
                     "data": "<Base64-encoded string>",
                     "mimeType": "application/pdf"
                  },
                  "type": "BYTE"
               },
               "sourceType": "IN_LINE"
            }
         }
     }
   ]
}
```

#### Adicionar um documento de um local do S3 a uma base de conhecimento conectada a uma fonte de dados personalizada e ingeri-lo
<a name="w2aac28c10c23c19c17c11b3c19b5b5"></a>

O seguinte exemplo mostra a adição de um documento de texto a uma fonte de dados personalizada de um local do S3:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "s3": {
                "s3Location": {
                    "uri": "amzn-s3-demo-bucket"
                }
               },
               "sourceType": "S3"
            }
         }
     }
   ]
}
```

#### Adicionar um documento em linha a uma base de conhecimento conectada a uma fonte de dados personalizada e incluir metadados em linha
<a name="w2aac28c10c23c19c17c11b3c19b5b7"></a>

O seguinte exemplo mostra a adição em linha a uma fonte de dados personalizada de um documento com metadados que contêm dois atributos:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
   "documents": [ 
      { 
         "content": { 
            "dataSourceType": "CUSTOM",
            "custom": { 
               "customDocumentIdentifier": { 
                  "id": "MyDocument"
               },
               "inlineContent": { 
                  "textContent": { 
                     "data": "Hello world!"
                  },
                  "type": "TEXT"
               },
               "sourceType": "IN_LINE"
            }
         },
         "metadata": {
            "inlineAttributes": [ 
               { 
                  "key": "genre",
                  "value": {
                     "stringValue": "pop",
                     "type": "STRING"
                  }
               },
               { 
                  "key": "year",
                  "value": { 
                     "numberValue": 1988,
                     "type": "NUMBER"
                  }
               }
            ],
            "type": "IN_LINE_ATTRIBUTE"
         }
     }
   ]
}
```

#### Adicionar um documento a uma base de conhecimento conectada a uma fonte de dados do S3 e incluir metadados para ele
<a name="w2aac28c10c23c19c17c11b3c19b5b9"></a>

O exemplo a seguir mostra a adição de um documento com metadados a uma fonte de dados do S3. É possível incluir os metadados somente por meio do S3:

```
PUT /knowledgebases/KB12345678/datasources/DS12345678/documents HTTP/1.1
Content-type: application/json

{
    "documents": [ 
        { 
            "content": { 
                "dataSourceType": "S3",
                "s3": { 
                "s3Location": {
                    "uri": "amzn-s3-demo-bucket"
                }
            }
        },
        "metadata": {
            "s3Location": {
                "bucketOwnerId": "111122223333",
                "uri": "amzn-s3-demo-bucket"
            },
                "type": "S3_LOCATION"
            }
        }
    ]
}
```

# Visualizar informações sobre documentos na fonte de dados
<a name="kb-direct-ingestion-view"></a>

Os tópicos a seguir descrevem como visualizar documentos na fonte de dados. Se a base de conhecimento estiver conectada a uma fonte de dados do Amazon S3, é possível visualizar os documentos no bucket do S3 conectado.

**nota**  
Se você criou uma base de conhecimento conectando-se a uma fonte de dados do S3, deverá primeiro sincronizar a fonte de dados para poder usar essas operações de API na fonte de dados.

Expanda o método que corresponde ao seu caso de uso:

## Usar o console
<a name="kb-direct-ingestion-view-console"></a>

Para visualizar documentos na fonte de dados que foram ingeridos no Console de gerenciamento da AWS, faça o seguinte:

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, selecione a base de conhecimento que contém os documentos que você deseja visualizar.

1. Na seção **Fonte de dados**, selecione a fonte de dados que contém os detalhes que você deseja visualizar.

1. A seção **Documentos** lista os documentos na fonte de dados. Esses documentos também foram inseridos na base de conhecimento.

## Usar a API
<a name="kb-direct-ingestion-view-api"></a>

Com a API do Amazon Bedrock, é possível visualizar um subconjunto ou todos os documentos na fonte de dados que foram ingeridos na base de conhecimento. Selecione o tópico que diz respeito ao seu caso de uso.

**Topics**
+ [Visualizar informações sobre um subconjunto de documentos na base de conhecimento](#kb-direct-ingestion-get)
+ [Visualizar informações sobre todos os documentos na base de conhecimento](#kb-direct-ingestion-list)

### Visualizar informações sobre um subconjunto de documentos na base de conhecimento
<a name="kb-direct-ingestion-get"></a>

Para visualizar informações sobre documentos específicos, envie uma solicitação [GetKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBaseDocuments.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) e especifique o ID da fonte de dados e o da base de conhecimento à qual ela pertence.

Para cada documento sobre o qual você deseja obter informações, adicione um item [DocumentIdentifier](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentIdentifier.html) na matriz `documentIdentifiers` em um dos seguintes formatos:
+ Se a fonte de dados for personalizada, especifique o ID do documento no campo `id`:

  ```
  { 
      "custom": { 
          "id": "string"
      },
      "dataSourceType": "CUSTOM"
  }
  ```
+ Se a fonte de dados for do Amazon S3, especifique o URI do S3 do documento no campo `uri`:

  ```
  {
      "dataSourceType": "S3",
      "s3": { 
          "uri": "string"
      }
  }
  ```

A resposta exibe uma matriz de itens, cada um contendo informações sobre um documento que você solicitou.

### Visualizar informações sobre todos os documentos na base de conhecimento
<a name="kb-direct-ingestion-list"></a>

Para visualizar informações sobre todos os documentos em uma fonte de dados, envie uma solicitação [ListKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBaseDocuments.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) e especifique o ID da fonte de dados e o da base de conhecimento à qual ela pertence. Você tem também as seguintes opções:
+ Especifique `maxResults` para restringir o número de resultados a serem exibidos.
+ Se os resultados não couberem em uma resposta, um valor será exibido no campo `nextToken` da resposta. É possível usar esse valor no campo `nextToken` de uma solicitação subsequente para obter o próximo lote de resultados.

# Excluir documentos de uma base de conhecimento diretamente
<a name="kb-direct-ingestion-delete"></a>

É possível excluir um documento em sua base de conhecimento, caso não precise mais dele. Para saber como excluir documentos da fonte de dados e da base de conhecimento, expanda a seção que corresponde ao caso de uso:

## Usar o console
<a name="kb-direct-ingestion-delete-console"></a>

Para excluir documentos da fonte de dados e da base de conhecimento diretamente usando o Console de gerenciamento da AWS, faça o seguinte:

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, selecione a base de conhecimento da qual deseja excluir documentos.

1. Na seção **Fonte de dados**, selecione a fonte de dados da qual você deseja excluir documentos.

1. Na seção **Documentos**, selecione um documento a ser excluído. Em seguida, escolha **Excluir documento**. Analise a mensagem e confirme.

## Usar a API
<a name="kb-direct-ingestion-delete-api"></a>

Para excluir documentos específicos da fonte de dados por meio da API do Amazon Bedrock, envie uma solicitação [DeleteKnowledgeBaseDocuments](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteKnowledgeBaseDocuments.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) e especifique os ID da fonte de dados e o da base de conhecimento à qual ela está conectada.

Para cada documento que você deseja excluir, adicione um item [DocumentIdentifier](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DocumentIdentifier.html) na matriz `documentIdentifiers` em um dos seguintes formatos:
+ Se a fonte de dados for personalizada, especifique o ID do documento no campo `id`:

  ```
  { 
      "custom": { 
          "id": "string"
      },
      "dataSourceType": "CUSTOM"
  }
  ```
+ Se a fonte de dados for do Amazon S3, especifique o URI do S3 do documento no campo `uri`:

  ```
  {
      "dataSourceType": "S3",
      "s3": { 
          "uri": "string"
      }
  }
  ```

**Atenção**  
Os documentos que você exclui diretamente de uma base de conhecimento conectada a uma fonte de dados do S3 não são excluídos do próprio bucket do S3. Recomendamos que você exclua esses documentos do bucket do S3 para que eles não sejam reintroduzidos se você sincronizar a fonte de dados.

# Visualizar as informações da fonte de dados da base de conhecimento do Amazon Bedrock
<a name="kb-ds-info"></a>

É possível visualizar informações sobre uma fonte de dados da base de conhecimento, como as configurações e o histórico de sincronização.

Para monitorar a base de conhecimento, incluindo qualquer fonte de dados da base de conhecimento, consulte [Registro em log da base de conhecimento usando o Amazon CloudWatch](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html).

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

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

**Como visualizar informações sobre uma fonte de dados**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Fonte de dados**, selecione a fonte de dados cujos detalhes deseja visualizar.

1. A **Visão geral da fonte de dados** contém detalhes sobre a fonte de dados.

1. O **Histórico de sincronização** contém detalhes sobre quando a fonte de dados foi sincronizada. Para ver os motivos da falha de um evento de sincronização, selecione um evento de sincronização e escolha **Visualizar avisos**.

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

Para obter informações sobre uma fonte de dados, envie uma solicitação [GetDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetDataSource.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) e especifique o `dataSourceId` e o `knowledgeBaseId` da base de conhecimento à qual ela pertence.

Para listar informações sobre as fontes de dados de uma base de conhecimento, envie uma solicitação [ListDataSources](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListDataSources.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) e especifique o ID da base de conhecimento.
+ Para definir o número máximo de resultados a serem retornados em uma resposta, use o campo `maxResults`.
+ Se houver mais resultados do que o número definido, a resposta exibirá um `nextToken`. É possível usar esse valor em outra solicitação `ListDataSources` para ver o próximo lote de resultados.

Para obter informações sobre um evento de sincronização de uma fonte de dados, envie uma solicitação [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique o `dataSourceId`, o `knowledgeBaseId` e o `ingestionJobId`.

Para listar o histórico de sincronização de uma fonte de dados em uma base de conhecimento, envie uma solicitação [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Especifique o ID da base de conhecimento e da fonte de dados. É possível definir as especificações a seguir.
+ Filtre os resultados especificando um status a ser pesquisado no objeto `filters`.
+ Classifique pela hora em que o trabalho foi iniciado ou pelo status de um trabalho, especificando o objeto `sortBy`. É possível classificar em ordem crescente ou decrescente.
+ Defina o número máximo de resultados a serem retornados em uma resposta no campo `maxResults`. Se houver mais resultados do que o número definido, a resposta retornará um `nextToken` que você poderá enviar em outra solicitação [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) para ver o próximo lote de trabalhos.

------

# Modificar uma fonte de dados da base de conhecimento do Amazon Bedrock
<a name="kb-ds-update"></a>

É possível atualizar uma fonte de dados da base de dados, como alterar as configurações da fonte de dados.

É possível atualizar uma fonte de dados das seguintes maneiras:
+ Adicionar, alterar ou remover arquivos ou conteúdo da fonte de dados.
+ Alterar as configurações da fonte de dados ou a chave do KMS a ser usada para criptografar dados transitórios durante a ingestão de dados. Se você alterar os detalhes da configuração da fonte ou do endpoint, deverá atualizar ou criar um perfil do IAM com as permissões de acesso necessárias e o segredo do Secrets Manager (se aplicável).
+ Defina a política de exclusão de fonte de dados como “Excluir” ou “Reter”. É possível excluir todos os dados da fonte de dados que são convertidos em incorporações de vetores após a exclusão de uma base de conhecimento ou recurso de fonte de dados. É possível reter todos os dados da fonte de dados que são convertidos em incorporações de vetores após a exclusão de uma base de conhecimento ou recurso de fonte de dados. Observe que o **armazenamento de vetores em si não será excluído** se você excluir uma base de conhecimento ou um recurso de fonte de dados.

Sempre que você adicionar, modificar ou remover arquivos da fonte de dados, sincronize a fonte de dados para que ela seja reindexada na base de conhecimento. A sincronização é incremental, portanto, o Amazon Bedrock processa somente documentos adicionados, modificados ou excluídos desde a última sincronização. Antes de começar a ingestão, verifique se a fonte de dados atende às seguintes condições:
+ Os arquivos estão nos formatos compatíveis. Para obter mais informações, consulte [Formatos de documento compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-supported-doc-formats-limits).
+ Os arquivos não excedem o **tamanho do arquivo de trabalho de ingestão** especificado em [Amazon Bedrock endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/bedrock.html) no Referência geral da AWS.
+ Se a fonte de dados contiver arquivos de metadados, verifique as seguintes condições para garantir que os arquivos de metadados não sejam ignorados:
  + Cada arquivo `.metadata.json` compartilha o mesmo nome e extensão do arquivo de origem ao qual está associado.
  + Se o índice de vetores da base de conhecimento estiver em um armazenamento de vetores do Amazon OpenSearch Sem Servidor, verifique se o índice de vetores está configurado com o mecanismo `faiss`. Se o índice de vetores estiver configurado com o mecanismo `nmslib`, será necessário fazer o seguinte:
    + [Criar uma base de conhecimento](knowledge-base-create.md) no console e permitir que o Amazon Bedrock crie automaticamente um índice de vetores no Amazon OpenSearch Sem Servidor 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 o índice de vetores da base de conhecimento estiver em um cluster de banco de dados do Amazon Aurora, recomendamos que você use o campo de metadados personalizados para armazenar todos os metadados em uma única coluna e criar um índice nessa coluna. Se você não fornecer o campo de metadados personalizados, verifique se a tabela do índice contém uma coluna para cada propriedade de metadados nos arquivos de metadados antes de iniciar a ingestão. Para obter mais informações, consulte [Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento](knowledge-base-setup.md).

Para saber como atualizar uma fonte de dados, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

**Como atualizar uma fonte de dados**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Selecione o nome da base de conhecimento.

1. Na seção **Fonte de dados**, selecione o botão de opção ao lado da fonte de dados que deseja editar ou sincronizar.

1. (Opcional) Escolha **Editar**, altere as configurações e selecione **Enviar**. Se você alterar os detalhes da configuração da fonte ou do endpoint, deverá atualizar ou criar um perfil do IAM com as permissões de acesso necessárias e o segredo do Secrets Manager (se aplicável). Além disso, observe que não é possível alterar as configurações de fragmentação baseadas nos dados originais ingeridos. Recrie a fonte de dados.
**nota**  
Não é possível alterar as configurações de fragmentação. Recrie a fonte de dados.

1. (Opcional) Escolha editar a política de exclusão de dados da fonte de dados como parte das configurações avançadas:

   Para configurações da política de exclusão de dados, você pode escolher uma das seguintes opções:
   + Excluir: exclui todos os dados da fonte de dados que são convertidos em incorporações de vetores após a exclusão de uma base de conhecimento ou de recurso de fonte de dados. O **armazenamento de vetores propriamente dito não é excluído**, apenas os dados. Esse sinalizador será ignorado se uma conta da AWS for excluída.
   + Reter: retém todos os dados da fonte de dados que são convertidos em incorporações de vetores após a exclusão de uma base de conhecimento ou recurso de fonte de dados. Observe que o **armazenamento de vetores em si não será excluído** se você excluir uma base de conhecimento ou um recurso de fonte de dados.

1. Escolha **Sincronizar**.

1. Um banner verde aparece quando a sincronização é concluída e o **Status** se torna **Pronto**.

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

**Como atualizar uma fonte de dados**

1. (Opcional) Envie uma solicitação [UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), alterando todas as configurações e especificando as mesmas configurações que você não deseja alterar. Se você alterar os detalhes da configuração da fonte ou do endpoint, deverá atualizar ou criar um perfil do IAM com as permissões de acesso necessárias e o segredo do Secrets Manager (se aplicável).
**nota**  
Não é possível alterar a `chunkingConfiguration`. Envie a solicitação com a `chunkingConfiguration` existente ou recrie a fonte de dados.

1. (Opcional) Altere a `dataDeletionPolicy` da fonte de dados. É possível `DELETE` todos os dados da fonte de dados que são convertidos em incorporações de vetores após a exclusão de uma base de conhecimento ou recurso de fonte de dados. Esse sinalizador será ignorado se uma conta da AWS for excluída. É possível `RETAIN` todos os dados da fonte de dados que são convertidos em incorporações de vetores após a exclusão de uma base de conhecimento ou recurso de fonte de dados. Observe que o **armazenamento de vetores em si não será excluído** se você excluir uma base de conhecimento ou um recurso de fonte de dados.

1. Envie uma solicitação [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), especificando o `dataSourceId` e o `knowledgeBaseId`.

------

# Excluir uma fonte de dados da base de conhecimento do Amazon Bedrock
<a name="kb-ds-delete"></a>

É possível excluir ou remover uma fonte de dados que não é mais usada ou necessária da base de conhecimento.

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

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

**Como excluir uma fonte de dados**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Fonte de dados**, selecione o botão de opção ao lado da fonte de dados que deseja excluir.

1. Escolha **Excluir**.

1. Um banner verde aparece quando a fonte de dados é excluída com sucesso.
**nota**  
A política de exclusão de dados da fonte de dados está definida como “Delete” (exclui todos os dados quando você exclui a fonte de dados, mas **não exclui o armazenamento de vetores em si**) ou como “Retain” (retém todos os dados quando você exclui a fonte de dados). Se você excluir uma fonte de dados ou uma base de conhecimento, o **armazenamento de vetores em si não será excluído**. Se a política de exclusão de dados da fonte de dados estiver definida como “Delete”, é possível que a fonte de dados conclua o processo de exclusão sem êxito devido a problemas com a configuração ou o acesso ao armazenamento de vetores. É possível verificar o status “DELETE\$1UNSUCCESSFUL” para ver o motivo pelo qual a fonte de dados não pôde ser excluída com êxito.

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

Para excluir uma fonte de dados de uma base de conhecimento, envie uma solicitação [DeleteDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeletDataSource.html), especificando o `dataSourceId` e o `knowledgeBaseId`.

**nota**  
A política de exclusão de dados da fonte de dados está definida como `DELETE` (exclui todos os dados quando você exclui a fonte de dados, mas **não exclui o armazenamento de vetores em si**) ou como `RETAIN` (retém todos os dados quando você exclui a fonte de dados). Se você excluir uma fonte de dados ou uma base de conhecimento, o **armazenamento de vetores em si não será excluído**. Se a política de exclusão de dados da fonte de dados estiver definida como `DELETE`, é possível que a fonte de dados conclua o processo de exclusão sem êxito devido a problemas com a configuração ou o acesso ao armazenamento de vetores. É possível visualizar `failureReasons` se o status da fonte de dados for `DELETE_UNSUCCESSFUL` para ver o motivo pelo qual a fonte de dados não pôde ser excluída com êxito.

------

# Crie uma base de conhecimento para conteúdo multimodal
<a name="kb-multimodal"></a>

O Amazon Bedrock Knowledge Bases oferece suporte a conteúdo multimodal, incluindo arquivos de imagens, áudio e vídeo. Você pode pesquisar usando imagens como consultas, recuperar conteúdo visualmente semelhante e processar arquivos multimídia junto com documentos de texto tradicionais. Esse recurso permite que você extraia insights de diversos tipos de dados — imagens independentes, gravações de áudio e arquivos de vídeo armazenados em toda a sua organização.

As bases de conhecimento Amazon Bedrock permitem que você indexe e recupere informações de conteúdo de texto, visual e áudio. Agora, as organizações podem pesquisar catálogos de produtos usando imagens, encontrar momentos específicos em vídeos de treinamento e recuperar segmentos relevantes das gravações de chamadas de suporte ao cliente.

**Disponibilidade regional**  
As abordagens de processamento multimodal têm diferentes disponibilidades regionais. Para obter informações detalhadas, consulte [Disponibilidade regional](kb-multimodal-choose-approach.md#kb-multimodal-processing-regions).

## Recursos e capacidades
<a name="kb-multimodal-features"></a>

As bases de conhecimento multimodais fornecem os seguintes recursos principais:

**Consultas baseadas em imagens**  
Envie imagens como consultas de pesquisa para encontrar conteúdo visualmente semelhante ao usar o Nova Multimodal Embeddings. Oferece suporte à correspondência de produtos, à pesquisa visual por similaridade e à recuperação de imagens.

**Recuperação de conteúdo de áudio**  
Pesquise arquivos de áudio usando consultas de texto. Recupere segmentos específicos de gravações com referências de carimbo de data/hora. A transcrição de áudio permite a pesquisa baseada em texto em conteúdo falado, incluindo reuniões, chamadas e podcasts.

**Extração de segmentos de vídeo**  
Localize momentos específicos em arquivos de vídeo usando consultas de texto. Recupere segmentos de vídeo com registros de data e hora precisos.

**Pesquisa multimodal**  
Pesquise em diferentes tipos de dados, incluindo documentos de texto, imagens, áudio e vídeo. Recupere conteúdo relevante, independentemente do formato original.

**Referências de origem com carimbos de data/hora**  
Os resultados da recuperação incluem referências aos arquivos originais com metadados temporais para áudio e vídeo. Permite uma navegação precisa para segmentos relevantes dentro do conteúdo multimídia.

**Opções flexíveis de processamento**  
Escolha entre incorporações multimodais nativas para semelhança visual ou conversão de texto para conteúdo baseado em fala. Configure a abordagem de processamento com base nas características do conteúdo e nos requisitos do aplicativo.

## Como funciona
<a name="kb-multimodal-how-it-works"></a>

As bases de conhecimento multimodais processam e recuperam conteúdo por meio de um pipeline de vários estágios que lida adequadamente com diferentes tipos de dados:

****Ingestão e processamento****

1. **Conexão com a fonte de dados:** conecte sua base de conhecimento aos buckets do Amazon S3 ou fontes de dados personalizadas contendo documentos de texto, imagens, arquivos de áudio e arquivos de vídeo.

1. **Detecção do tipo de arquivo:** o sistema identifica cada tipo de arquivo por sua extensão e o encaminha para o pipeline de processamento apropriado.

1. **Processamento de conteúdo:** dependendo da sua configuração, os arquivos são processados usando uma das duas abordagens:
   + **Nova Multimodal Embeddings:** preserva o formato nativo para correspondência de similaridade visual e de áudio. Imagens, áudio e vídeo são incorporados diretamente sem conversão em texto.
   + **Bedrock Data Automation (BDA):** converte multimídia em representações de texto. O áudio é transcrito usando o Reconhecimento Automático de Fala (ASR), o vídeo é processado para extrair resumos e transcrições de cenas e as imagens passam por OCR e extração de conteúdo visual.

1. **Geração de incorporação:** o conteúdo processado é convertido em incorporações vetoriais usando o modelo de incorporação selecionado. Essas incorporações capturam o significado semântico e permitem a recuperação baseada em similaridade.

1. **Armazenamento vetorial:** as incorporações são armazenadas em seu banco de dados vetoriais configurado junto com metadados, incluindo referências de arquivos, registros de data e hora (para áudio e vídeo) e informações do tipo de conteúdo.

1. **Armazenamento multimodal (opcional):** se configurados, os arquivos multimídia originais são copiados para um destino de armazenamento multimodal dedicado para recuperação confiável, garantindo a disponibilidade mesmo se os arquivos de origem forem modificados ou excluídos.

****Consulta e recuperação****

1. **Processamento de consultas:** as consultas do usuário (texto ou imagem) são convertidas em incorporações usando o mesmo modelo de incorporação usado durante a ingestão.

1. **Pesquisa por similaridade:** a incorporação da consulta é comparada com as incorporações armazenadas no banco de dados vetoriais para identificar o conteúdo mais relevante.

1. **Recuperação do resultado:** o sistema retorna o conteúdo correspondente com metadados, incluindo:
   + URI de origem (localização do arquivo original)
   + Metadados de timestamp (para segmentos de áudio e vídeo)
   + Informações sobre tipo e modalidade de conteúdo

1. **Geração de resposta (opcional):** para `RetrieveAndGenerate` solicitações, o conteúdo recuperado é passado para um modelo básico para gerar respostas de texto contextualmente relevantes. Isso é suportado ao usar o processamento do BDA ou quando a base de conhecimento contém conteúdo de texto.

**Importante**  
O sistema retorna referências a arquivos completos com metadados de registro de data e hora para conteúdo de áudio e vídeo. Seu aplicativo deve extrair e reproduzir segmentos específicos com base nos registros de data e hora de início e término fornecidos. Eles Console de gerenciamento da AWS lidam com isso automaticamente.

**Topics**
+ [Recursos e capacidades](#kb-multimodal-features)
+ [Como funciona](#kb-multimodal-how-it-works)
+ [Escolhendo sua abordagem de processamento multimodal](kb-multimodal-choose-approach.md)
+ [Pré-requisitos para bases de conhecimento multimodais](kb-multimodal-prerequisites.md)
+ [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal-create.md)
+ [Adicionar fontes de dados e iniciar a ingestão](kb-multimodal-add-data-source-and-ingest.md)
+ [Testando e consultando bases de conhecimento multimodais](kb-multimodal-test-and-query.md)
+ [Solução de problemas de bases de conhecimento multimodais](kb-multimodal-troubleshooting.md)

# Escolhendo sua abordagem de processamento multimodal
<a name="kb-multimodal-choose-approach"></a>

O Amazon Bedrock Knowledge Bases oferece duas abordagens para o processamento de conteúdo multimodal: Nova Multimodal Embeddings para pesquisas de similaridade visual e Bedrock Data Automation (BDA) para processamento de conteúdo multimídia baseado em texto. Você também pode usar modelos básicos como analisador se sua modalidade de entrada for imagem, mas não para áudio ou vídeo.

Esta seção descreve o uso do Nova Multimodal Embeddings e do BDA como sua abordagem de processamento para conteúdo multimodal. Cada abordagem é otimizada para diferentes casos de uso e padrões de consulta.

**Topics**
+ [Abordagem de processamento multimodal](#kb-multimodal-processing-approach)
+ [Disponibilidade regional](#kb-multimodal-processing-regions)
+ [Critérios de seleção por tipo de conteúdo](#kb-multimodal-selection-guidance)
+ [Tipos de arquivo e fontes de dados compatíveis](#kb-multimodal-supported-files)
+ [Capacidades e limitações](#kb-multimodal-approach-details)

## Abordagem de processamento multimodal
<a name="kb-multimodal-processing-approach"></a>

A tabela a seguir mostra uma comparação entre Nova Multimodal Embeddings e BDA para processamento de conteúdo multimodal.


**Comparação da abordagem de processamento**  

| Característica | Incorporações multimodais Nova | Automação de dados Bedrock (BDA) | 
| --- | --- | --- | 
| Método de processamento | Gera incorporações sem conversão intermediária de texto | Converte multimídia em texto e cria incorporações | 
| Tipos de consulta compatíveis | Consultas de texto ou consultas de imagem | Somente consultas de texto | 
| Casos de uso primários | Pesquisa visual por similaridade, correspondência de produtos, descoberta de imagens | Transcrição de fala, pesquisa baseada em texto, análise de conteúdo | 
| Funcionalidade RAG | Limitado somente ao conteúdo de texto | RetrieveAndGenerateSuporte completo | 
| Requisitos de armazenamento | Destino de armazenamento multimodal necessário | Destino de armazenamento multimodal opcional, mas se não for especificado, somente dados de texto serão processados pelo BDA. Para entrada que não seja de texto, você deve especificar um destino de armazenamento multimodal. | 

## Disponibilidade regional
<a name="kb-multimodal-processing-regions"></a>


**Disponibilidade regional**  

| Incorporações multimodais Nova | Automação de dados Bedrock (BDA) | 
| --- | --- | 
| Somente leste dos EUA (Norte da Virgínia) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/kb-multimodal-choose-approach.html)  | 

## Critérios de seleção por tipo de conteúdo
<a name="kb-multimodal-selection-guidance"></a>

Use essa matriz de decisão para escolher a abordagem de processamento apropriada com base em seus requisitos de conteúdo e caso de uso:

**nota**  
Se você usar o analisador BDA com o modelo Amazon Nova Multimodal Embeddings, o modelo de incorporação funcionará como um modelo de incorporação de texto. Ao trabalhar com conteúdo multimodal, use uma das abordagens de processamento para obter melhores resultados, dependendo do seu caso de uso.


**Recomendações de abordagem de processamento por tipo de conteúdo**  

| Tipo de conteúdo | Incorporações multimodais Nova | Automação de dados Bedrock (BDA) | 
| --- | --- | --- | 
| Catálogos e imagens de produtos | Recomendado - Permite correspondência visual de similaridade e consultas baseadas em imagens | Limitado - Extrai texto somente por meio do OCR | 
| Gravações e chamadas de reuniões | Não é possível processar o conteúdo da fala de forma significativa | Recomendado - Fornece transcrição completa do discurso e texto pesquisável | 
| Vídeos educacionais e de treinamento | Parcial - manipula conteúdo visual, mas perde a fala | Recomendado - Captura transcrições de fala e descrições visuais | 
| Gravações de suporte ao cliente | Não recomendado - o conteúdo da fala não pode ser processado de forma eficaz | Recomendado - Cria transcrições completas de conversas pesquisáveis | 
| Diagramas e gráficos técnicos | Recomendado - Excelente para semelhança visual e correspondência de padrões | Limitado - Extrai rótulos de texto, mas perde relações visuais | 

## Tipos de arquivo e fontes de dados compatíveis
<a name="kb-multimodal-supported-files"></a>

Os tipos de arquivo suportados dependem da abordagem de processamento escolhida:


**Tipos de arquivo suportados por abordagem de processamento**  

| Tipo de arquivo | Incorporações multimodais Nova | Automação de dados Bedrock (BDA) | 
| --- | --- | --- | 
| Imagens | .png, .jpg, .jpeg, .gif, .webp | .png, .jpg, .jpeg | 
| Áudio | .mp3, .ogg, .wav | .amr, .flac, .m4a, .mp3, .ogg, .wav | 
| Vídeo | .mp4, .mov, .mkv, .webm, .flv, .mpeg, .mpg, .wmv, .3gp | .mp4, .mov | 
| Documentos | Processado como texto | .pdf (mais extração de texto de imagens) | 

****Fonte de dados compatíveis****  
O conteúdo multimodal é compatível com as seguintes fontes de dados:
+ **Amazon S3:** suporte total para todos os tipos de arquivos multimodais
+ **Fontes de dados personalizadas:** Support para conteúdo embutido de até 10 MB codificado em base64

**Importante**  
Atualmente, a recuperação multimodal está disponível somente para fontes de dados do Amazon S3. Outras fontes de dados (Confluence, Salesforce SharePoint, Web Crawler) não processam arquivos multimodais durante a ingestão. Esses arquivos são ignorados e não estarão disponíveis para consultas multimodais.

## Capacidades e limitações
<a name="kb-multimodal-approach-details"></a>

**Incorporações multimodais Nova**  
**Principais capacidades:**  
+ O processamento multimodal nativo preserva o formato do conteúdo original para uma combinação ideal de similaridade visual
+ As consultas baseadas em imagens permitem que os usuários façam upload de imagens e encontrem conteúdo visualmente semelhante
+ Excelente desempenho para catálogos de produtos, pesquisa visual e aplicativos de descoberta de conteúdo
**Limitações:**  
+ Não é possível processar com eficiência o conteúdo de voz ou áudio - as informações faladas não podem ser pesquisadas
+ `RetrieveAndGenerate`e a funcionalidade de reclassificação é limitada somente ao conteúdo de texto
+ Requer a configuração de um destino de armazenamento multimodal dedicado

**Automação de dados Bedrock (BDA)**  
**Principais capacidades:**  
+ Transcrição abrangente de fala usando a tecnologia de Reconhecimento Automático de Fala (ASR)
+ A análise visual de conteúdo gera texto descritivo para imagens e cenas de vídeo
+ O `RetrieveAndGenerate` suporte total permite a funcionalidade completa do RAG em todo o conteúdo
+ A pesquisa baseada em texto funciona de forma consistente em todos os tipos de conteúdo multimídia
**Limitações:**  
+ Não há suporte para consultas baseadas em imagens quando usadas sem o Nova Multimodal Embeddings - todas as pesquisas devem usar entrada de texto
+ Não é possível realizar pesquisas ou image-to-image correspondências visuais por similaridade
+ Maior tempo de processamento da ingestão devido aos requisitos de conversão de conteúdo
+ Suporta menos formatos de arquivo multimídia em comparação com o Nova Multimodal Embeddings

**Processamento de conteúdo de fala**  
A Nova Multimodal Embeddings não pode processar com eficácia o conteúdo de fala em arquivos de áudio ou vídeo. Se seu conteúdo multimídia contiver informações faladas importantes que os usuários precisam pesquisar, escolha a abordagem BDA para garantir a transcrição e a capacidade de pesquisa completas.

# Pré-requisitos para bases de conhecimento multimodais
<a name="kb-multimodal-prerequisites"></a>

As bases de conhecimento multimodais do Amazon Bedrock exigem configurações adicionais além das bases de conhecimento padrão para processar conteúdo de imagens, áudio e vídeo. Os pré-requisitos específicos dependem da abordagem de processamento e da configuração de armazenamento escolhidas.

Antes de criar uma base de conhecimento multimodal, você deve atender aos seguintes pré-requisitos:

**Topics**
+ [Pré-requisitos](#kb-multimodal-prerequisites)
+ [Permissões para conteúdo multimodal](#kb-multimodal-prerequisites-permissions)

## Pré-requisitos
<a name="kb-multimodal-prerequisites"></a>

1. Seus dados devem estar em um [conector de fonte de dados compatível](data-source-connectors.md). O conteúdo multimodal só é compatível com o Amazon S3 e fontes de dados personalizadas.

1. (Opcional) [Configurar o seu próprio armazenamento de vetores compatível](knowledge-base-setup.md). É possível ignorar essa etapa caso pretenda usar o Console de gerenciamento da AWS para criar um armazenamento de vetores automaticamente para você.

1. Crie uma [função de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) personalizada AWS Identity and Access Management (IAM) com as permissões adequadas para processamento multimodal. Para mais detalhes, consulte [Permissões para conteúdo multimodal](#kb-multimodal-prerequisites-permissions).
**nota**  
Se você estiver usando o console, o Amazon Bedrock Knowledge Bases configurará automaticamente as permissões para você.

1. (Opcional) Defina configurações adicionais de segurança seguindo as etapas em [Criptografia de recursos da base de conhecimento](encryption-kb.md).

1. Se você planeja usar a operação de [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)API com conteúdo processado pelo BDA, solicite acesso aos modelos que você usará nas regiões em que os usará seguindo as etapas em. [Acessar modelos de base do Amazon Bedrock](model-access.md)

## Permissões para conteúdo multimodal
<a name="kb-multimodal-prerequisites-permissions"></a>

As bases de conhecimento multimodais exigem permissões adicionais além das permissões padrão da base de conhecimento. As permissões específicas dependem da abordagem de processamento e da configuração de armazenamento escolhidas.

Você deve configurar as seguintes permissões com base em sua abordagem de processamento multimodal:
+ **Permissões do Nova Multimodal Embeddings:** necessárias ao usar o Nova Multimodal Embeddings para pesquisas diretas de similaridade visual e de áudio. Inclui permissões para invocação assíncrona de modelos e acesso ao armazenamento multimodal.
+ **Permissões do Bedrock Data Automation (BDA):** necessárias ao usar o BDA para converter conteúdo multimodal em representações de texto. Inclui permissões para invocação de automação de dados e monitoramento de status.
+ **Permissões de chave KMS gerenciadas pelo cliente:** necessárias ao usar chaves de criptografia gerenciadas pelo cliente com processamento de BDA. Inclui permissões para operações-chave e criação de subsídios.
+ **Permissões de armazenamento multimodal:** necessárias ao configurar um destino de armazenamento multimodal. Inclui permissões padrão do S3 para o bucket de armazenamento.

Para políticas detalhadas do IAM e configuração de step-by-step permissões, consulte[Permissões para conteúdo multimodal](kb-permissions.md#kb-permissions-multimodal).

### Requisitos de armazenamento
<a name="kb-multimodal-storage-requirements"></a>

**Incorporações multimodais Nova**  
**Obrigatório:** Você deve configurar um destino de armazenamento multimodal. Esse destino armazena cópias de seus arquivos multimídia para recuperação e garante a disponibilidade mesmo se os arquivos de origem forem modificados ou excluídos.

**Automação de dados Bedrock (BDA)**  
**Opcional:** você pode configurar um bucket de armazenamento multimodal para maior confiabilidade e também para recuperar o arquivo em tempo de execução. No entanto, isso não é obrigatório, pois o BDA converte conteúdo em texto.  
Se você selecionar o analisador BDA sem configurar um bucket de armazenamento multimodal, somente a análise de texto estará disponível. Para aproveitar os recursos de análise multimodal com o BDA (processamento de imagens, áudio e vídeo), você deve configurar um destino de armazenamento multimodal.

**Configuração de destino de armazenamento multimodal**  
Ao configurar seu destino de armazenamento multimodal, considere o seguinte:
+ **Use buckets separados (recomendado):** configure diferentes buckets do Amazon S3 para sua fonte de dados e destino de armazenamento multimodal. Isso fornece a configuração mais simples e evita possíveis conflitos.
+ **Se estiver usando o mesmo bucket:** você deve especificar um prefixo de inclusão para sua fonte de dados que limite o conteúdo que é ingerido. Isso evita a reingestão dos arquivos de mídia extraídos.
+ **Evite o prefixo “aws/”:** ao usar o mesmo bucket para a fonte de dados e o destino de armazenamento multimodal, não use prefixos de inclusão começando com “aws/”, pois esse caminho é reservado para armazenamento de mídia extraído.

# Crie uma base de conhecimento para conteúdo multimodal
<a name="kb-multimodal-create"></a>

Você pode criar bases de conhecimento multimodais usando o console ou a API. Escolha sua abordagem com base em suas necessidades de processamento multimodal.

**Importante**  
O suporte multimodal só está disponível ao criar uma base de conhecimento com fontes de dados não estruturadas. As fontes de dados estruturadas não oferecem suporte ao processamento de conteúdo multimodal.

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

**Para criar uma base de conhecimento multimodal a partir do console**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, escolha **Criar** e selecione **Base de conhecimento com armazenamento vetorial**.

1. (Opcional) Em **Detalhes da base de conhecimento**, altere o nome padrão e dê uma descrição para a base de conhecimento.

1. Em **Permissões do IAM** escolha um perfil do IAM que forneça permissão ao Amazon Bedrock para acessar outros Serviços da AWS necessários. Você pode fazer com que o Amazon Bedrock crie a função de serviço para você ou pode optar por usar sua própria função personalizada. Para obter permissões multimodais, consulte. [Permissões para conteúdo multimodal](kb-permissions.md#kb-permissions-multimodal)

1. Escolha o **Amazon S3** como sua fonte de dados e escolha **Avançar** para configurar sua fonte de dados.
**nota**  
Você pode adicionar até 5 fontes de dados do Amazon S3 durante a criação da base de conhecimento. Fontes de dados adicionais podem ser adicionadas após a criação da base de conhecimento.

1. Forneça o **URI do S3** do bucket que contém seu conteúdo multimodal e configure um prefixo de inclusão, se necessário. O prefixo de inclusão é um caminho de pasta que pode ser usado para limitar o conteúdo que é ingerido.

1. Em **Configurações de fragmentação e análise**, escolha sua estratégia de análise:
   + **Analisador padrão Bedrock:** recomendado para processamento de conteúdo somente de texto. Esse analisador processa formatos de texto comuns enquanto ignora arquivos multimodais. Oferece suporte a documentos de texto, incluindo arquivos Word, Excel, HTML, Markdown, TXT e CSV.
   + **Bedrock Data Automation (BDA):** converte conteúdo multimodal em representações de texto pesquisáveis. Processos PDFs, imagens, arquivos de áudio e vídeo para extrair texto, gerar descrições para conteúdo visual e criar transcrições para conteúdo de áudio e vídeo.
   + **Analisador de modelos Foundation:** fornece recursos avançados de análise para estruturas complexas de documentos. Processos PDFs, imagens, documentos estruturados, tabelas e conteúdo visualmente rico para extrair texto e gerar descrições para elementos visuais.

1. Escolha **Avançar** e selecione seu modelo de incorporação e abordagem de processamento multimodal. 
   + **Amazon Nova Multimodal Embeddings V1.0: escolha Amazon Nova embedding** **V1.0** para pesquisas diretas de similaridade visual e de áudio. Configure a duração do fragmento de áudio e vídeo (1 a 30 segundos, padrão 5 segundos) para controlar como o conteúdo é segmentado.
**nota**  
Os parâmetros de fragmentação de áudio e vídeo são configurados no nível do modelo de incorporação, não no nível da fonte de dados. Ocorrerá uma exceção de validação se você fornecer essa configuração para modelos de incorporação não multimodais. Configure a duração do fragmento de áudio e vídeo (padrão: 5 segundos, intervalo: 1 a 30 segundos) para controlar como o conteúdo é segmentado. Pedaços mais curtos permitem a recuperação precisa do conteúdo, enquanto pedaços mais longos preservam mais contexto semântico.
**Importante**  
O Amazon Nova embedding v1.0 tem suporte limitado para pesquisar conteúdo de fala em audio/video dados. Se você precisar oferecer suporte à fala, use o Bedrock Data Automation como analisador.
   + **Incorporações de texto com o BDA:** escolha um modelo de incorporação de texto (como o Titan Text Embeddings v2) ao usar o processamento do BDA. Os modelos de incorporação de texto limitam a recuperação ao conteúdo somente de texto, mas você pode habilitar a recuperação multimodal selecionando Amazon Bedrock Data Automation ou Foundation Model como analisadores.
**nota**  
Se você usar o analisador BDA com o Nova Multimodal Embeddings, o Amazon Bedrock Knowledge Bases usará primeiro a análise do BDA. Nesse caso, o modelo de incorporação não gerará incorporações multimodais nativas para imagens, áudio e vídeo, pois o BDA os converte em representações de texto.

1. Se estiver usando o Nova Multimodal Embeddings, configure o **destino de armazenamento multimodal** especificando um bucket do Amazon S3 onde os arquivos processados serão armazenados para recuperação. As bases de conhecimento armazenarão imagens analisadas em um único bucket do Amazon S3 com uma pasta criada.bda para facilitar o acesso.
**Recomendação de política de ciclo de vida**  
Ao usar o Nova Multimodal Embeddings, o Amazon Bedrock armazena dados transitórios em seu destino de armazenamento multimodal e tenta excluí-los após a conclusão do processamento. Recomendamos aplicar uma política de ciclo de vida no caminho transitório dos dados para garantir a limpeza adequada. Para obter instruções detalhadas, consulte [Gerenciamento de dados transitórios com políticas de ciclo de vida do Amazon S3](kb-multimodal-troubleshooting.md#kb-multimodal-lifecycle-policy).

1. Na seção **Banco de dados vetoriais**, escolha seu método de armazenamento vetorial e configure as dimensões apropriadas com base no modelo de incorporação selecionado.

1. Escolha **Avançar** e revise os detalhes da configuração da sua base de conhecimento e, em seguida, escolha **Criar base de conhecimento**.

------
#### [ CLI ]

**Para criar uma base de conhecimento multimodal usando o AWS CLI**
+ Crie uma base de conhecimento com a Nova Multimodal Embeddings. Envie uma [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)solicitação:

  ```
  aws bedrock-agent create-knowledge-base \
  --cli-input-json file://kb-nova-mme.json
  ```

  Conteúdo de `kb-nova-mme.json` (substitua os valores do espaço reservado por sua configuração específica):

  ```
  {
      "knowledgeBaseConfiguration": {
          "vectorKnowledgeBaseConfiguration": {
              "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-multimodal-embeddings-v1:0",
              "supplementalDataStorageConfiguration": {
                  "storageLocations": [
                      {
                          "type": "S3",
                          "s3Location": {
                              "uri": "s3://<multimodal-storage-bucket>/"
                          }
                      }
                  ]
              }
          },
          "type": "VECTOR"
      },
      "storageConfiguration": {
          "opensearchServerlessConfiguration": {
              "collectionArn": "arn:aws:aoss:us-east-1:<account-id>:collection/<collection-id>",
              "vectorIndexName": "<index-name>",
              "fieldMapping": {
                  "vectorField": "<vector-field>",
                  "textField": "<text-field>",
                  "metadataField": "<metadata-field>"
              }
          },
          "type": "OPENSEARCH_SERVERLESS"
      },
      "name": "<knowledge-base-name>",
      "description": "Multimodal knowledge base with Nova Multimodal Embeddings"
  }
  ```

  Substitua os seguintes espaços reservados:
  + `<multimodal-storage-bucket>`- Bucket S3 para armazenar arquivos multimodais
  + `<account-id>`- O ID da sua conta da AWS
  + `<collection-id>`- ID de OpenSearch coleção sem servidor
  + `<index-name>`- Nome do índice vetorial em sua OpenSearch coleção (configurado com dimensões apropriadas para o modelo de incorporação escolhido)
  + `<vector-field>`- Nome do campo para armazenar incorporações
  + `<text-field>`- Nome do campo para armazenar conteúdo de texto
  + `<metadata-field>`- Nome do campo para armazenar metadados

------

# Adicionar fontes de dados e iniciar a ingestão
<a name="kb-multimodal-add-data-source-and-ingest"></a>

Depois de criar sua base de conhecimento, adicione fontes de dados contendo seu conteúdo multimodal e inicie os trabalhos de ingestão para processar e indexar o conteúdo.

**Comportamento de exclusão da fonte de dados**  
Quando você exclui uma fonte de dados com a política de exclusão definida como RETAIN, o conteúdo ingerido permanece no banco de dados vetorial e continuará sendo usado para recuperação. O conteúdo só será removido se você sincronizar explicitamente a base de conhecimento após excluir a fonte de dados. As fontes de dados com a política DELETE padrão removerão automaticamente o conteúdo do banco de dados vetorial e do armazenamento suplementar durante a exclusão. Isso garante que sua base de conhecimento continue funcionando mesmo que os arquivos de origem sejam modificados ou excluídos, mas você deve estar ciente de que fontes de dados excluídas com a política RETAIN ainda podem contribuir para os resultados da pesquisa.

## Adicionar fontes de dados
<a name="kb-multimodal-add-data-source"></a>

Adicione fontes de dados contendo seu conteúdo multimodal à sua base de conhecimento.

**Importante**  
Para fontes de dados BDA: somente fontes de dados criadas após o lançamento do audio/video suporte processarão arquivos de áudio e vídeo. As fontes de dados BDA existentes criadas antes do lançamento desse recurso continuarão ignorando arquivos de áudio e vídeo. Para permitir o audio/video processamento das bases de conhecimento existentes, crie novas fontes de dados.

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

**Para adicionar uma fonte de dados do console**

1. Na página de detalhes da sua base de conhecimento, escolha **Adicionar fonte de dados**.

1. Escolha **Amazon S3** como seu tipo de fonte de dados.

1. Forneça um nome e uma descrição para sua fonte de dados.

1. Configure a localização do Amazon S3 contendo seus arquivos multimodais fornecendo o URI do bucket e quaisquer prefixos de inclusão.

1. Em **Análise e fragmentação de conteúdo, configure seus métodos** de análise e fragmentação:
**nota**  
Os modelos de incorporação de texto limitam a recuperação ao conteúdo somente de texto, mas você pode habilitar a recuperação multimodal via texto selecionando Amazon Bedrock Data Automation (para áudio, vídeo e imagens) ou Foundation Model como analisadores (para imagens).

   Escolha entre três estratégias de análise:
   + **Analisador padrão Bedrock: recomendado para análise** somente de texto. Esse analisador ignora o conteúdo multimodal e é comumente usado com modelos de incorporação multimodal.
   + **Automação de dados Bedrock como analisador:** permite analisar e armazenar conteúdo multimodal como arquivos de texto, suporte, imagens PDFs, áudio e vídeo.
   + **Modelo básico como analisador:** fornece análise avançada para imagens e documentos estruturados, suporte PDFs, imagens, tabelas e documentos visualmente ricos.

1. Escolha **Adicionar fonte de dados** para criar a fonte de dados.

------
#### [ CLI ]

**Para adicionar uma fonte de dados usando o AWS CLI**
+ Crie uma fonte de dados para seu conteúdo multimodal. Envie uma [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)solicitação:

  ```
  aws bedrock-agent create-data-source \
  --knowledge-base-id <knowledge-base-id> \
  --cli-input-json file://ds-multimodal.json
  ```

  Para Nova Multimodal Embeddings (nenhuma configuração especial de análise é necessária), use este conteúdo: `ds-multimodal.json`

  ```
  {
      "dataSourceConfiguration": {
          "type": "S3",
          "s3Configuration": {
              "bucketArn": "arn:aws:s3:::<data-source-bucket>",
              "inclusionPrefixes": ["<folder-path>"]
          }
      },
      "name": "multimodal_data_source",
      "description": "Data source with multimodal content",
      "dataDeletionPolicy": "RETAIN"
  }
  ```

  Para a abordagem de análise do BDA, use esta configuração:

  ```
  {
      "dataSourceConfiguration": {
          "type": "S3",
          "s3Configuration": {
              "bucketArn": "arn:aws:s3:::<data-source-bucket>",
              "inclusionPrefixes": ["<folder-path>"]
          }
      },
      "name": "multimodal_data_source_bda",
      "description": "Data source with BDA multimodal parsing",
      "dataDeletionPolicy": "RETAIN",
      "vectorIngestionConfiguration": {
          "parsingConfiguration": {
              "bedrockDataAutomationConfiguration": {
                  "parsingModality": "MULTIMODAL"
              }
          }
      }
  }
  ```

------

## Iniciar um trabalho de ingestão
<a name="kb-multimodal-start-ingestion"></a>

Depois de adicionar suas fontes de dados, inicie um trabalho de ingestão para processar e indexar seu conteúdo multimodal.

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

**Para iniciar a ingestão a partir do console**

1. Na página de detalhes da fonte de dados, escolha **Sincronizar**.

1. Monitore o status da sincronização na página da fonte de dados. A ingestão pode levar vários minutos, dependendo do tamanho e do número de seus arquivos multimodais.

1. Quando a sincronização for concluída com sucesso, seu conteúdo multimodal estará pronto para consulta.

------
#### [ CLI ]

**Para iniciar a ingestão usando o AWS CLI**

1. Inicie um trabalho de ingestão. Envie uma [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html)solicitação:

   ```
   aws bedrock-agent start-ingestion-job \
   --knowledge-base-id <knowledge-base-id> \
   --data-source-id <data-source-id>
   ```

   Substitua os espaços reservados por:
   + `<knowledge-base-id>`- ID da criação da base de conhecimento
   + `<data-source-id>`- ID da criação da fonte de dados

1. Monitore o status do trabalho de ingestão usando [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html).

------

## Ressincronização após a exclusão da fonte de dados
<a name="kb-multimodal-resync-after-deletion"></a>

Se você excluir uma fonte de dados e quiser remover seu conteúdo da base de conhecimento, deverá ressincronizar explicitamente a base de conhecimento:

**Para remover o conteúdo da fonte de dados excluída**

1. Exclua a fonte de dados usando o console ou a [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteDataSource.html)API.

1. Inicie um novo trabalho de ingestão em todas as fontes de dados restantes para atualizar o banco de dados vetoriais e remover o conteúdo da fonte de dados excluída.

1. Verifique se as consultas não retornam mais os resultados da fonte de dados excluída.

**nota**  
Sem ressincronização, o conteúdo das fontes de dados excluídas continuará aparecendo nos resultados da pesquisa, mesmo que a fonte de dados não exista mais.

# Testando e consultando bases de conhecimento multimodais
<a name="kb-multimodal-test-and-query"></a>

Depois de ingerir seu conteúdo multimodal, você pode testar e consultar sua base de conhecimento usando o console ou a API. Os tipos de consulta disponíveis dependem da abordagem de processamento escolhida.

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

**Para testar sua base de conhecimento a partir do console**

1. Na página de detalhes da sua base de conhecimento, vá até a seção **Testar a base de conhecimento**.

1. Escolha seu tipo de consulta:
   + **Somente recuperação padrão:** consulte e recupere informações de fontes de dados em uma única Base de Conhecimento.
   + **Recuperação e geração de respostas:** consulte uma única Base de Conhecimento e gere respostas com base nos resultados recuperados usando um modelo básico.
**nota**  
Se você tiver conteúdo multimodal, deverá usar o analisador BDA para recuperação e geração de respostas.

1. Configure opções adicionais conforme necessário:
   + **Partes de origem:** especifique o número máximo de partes de origem a serem retornadas
   + **Tipo de pesquisa:** selecione o tipo de pesquisa para personalizar a estratégia de consulta
   + **Filtros de metadados:** aplique filtros para restringir os resultados da pesquisa
   + **Guardrails:** Selecione um guardrail existente ou crie um novo

1. Insira uma consulta de texto ou faça upload de uma imagem (somente Nova Multimodal Embeddings) para pesquisar seu conteúdo multimodal. Use o botão de anexo para fazer upload de imagens para pesquisa visual por similaridade.

1. Analise os resultados, que incluem:
   + Pedaços de conteúdo recuperados com pontuações de relevância
   + Referências e registros de data e hora do arquivo de origem (para áudio/vídeo)
   + Metadados, incluindo tipos de arquivo e informações de processamento
   + Para conteúdo multimídia, controles de reprodução com posicionamento automático de segmentos com base em registros de data e hora recuperados

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

Os exemplos a seguir mostram como usar a API Amazon Bedrock Agent Runtime para consultar programaticamente sua base de conhecimento multimodal:

**Exemplo de consulta de texto**  
Pesquise usando entrada de texto:

```
aws bedrock-agent-runtime retrieve \
--knowledge-base-id <knowledge-base-id> \
--retrieval-query text="robot automation in manufacturing"
```

**Exemplo de consulta de imagem (somente Nova Multimodal Embeddings)**  
Pesquise usando uma imagem enviada:

```
{
    "knowledgeBaseId": "<knowledge-base-id>",
    "retrievalQuery": {
        "imageQuery": {
            "inlineContent": {
                "mimeType": "image/jpeg",
                "data": "<base64-encoded-image>"
            }
        }
    }
}
```

------

## Tipos de consulta compatíveis
<a name="kb-multimodal-query-types"></a>

**Consultas de texto**  
Compatível com as abordagens Nova Multimodal Embeddings e BDA. Pesquise usando texto em linguagem natural para encontrar conteúdo relevante em todos os tipos de mídia.

**Consultas de imagens**  
Compatível apenas com Nova Multimodal Embeddings. Faça upload de imagens para encontrar conteúdo visualmente semelhante em sua base de conhecimento.

## Entendendo os metadados de resposta
<a name="kb-multimodal-response-metadata"></a>

As respostas de consultas multimodais incluem metadados adicionais para conteúdo multimídia:

**Atribuição da fonte**  
Local do arquivo original (sourceURI) e local de armazenamento multimodal (SupplementalURI) para acesso confiável

**Metadados temporais**  
Carimbos de data e hora de início e término para segmentos de áudio e vídeo, permitindo uma navegação precisa até o conteúdo relevante

**Informações sobre o tipo de conteúdo**  
Indicadores de formato de arquivo, método de processamento e modalidade para ajudar os aplicativos a lidar adequadamente com diferentes tipos de conteúdo

**Estrutura de metadados do banco de dados vetoriais**  
Quando o conteúdo multimodal é processado e armazenado, a seguinte estrutura de metadados é usada no banco de dados vetoriais:
+ **campo de texto:** para arquivos multimídia processados com o Nova Multimodal Embeddings, esse campo contém uma string vazia, pois o conteúdo é incorporado como multimídia nativa em vez de texto
+ **campo de metadados:** contém informações estruturadas, incluindo detalhes da fonte e referências de conteúdo relacionado:

  ```
  {
    "source": {
      "sourceType": "S3",
      "s3Location": {
        "uri": "s3://source-bucket/path/to/file.mp4"
      }
    },
    "relatedContent": [{
      "type": "S3",
      "s3Location": {
        "uri": "s3://multimodal-storage-bucket/processed/file.mp4"
      }
    }]
  }
  ```
+ **Campos criados automaticamente:** campos adicionais para filtragem e identificação:
  + `x-amz-bedrock-kb-source-uri`: URI de origem original para operações de filtragem
  + `x-amz-bedrock-kb-data-source-id`: identificador da fonte de dados para rastrear a origem do conteúdo
  + `x-amz-bedrock-kb-chunk-start-time-in-millis`: inicie o timestamp em milissegundos para segmentos de áudio e vídeo
  + `x-amz-bedrock-kb-chunk-end-time-in-millis`: carimbo de data/hora final em milissegundos para segmentos de áudio e vídeo
  + `x-amz-bedrock-kb-source-file-mime-type`: tipo MIME do arquivo de origem
  + `x-amz-bedrock-kb-source-file-modality`: Modalidade do arquivo de origem (TEXTO, IMAGEM, ÁUDIO, VÍDEO)

**Importante**  
Os aplicativos devem usar os registros de data e hora fornecidos para extrair e reproduzir segmentos específicos de arquivos de áudio e vídeo. A base de conhecimento retorna referências a arquivos completos, não a clipes pré-segmentados.

# Solução de problemas de bases de conhecimento multimodais
<a name="kb-multimodal-troubleshooting"></a>

Esta seção fornece orientação para resolver problemas comuns encontrados ao trabalhar com bases de conhecimento multimodais. As informações de solução de problemas são organizadas por limitações gerais, cenários de erro comuns com suas causas e soluções e recomendações de otimização de desempenho. Use essas informações para diagnosticar e resolver problemas durante a configuração, ingestão ou consulta do seu conteúdo multimodal.

## Limitações gerais
<a name="kb-multimodal-general-limitations"></a>

Esteja ciente dessas limitações atuais ao trabalhar com bases de conhecimento multimodais:
+ **Limites de tamanho de arquivo:** máximo de 1,5 GB por arquivo de vídeo, 1 GB por arquivo de áudio (Nova Multimodal Embeddings) ou 1,5 GB por arquivo (BDA)
+ **Arquivos por tarefa de ingestão:** máximo de 15.000 arquivos por tarefa (Nova Multimodal Embeddings) ou 1.000 arquivos por tarefa (BDA)
+ **Limites de consulta:** máximo de uma imagem por consulta
+ **Restrições de fonte de dados:** somente o Amazon S3 e fontes de dados personalizadas oferecem suporte a conteúdo multimodal
+ **Limitações de fragmentação do BDA:** ao usar o Bedrock Data Automation com fragmentação de tamanho fixo, as configurações de porcentagem de sobreposição não são aplicadas ao conteúdo de áudio e vídeo
+ Limites de **trabalhos simultâneos do BDA: limite** padrão de 20 trabalhos simultâneos do BDA. Para processamento em grande escala, considere solicitar um aumento da cota de serviço
+ **Limitações do modelo Reranker:** os modelos Reranker não são compatíveis com conteúdo multimodal
+ **Limitações de sumarização:** o resumo de respostas de recuperação contendo conteúdo não textual não é suportado
+ **Limitações de entrada da consulta:** a entrada contendo texto e imagem não é suportada atualmente. Você pode usar consultas de texto ou imagem, mas não as duas simultaneamente.
+ **Filtros de conteúdo de imagem de proteção:** ao usar consultas de imagem com uma grade de proteção que tenha filtros de conteúdo de imagem configurados, a imagem de entrada será avaliada em relação à grade de proteção e poderá ser bloqueada se violar os limites de filtro configurados
+ **Incompatibilidade de entrada e tipo:** por padrão, a entrada é considerada texto quando o tipo não é especificado. Ao usar modalidades diferentes de texto, você deve especificar o tipo correto

## Erros e soluções comuns
<a name="kb-multimodal-common-errors"></a>

Se você encontrar problemas com sua base de conhecimento multimodal, analise estes cenários comuns:

**Erro 4xx ao usar consultas de imagem**  
**Causa:** tentativa de usar consultas de imagem com modelos de incorporação somente de texto ou bases de conhecimento processadas pelo BDA.  
**Solução:** escolha Amazon Nova Multimodal Embeddings ao criar sua base de conhecimento para suporte à consulta de imagens.

**RAG retorna erro 4xx com conteúdo multimodal**  
**Causa:** Uso `RetrieveAndGenerate` com base de conhecimento contendo somente conteúdo multimodal e o modelo Amazon Nova Multimodal Embeddings.  
**Solução:** use o analisador BDA para a funcionalidade RAG ou garanta que sua base de conhecimento contenha conteúdo de texto.

**Erro necessário no destino de armazenamento multimodal**  
**Causa:** Usar o Nova Multimodal Embeddings sem configurar um destino de armazenamento multimodal.  
**Solução:** especifique um destino de armazenamento multimodal ao usar o Nova Multimodal Embeddings.

**A fonte de dados e o armazenamento multimodal usam o mesmo bucket S3**  
**Causa:** Configurar sua fonte de dados e destino de armazenamento multimodal para usar o mesmo bucket do Amazon S3 sem prefixos de inclusão adequados.  
**Solução:** use buckets separados para fonte de dados e armazenamento multimodal ou configure prefixos de inclusão para evitar a reingestão de arquivos de mídia extraídos.

**O prefixo de inclusão não pode começar com “aws/”**  
**Causa:** Usar um prefixo de inclusão que começa com “aws/” quando sua fonte de dados e destino de armazenamento multimodal compartilham o mesmo bucket do Amazon S3.  
**Solução:** especifique um prefixo de inclusão diferente. O caminho “aws/” é reservado para armazenamento de mídia extraído e não pode ser usado como prefixo de inclusão para evitar a reingestão de conteúdo processado.

**A ingestão de BDA ignora o conteúdo multimodal**  
**Causa:** a base de conhecimento foi criada sem um destino de armazenamento multimodal e, em seguida, a fonte de dados do BDA foi adicionada com conteúdo multimodal.  
**Solução:** recrie a base de conhecimento com um destino de armazenamento multimodal configurado para permitir o processamento BDA de arquivos de áudio, vídeo e imagem.

**Base de conhecimento criada sem modelo de incorporação multimodal**  
**Causa:** A base de conhecimento foi criada com um modelo de incorporação somente de texto, limitando os recursos multimodais.  
**Solução:** Crie uma nova base de conhecimento com o Nova Multimodal Embeddings para permitir o processamento multimodal nativo e as consultas baseadas em imagens.

## Gerenciamento de dados transitórios com políticas de ciclo de vida do Amazon S3
<a name="kb-multimodal-lifecycle-policy"></a>

Ao usar o Nova Multimodal Embeddings, o Amazon Bedrock armazena dados transitórios em seu destino de armazenamento multimodal e tenta excluí-los após a conclusão do processamento. Recomendamos aplicar uma política de ciclo de vida no caminho de dados transitórios para garantir que ele expire adequadamente.

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

**Para criar uma regra de ciclo de vida usando o console**

1. Abra o [console Amazon S3](https://console.aws.amazon.com/s3).

1. Navegue até o destino de armazenamento multimodal que você configurou para sua Base de Conhecimento.

1. Escolha a guia **Gerenciamento** e selecione **Criar regra de ciclo de vida**.

1. Em **Nome da regra do ciclo de vida, insira**. **Transient Data Deletion**

1. Em **Tipo de filtro**, escolha **Limitar o escopo dessa regra usando um ou mais filtros**.

1. Em **Prefixo**, insira o caminho de dados transitório para sua base de conhecimento e fonte de dados.

   Substitua os valores do espaço reservado no prefixo a seguir pelos seus identificadores reais:

   ```
   aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data
   ```
**Importante**  
Não aplique políticas de ciclo de vida a todo o bucket ou ao prefixo “aws/”, pois isso excluirá seu conteúdo multimodal e causará falhas na recuperação. Use somente o caminho de dados transitórios específico mostrado acima.

1. Em **Ações da regra do ciclo** de vida, selecione **Expirar versões atuais** dos objetos.

1. Em **Dias após a criação do objeto**, insira**1**.

1. Escolha **Criar regra**.

------
#### [ AWS CLI ]

**Para criar uma regra de ciclo de vida usando o AWS CLI**

1. Crie um arquivo JSON chamado `lifecycle-policy.json` com o conteúdo a seguir.

   Substitua os valores do espaço reservado por seus identificadores reais:
   + *knowledge-base-id*- Seu identificador da base de conhecimento
   + *data-source-id*- Seu identificador de fonte de dados

   ```
   {
       "Rules": [
           {
               "ID": "TransientDataDeletion",
               "Status": "Enabled",
               "Filter": {
                   "Prefix": "aws/bedrock/knowledge_bases/knowledge-base-id/data-source-id/transient_data"
               },
               "Expiration": {
                   "Days": 1
               }
           }
       ]
   }
   ```

1. Aplique a política de ciclo de vida ao seu bucket. Substitua *your-multimodal-storage-bucket* pelo nome do bucket real.

   ```
   aws s3api put-bucket-lifecycle-configuration \
       --bucket your-multimodal-storage-bucket \
       --lifecycle-configuration file://lifecycle-policy.json
   ```

1. Verifique se a política de ciclo de vida foi aplicada:

   ```
   aws s3api get-bucket-lifecycle-configuration \
       --bucket your-multimodal-storage-bucket
   ```

------

*Para obter mais informações sobre as políticas de ciclo de vida do Amazon S3, consulte [Gerenciamento do ciclo de vida de objetos no Guia do usuário do](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) Amazon S3.*

## Considerações sobre a performance
<a name="kb-multimodal-performance-considerations"></a>

Para um desempenho ideal com sua base de conhecimento multimodal, considere estes fatores:
+ **Tempo de processamento:** o processamento do BDA demora mais devido à conversão de conteúdo
+ **Latência da consulta:** as consultas de imagem podem ter maior latência do que as consultas de texto
+ **Duração da fragmentação: durações** mais longas de fragmentos de áudio/vídeo aumentam o tempo de processamento, mas podem melhorar a precisão

# Criar uma base de conhecimento conectando-se a um armazenamento de dados estruturados
<a name="knowledge-base-build-structured"></a>

As Bases de Conhecimento do Amazon Bedrock permitem que você se conecte a armazenamentos de dados estruturados, que contêm dados que estão em conformidade com um esquema predefinido. Exemplos de dados estruturados incluem tabelas e bancos de dados. As Bases de Conhecimento do Amazon Bedrock podem converter consultas de usuários em uma linguagem adequada para extrair dados de armazenamentos de dados estruturados compatíveis. Em seguida, elas podem usar a consulta convertida para recuperar dados relevantes para a consulta e gerar respostas apropriadas. Isso permite que você use os dados estruturados existentes diretamente sem precisar convertê-los em um formato diferente ou gerar suas próprias consultas SQL.

Depois de configurar sua base de conhecimento, você pode enviar consultas para recuperar dados dela por meio da operaçã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) ou gerar respostas com base nos dados recuperados por meio da operaçã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). Essas operações convertem subjacentemente as consultas do usuário em consultas apropriadas ao armazenamento de dados estruturados conectado à base de conhecimento.

Você também tem a opção de converter consultas independentemente da recuperação de dados usando a operação de API [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html). Essa operação converte consultas em linguagem natural em consultas SQL apropriadas à fonte de dados que está sendo consultada. É possível usar essa operação de forma independente e inseri-la em seu fluxo de trabalho.

Selecione um tópico para saber mais sobre os pré-requisitos e o processo para conectar a base de conhecimento a um armazenamento de dados estruturados.

**Topics**
+ [Configurar um mecanismo de consulta e permissões para criar uma base de conhecimento](knowledge-base-prereq-structured.md)
+ [Criar uma base de conhecimento conectando-se a um armazenamento de dados estruturados](knowledge-base-structured-create.md)
+ [Sincronizar o armazenamento de dados estruturados com sua base de conhecimento do Amazon Bedrock](kb-data-source-structured-sync-ingest.md)

# Configurar um mecanismo de consulta e permissões para criar uma base de conhecimento
<a name="knowledge-base-prereq-structured"></a>

Este tópico descreve as permissões das quais você precisa ao conectar sua base de conhecimento a um armazenamento de dados estruturados. Se você planeja conectar uma base de conhecimento do Amazon Bedrock a um armazenamento de dados estruturados, precisa cumprir os pré-requisitos. Para atender aos requisitos gerais de permissão, consulte [Configurar permissões para um usuário ou perfil para criar e gerenciar bases de conhecimento](knowledge-base-prereq-permissions-general.md).

**Importante**  
A execução de consultas SQL arbitrárias pode ser um risco de segurança para qualquer aplicativo. Text-to-SQL Recomendamos que você tome medidas preventivas conforme necessário, como usar perfis restritos, bancos de dados somente para leitura e sandbox.

As Bases de Conhecimento do Amazon Bedrock usam o Amazon Redshift como mecanismos de consulta para consultar seu datastore. Um mecanismo de consulta acessa metadados de um armazenamento de dados estruturados e usa os metadados para ajudar a gerar consultas SQL. O Amazon Redshift é um serviço de data warehouse que usa SQL para analisar dados estruturados em data warehouses, bancos de dados e data lakes.

## Criar um mecanismo de consulta do Amazon Redshift
<a name="kb-query-engine-setup-create"></a>

Você pode usar o Amazon Redshift sem servidor ou o Amazon Redshift provisionado, dependendo do seu caso de uso, e conectar-se a grupos de trabalho ou clusters para seu data warehouse. Os dados subjacentes que o mecanismo do Amazon Redshift pode consultar podem ser dados armazenados nativamente em clusters do Amazon Redshift ou dados localizados abaixo do padrão AWS Glue Data Catalog (como no Amazon S3, entre outros).

Se já tiver criado um mecanismo de consulta, você poderá ignorar esse pré-requisito. Do contrário, execute as seguintes etapas para configurar o mecanismo de consulta do Amazon Redshift provisionado ou do Amazon Redshift sem servidor:

**Como configurar um mecanismo de consulta no Amazon Redshift provisionado**

1. Siga o procedimento em [Etapa 1: Criar um cluster de amostra do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html#rs-gsg-launch-sample-cluster) no “Guia de conceitos básicos do Amazon Redshift” para criar um cluster.

1. Anote o ID do cluster.

1. (Opcional) Para ter mais informações sobre clusters provisionados do Amazon Redshift, consulte [Cluster provisionados do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) no “Guia de gerenciamento de clusters do Amazon Redshift”.

**Como configurar um mecanismo de consulta no Amazon Redshift sem servidor**

1. Siga somente o procedimento de configuração em [Criar um data warehouse com o Amazon Redshift sem servidor](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html#serverless-console-resource-creation) no “Guia de conceitos básicos do Amazon Redshift” e configure-o com as configurações padrão.

1. Anote o ARN do grupo de trabalho.

1. (Opcional) Para ter mais informações sobre grupos de trabalho do Amazon Redshift sem servidor, consulte [Grupos de trabalho e namespaces](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-workgroup-namespace.html) no “Guia de gerenciamento do Amazon Redshift”.

## Configurar permissões do mecanismo de consulta do Amazon Redshift
<a name="kb-query-engine-setup-redshift-permissions"></a>

Dependendo do mecanismo de consulta do Amazon Redshift que escolher, você poderá configurar determinadas permissões. As permissões que você configura dependem do método de autenticação. A seguinte tabela mostra os métodos de autenticação que podem ser usados para diferentes mecanismos de consulta:


****  

| Método de autenticação | Amazon Redshift provisionado | Amazon Redshift Sem Servidor | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | 
| Nome de usuário do banco de dados | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-no.png)Não | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | 

As Bases de Conhecimento do Amazon Bedrock usam um [perfil de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) para conectar bases de conhecimento a armazenamentos de dados estruturados, recuperar dados desses armazenamentos de dados e gerar consultas SQL com base nas consultas do usuário e na estrutura dos datastores.

**nota**  
Se você planeja usar o Console de gerenciamento da AWS para criar uma base de conhecimento, pode ignorar esse pré-requisito. O console criará um perfil de serviço das Bases de Conhecimento do Amazon Bedrock com as permissões adequadas.

Para criar um perfil de serviço personalizado do IAM com as permissões adequadas, siga as etapas em [Criar um perfil para delegar permissões a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) e anexar a relação de confiança definida em [Relação de confiança](kb-permissions.md#kb-permissions-trust).

Em seguida, adicione permissões para que a base de conhecimento acesse seu mecanismo de consulta e bancos de dados do Amazon Redshift. Expanda a seção que se aplica ao seu caso de uso:

### Seu mecanismo de consulta é provisionado pelo Amazon Redshift
<a name="w2aac28c10c27c13c11c15b1"></a>

Anexe a seguinte política ao perfil de serviço personalizado para permitir que ele acesse seus dados e gere consultas usando esses dados:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftDataAPIStatementPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:GetStatementResult",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "redshift-data:statement-owner-iam-userid": "${aws:userid}"
                }
            }
        },
        {
            "Sid": "RedshiftDataAPIExecutePermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:cluster:${Cluster}"
            ]
        },
        {
            "Sid": "SqlWorkbenchAccess",
            "Effect": "Allow",
            "Action": [
                "sqlworkbench:GetSqlRecommendations",
                "sqlworkbench:PutSqlGenerationContext",
                "sqlworkbench:GetSqlGenerationContext",
                "sqlworkbench:DeleteSqlGenerationContext"
            ],
            "Resource": "*"
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Também é necessário adicionar permissões para possibilitar que o perfil de serviço se autentique no mecanismo de consulta. Expanda uma seção para ver as permissões do respectivo método.

------
#### [ IAM ]

Para permitir que o perfil de serviço se autentique em seu mecanismo de consulta provisionado do Amazon Redshift com o IAM, anexe a seguinte política ao perfil de serviço personalizado:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithFederatedIAMCredentials",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentialsWithIAM",
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbname:Cluster/database"
            ]
        }
    ]
}
```

------

------
#### [ Database user ]

Para se autenticar como usuário do banco de dados do Amazon Redshift, anexe a seguinte política ao perfil de serviço:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithClusterCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbuser:${cluster}/${dbuser}",
                "arn:aws:redshift:us-east-1:123456789012:dbname:${cluster}/${database}"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Para permitir que sua função de serviço se autentique em seu mecanismo de consulta provisionado do Amazon Redshift com AWS Secrets Manager um segredo, faça o seguinte:
+ Anexe a seguinte política ao perfil:

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

### Seu mecanismo de consulta é o Amazon Redshift sem servidor
<a name="w2aac28c10c27c13c11c15b3"></a>

As permissões para anexar dependem do método de autenticação. Expanda uma seção para ver as permissões do método em questão.

------
#### [ IAM ]

Para permitir que o perfil de serviço se autentique em seu mecanismo de consulta do Amazon Redshift sem servidor com o IAM, anexe a seguinte política ao perfil de serviço personalizado:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftServerlessGetCredentials",
            "Effect": "Allow",
            "Action": "redshift-serverless:GetCredentials",
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/WorkgroupId"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Para permitir que sua função de serviço se autentique em seu mecanismo de consulta provisionado do Amazon Redshift com AWS Secrets Manager um segredo, faça o seguinte:
+ Anexe a seguinte política ao perfil:

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

## Permitir que o perfil de serviço da base de conhecimento acesse seu datastore
<a name="knowledge-base-prereq-structured-db-access"></a>

Seus dados devem estar armazenados em um dos seguintes [armazenamentos de dados estruturados compatíveis](knowledge-base-structured-create.md):
+ banco de dados de origem
+ AWS Glue Data Catalog (AWS Lake Formation)

A seguinte tabela resume os métodos de autenticação disponíveis para o mecanismo de consulta, dependendo do datastore:


****  

| Método de autenticação | banco de dados de origem | AWS Glue Data Catalog (AWS Lake Formation) | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | 
| Nome de usuário do banco de dados | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-no.png)Não | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-yes.png)Sim | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/icon-no.png)Não | 

Para saber como configurar permissões para que o perfil de serviço das Bases de Conhecimento do Amazon Bedrock acesse o datastore e gere consultas com base nele, expanda a seção que corresponde ao serviço em que o datastore está:

### banco de dados de origem
<a name="w2aac28c10c27c13c13c13b1"></a>

Para conceder ao perfil de serviço das Bases de Conhecimento do Amazon Bedrock acesso ao banco de dados do Amazon Redshift, use o [Editor de consultas V2 do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) e execute os seguintes comandos SQL:

1. (Se você se autenticar com o IAM e um usuário ainda não tiver sido criado para seu banco de dados) Execute o comando a seguir, que usa [CREATE USER para criar um usuário](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de banco de dados e permitir que ele se autentique por meio do IAM, *\$1\$1service-role\$1* substituindo-o pelo nome da função de serviço personalizada do Amazon Bedrock Knowledge Bases que você criou:

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**Importante**  
Se você usar o perfil de serviço das Bases de Conhecimento do Amazon Bedrock criado para você no console e depois [sincronizar o datastore](kb-data-source-structured-sync-ingest.md) antes de executar essa etapa, o usuário será criado para você, mas a sincronização falhará porque o usuário não recebeu permissões para acessar seu datastore. Você deve executar a etapa a seguir antes de sincronizar.

1. Conceda permissões de identidade para recuperar informações do banco de dados executando o comando [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${secretsUsername}";
   ```

------
**Importante**  
Não acesso para `CREATE`, `UPDATE` ou `DELETE`. Ao conceder essas ações, seus poderão ser modificados de maneira não desejada.

   Para um controle mais refinado das tabelas que podem ser acessadas, você pode substituir nomes `ALL TABLES` específicos de tabelas pela seguinte notação:. *\$1\$1schemaName\$1* *\$1\$1tableName\$1* Para ter mais informações sobre essa notação, consulte a seção **Objetos de consulta** em [Consultas entre bancos de dados](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${secretsUsername}";
   ```

------

1. Se você criou um esquema no banco de dados do Redshift, execute o comando a seguir para conceder permissões de identidade em relação ao novo esquema.

   ```
   GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

### AWS Glue Data Catalog
<a name="w2aac28c10c27c13c13c13b3"></a>

Para conceder à sua função de serviço do Amazon Bedrock Knowledge Bases acesso ao seu armazenamento de AWS Glue Data Catalog dados, use o [editor de consultas v2 do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) e execute os seguintes comandos SQL:

1. Execute o comando a seguir, que usa [CREATE USER para criar um usuário](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de banco de dados e permitir que ele se autentique por meio do IAM, *\$1\$1service-role\$1* substituindo-o pelo nome da função de serviço personalizada do Amazon Bedrock Knowledge Bases que você criou:

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**Importante**  
Se você usar o perfil de serviço das Bases de Conhecimento do Amazon Bedrock criado para você no console e depois [sincronizar o datastore](kb-data-source-structured-sync-ingest.md) antes de executar essa etapa, o usuário será criado para você, mas a sincronização falhará porque o usuário não recebeu permissões para acessar seu datastore. Você deve executar a etapa a seguir antes de sincronizar.

1. Conceda ao perfil de serviço permissões para recuperar informações do banco de dados executando o seguinte comando [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html):

   ```
   GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";
   ```
**Importante**  
Não acesso para `CREATE`, `UPDATE` ou `DELETE`. Ao conceder essas ações, seus poderão ser modificados de maneira não desejada.

1. Para permitir o acesso aos seus AWS Glue Data Catalog bancos de dados, anexe as seguintes permissões à função de serviço:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabases",
                   "glue:GetDatabase",
                   "glue:GetTables",
                   "glue:GetTable",
                   "glue:GetPartitions",
                   "glue:GetPartition",
                   "glue:SearchTables"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:123456789012:table/${DatabaseName}/${TableName}",
                   "arn:aws:glue:us-east-1:123456789012:database/${DatabaseName}",
                   "arn:aws:glue:us-east-1:123456789012:catalog"
               ]
           }
       ]
   }
   ```

------

1. Conceda permissões para sua função de serviço por meio AWS Lake Formation (para saber mais sobre o Lake Formation e seu relacionamento com o Amazon Redshift, consulte [Fontes de dados para Redshift) fazendo](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source.html) o seguinte:

   1. Faça login no Console de gerenciamento da AWS, e abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   1. Selecione **Permissões de dados** no painel de navegação à esquerda.

   1. Conceda permissões ao perfil de serviço que você está usando para as Bases de Conhecimento do Amazon Bedrock.

   1. Conceda as permissões **Descrever** e **Selecionar** para seus bancos de dados e tabelas.

1. Dependendo da fonte de dados em que você usa AWS Glue Data Catalog, talvez seja necessário adicionar permissões para acessar essa fonte de dados (para obter mais informações, consulte [AWS Glue dependência de outras Serviços da AWS](https://docs.aws.amazon.com/glue/latest/dg/dependency-on-other-services.html)). Por exemplo, se a fonte de dados estiver em um local do Amazon S3, você precisará adicionar a declaração a seguir à política acima.

   ```
   {
       "Sid": "Statement1",
       "Effect": "Allow",
       "Action": [
           "s3:ListBucket",
           "s3:GetObject"
       ],
       "Resource": [
           "arn:aws:s3:::${BucketName}",
           "arn:aws:s3:::${BucketName}/*"
       ]
   }
   ```

1. (Opcional) Se você usa AWS KMS para criptografar os dados no Amazon S3 AWS Glue Data Catalog ou, então você precisa adicionar permissões à função para descriptografar os dados na chave KMS.

   ```
   {
       "Action": [
           "kms:Decrypt"
       ],
       "Resource": [
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}",
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}"
       ],
       "Effect": "Allow"
   }
   ```

# Criar uma base de conhecimento conectando-se a um armazenamento de dados estruturados
<a name="knowledge-base-structured-create"></a>

Para conectar uma base de conhecimento a um armazenamento de dados estruturados, especifique os seguintes componentes:
+ 

**Configuração do mecanismo de consulta**  
A configuração do serviço de computação que executará as consultas SQL geradas. O mecanismo de consulta é usado para converter consultas de usuários em linguagem natural em consultas SQL que podem ser usadas para extrair dados do datastore. É possível escolher o Amazon Redshift como mecanismo de consulta. Ao escolher essa configuração, é necessário especificar:
  + Os metadados da conexão computacional, como o ID do cluster ou o ARN do grupo de trabalho, dependendo do mecanismo de consulta escolhido.
  + O método de autenticação para usar o mecanismo de consulta, que pode ser usar uma função de serviço do IAM com as permissões apropriadas, um usuário do banco de dados do mecanismo de consulta ou um AWS Secrets Manager segredo vinculado às suas credenciais do banco de dados.
+ 

**Configuração de armazenamento**  
A configuração do datastore que contém seus dados. Você pode se conectar ao Amazon Redshift Provisioned ou ao Amazon Redshift Serverless e usar o Amazon Redshift ou como seu armazenamento de dados. AWS Glue Data Catalog 
+ 

**(Opcional) Configurações de consulta**  
É possível usar configurações de consulta opcionais para melhorar a precisão da geração de SQL:
  + **Tempo máximo de consulta**: o tempo após o qual a consulta expira.
  + **Descrições**: esse campo fornece metadados ou informações complementares sobre tabelas ou colunas. É possível incluir descrições de tabelas ou colunas, notas de uso ou quaisquer atributos adicionais. As descrições que você adiciona podem melhorar a geração de consultas SQL ao fornecer contexto e informações adicionais sobre a estrutura de tabelas ou colunas.
  + **Inclusões e exclusões**: especifica um conjunto de tabelas ou colunas a serem incluídas ou excluídas para geração de SQL. Esse campo é crucial quando você quer limitar o escopo das consultas SQL a um subconjunto definido de tabelas ou colunas disponíveis. Essa opção pode ajudar a otimizar o processo de geração reduzindo referências desnecessárias de tabelas ou colunas.

    Se você especificar inclusões, todas as outras tabelas e colunas serão ignoradas. Se você especificar exclusões, as tabelas e colunas especificadas serão ignoradas.
**nota**  
As inclusões e exclusões não substituem as barreiras de proteção e se destinam apenas a melhorar a precisão do modelo.
  + **Consultas selecionadas**: um conjunto de exemplos predefinidos de perguntas e respostas. As perguntas são escritas como consultas em linguagem natural (NLQ) e as respostas são a consulta SQL correspondente. Esses exemplos ajudam o processo de geração de SQL fornecendo exemplos dos tipos de consulta que devem ser gerados. Eles servem como pontos de referência para melhorar a precisão e a relevância das saídas SQL generativas.

Expanda a seção que corresponde ao seu caso de uso:

## Usar o console
<a name="knowledge-base-structured-create-console"></a>

Para se conectar a um armazenamento de dados estruturado usando o Console de gerenciamento da AWS, faça o seguinte:

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, escolha **Criar** e selecione **Base de conhecimento com armazenamento de dados estruturados**.

1. Configure os seguintes detalhes para a base de conhecimento:

   1. (Opcional) Altere o nome padrão e dê uma descrição para a base de conhecimento.

   1. Selecione o mecanismo de consulta a ser usado para recuperar dados do datastore.

   1. Escolha um perfil de serviço do IAM com as permissões adequadas para criar e gerenciar essa base de conhecimento. Você pode permitir que o Amazon Bedrock crie o perfil de serviço ou escolher um perfil personalizado criado por você. Para ter mais informações sobre como criar um perfil personalizado, consulte [Configurar um mecanismo de consulta e permissões para criar uma base de conhecimento](knowledge-base-prereq-structured.md).

   1. (Opcional) Adicione tags para associá-las à base de conhecimento. Para obter mais informações, consulte [Marcação de recursos do Amazon Bedrock](tagging.md).

   1. Escolha **Próximo**.

1. Configure seu mecanismo de consulta:

   1. Selecione o serviço no qual você criou um cluster ou grupo de trabalho. Escolha o cluster ou o grupo de trabalho a ser usado.

   1. Selecione o método de autenticação e preencha os campos necessários.

   1. Selecione o datastore no qual seus metadados devem ser armazenados. Em seguida, escolha ou digite o nome do banco de dados.

   1. (Opcional) Modifique as configurações de consulta conforme necessário. Consulte o início deste tópico para ter mais informações sobre diferentes configurações.

   1. Escolha **Próximo**.

1. Analise as configurações da base de conhecimento e edite todas as seções conforme necessário. Confirme para criar sua base de conhecimento.

## Usar a API
<a name="knowledge-base-structured-create-api"></a>

Para se conectar a um armazenamento de dados estruturado usando a API do Amazon Bedrock, envie uma [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)solicitação com um [endpoint de tempo de construção do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) com o seguinte corpo de solicitação geral:

```
{
    "name": "string",
    "roleArn": "string",
    "knowledgeBaseConfiguration": {
        "type": "SQL",
        "sqlKnowledgeBaseConfiguration": [SqlKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SqlKnowledgeBaseConfiguration.html)
    },
    "description": "string",
    "clientToken": "string",
    "tags": {
        "string": "string"
    }
}
```

Os campos a seguir são obrigatórios.


****  

| Campo | Descrição básica | 
| --- | --- | 
| Nome | Um nome para a base de conhecimento. | 
| roleArn | Um [perfil de serviço da base de conhecimento](kb-permissions.md) com as permissões adequadas. Você pode usar o console para criar automaticamente um perfil de serviço com as permissões adequadas. | 
| knowledgeBaseConfiguration | Contém as configurações da base de conhecimento. Para um banco de dados estruturado, especifique SQL como type e inclua o campo sqlKnowledgeBaseConfiguration. | 

Os campos a seguir são opcionais.


****  

| Campo | Use | 
| --- | --- | 
| descrição | Para incluir uma descrição para a base de conhecimento. | 
| clientToken | Para garantir que a solicitação de API seja concluída apenas uma vez. Para obter mais informações, consulte [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| tags | Para associar tags ao fluxo. Para obter mais informações, consulte [Marcação de recursos do Amazon Bedrock](tagging.md). | 

A `SQLKnowledgeBaseConfiguration` depende do mecanismo de consulta que você usa. Para o Amazon Redshift, especifique o `type` campo como `REDSHIFT` e inclua o `redshiftConfiguration` campo, que mapeia para a. [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html) Para o [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html), você configura os seguintes campos:

### queryEngineConfiguration
<a name="w2aac28c10c27c15b9b3c17b1"></a>

Você pode configurar os seguintes tipos de mecanismo de consulta:

#### Amazon Redshift provisionado
<a name="w2aac28c10c27c15b9b3c17b1b5b1"></a>

Se seus bancos de dados do Amazon Redshift forem provisionados em nós de computação dedicados, o valor do `queryEngineConfiguration` campo deverá ser a no seguinte formato: [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)

```
{
    "type": "PROVISIONED",
    "provisionedConfiguration": {
        "clusterIdentifier": "string",
        "authConfiguration": [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)
    },
}
```

Especifique o ID do cluster no campo `clusterIdentifier`. [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)Depende do tipo de autorização que você está usando. Selecione a guia que corresponde ao seu método de autorização:

------
#### [ IAM role ]

Se você autorizar com seu perfil do IAM, precisará especificar somente o `IAM` como o tipo na [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html) sem campos adicionais.

```
{
    "type": "IAM"
}
```

------
#### [ Temporary credentials user name ]

Se você autorizar com o nome de usuário do banco de dados, especifique o `type` como `USERNAME` e o nome do usuário no campo `databaseUser` na `RedshiftProvisionedAuthConfig`:

```
{
    "type": "USERNAME",
    "databaseUser": "string"
}
```

------
#### [ AWS Secrets Manager ]

Se você autorizar com AWS Secrets Manager, especifique o `type` como `USERNAME_PASSWORD` e especifique o ARN do segredo `usernamePasswordSecretArn` no campo em: `RedshiftProvisionedAuthConfig`

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

#### Amazon Redshift Sem Servidor
<a name="w2aac28c10c27c15b9b3c17b1b5b3"></a>

Se você estiver usando o Amazon Redshift Serverless, o valor do `queryConfiguration` campo deve ser a [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)no seguinte formato:

```
{
    "type": "SERVERLESS",
    "serverlessConfiguration": {
        "workgroupArn": "string",
        "authConfiguration": 
    }
}
```

Especifique o ARN do grupo de trabalho no campo `workgroupArn`. [RedshiftServerlessAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftServerlessAuthConfiguration.html)Depende do tipo de autorização que você está usando. Selecione a guia que corresponde ao seu método de autorização:

------
#### [ IAM role ]

Se você autorizar com seu perfil do IAM, precisará especificar somente o `IAM` como o tipo na `RedshiftServerlessAuthConfiguration` sem campos adicionais.

```
{
    "type": "IAM"
}
```

------
#### [ AWS Secrets Manager ]

Se você autorizar com AWS Secrets Manager, especifique o `type` como `USERNAME_PASSWORD` e especifique o ARN do segredo `usernamePasswordSecretArn` no campo em: `RedshiftServerlessAuthConfiguration`

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

### storageConfigurations
<a name="w2aac28c10c27c15b9b3c17b3"></a>

Esse campo é mapeado para uma matriz contendo um único [RedshiftQueryEngineStorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineStorageConfiguration.html), cujo formato depende de onde seus dados estão armazenados.

#### AWS Glue Data Catalog
<a name="w2aac28c10c27c15b9b3c17b3b5b1"></a>

Se seus dados estiverem armazenados AWS Glue Data Catalog, eles `RedshiftQueryEngineStorageConfiguration` devem estar no seguinte formato:

```
{
    "type": "AWS_DATA_CATALOG",
    "awsDataCatalogConfiguration": {
        "tableNames": ["string"]
    }
}
```

Adicione o nome de cada tabela à qual você deseja conectar a base de conhecimento na matriz associada a `tableNames`.

**nota**  
Insira o nome das tabelas no padrão descrito em [Consultas entre bancos de dados](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Você pode incluir todas as tabelas especificando `${databaseName.*}`.

#### Bancos de dados do Amazon Redshift
<a name="w2aac28c10c27c15b9b3c17b3b5b3"></a>

Se os dados estiverem armazenados em um banco de dados do Amazon Redshift, a `RedshiftQueryEngineStorageConfiguration` deve seguir o seguinte formato:

```
{
    "type": "string",
    "redshiftConfiguration": {
        "databaseName": "string"
    }
}
```

Especifique o nome do banco de dados do Amazon Redshift no campo `databaseName`.

**nota**  
Insira o nome das tabelas no padrão descrito em [Consultas entre bancos de dados](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Você pode incluir todas as tabelas especificando `${databaseName.*}`.

Se seu banco de dados for montado por meio do Amazon SageMaker AI Lakehouse, o nome do banco de dados está no formato. *\$1\$1db\$1@\$1\$1schema\$1*

### queryGenerationConfiguration
<a name="w2aac28c10c27c15b9b3c17b5"></a>

Esse campo é mapeado para o seguinte, [QueryGenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationConfiguration.html)que você pode usar para configurar como seus dados são consultados:

```
{
    "executionTimeoutSeconds": number,
    "generationContext": {
        "tables": [
            {
                "name": "string",
                "description": "string",
                "inclusion": "string",
                "columns": [
                    {
                        "name": "string",
                        "description": "string",
                        "inclusion": "string"
                    },
                    ...
                ]
            },
            ...
        ],
        "curatedQueries": [
            {
                "naturalLanguage": "string",
                "sql": "string"
            },
            ...
        ]
    }
}
```

Se você quiser que a consulta atinja o tempo limite, especifique a duração do tempo limite em segundos no campo `executionTimeoutSeconds`.

O `generationContext` campo mapeia para um [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objeto no qual você pode configurar quantas das opções a seguir forem necessárias.

**Importante**  
Se você incluir um contexto de geração, o mecanismo de consulta fará o possível para aplicá-lo ao gerar SQL. O contexto de geração não é determinístico e se destina apenas a melhorar a precisão do modelo. Para garantir a precisão, verifique as consultas SQL geradas.

Para ter informações sobre contextos de geração que você pode incluir, expanda as seguintes seções:

#### Adicionar descrições para tabelas ou colunas no banco de dados
<a name="w2aac28c10c27c15b9b3c17b5c15b1"></a>

Para melhorar a precisão da geração de SQL para consultar o banco de dados, é possível fornecer uma descrição para a tabela ou coluna que cujo contexto seja maior que um nome curto de tabela ou coluna. Você pode fazer o seguinte:
+ Para adicionar uma descrição para uma tabela, inclua um [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto na `tables` matriz. Nesse objeto, especifique o nome da tabela no campo `name` e uma descrição no campo `description`, como no seguinte exemplo:

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A"
  }
  ```
+ Para adicionar uma descrição para uma coluna, inclua um [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto na `tables` matriz. Nesse objeto, especifique o nome da tabela no `name` campo e inclua o `columns` campo, que mapeia para uma matriz de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Em um objeto `QueryGenerationColumn`, inclua o nome da coluna no campo `name` e uma descrição no campo `description`, como no seguinte exemplo:

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "Column A",
              "description": "Description for Column A"
          }
      ]
  }
  ```
+ É possível adicionar uma descrição para uma tabela e uma coluna, como no seguinte exemplo:

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A",
      "columns": [
          {
              "name": "columnA",
              "description": "Description for Column A"
          }
      ]
  }
  ```
**nota**  
Insira o nome das tabelas e colunas no padrão descrito em [Consultas entre bancos de dados](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html). Se seu banco de dados estiver em AWS Glue Data Catalog, o formato é`awsdatacatalog.gluedatabase.table`.

#### Incluir ou excluir tabelas ou colunas no banco de dados
<a name="w2aac28c10c27c15b9b3c17b5c15b3"></a>

Você pode sugerir tabelas ou colunas para incluir ou excluir ao gerar SQL usando o `inclusion` campo nos [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html)objetos [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)e. Você pode especificar um dos seguintes valores no campo `inclusion`:
+ INCLUDE: somente as tabelas ou colunas que você especifica são incluídas como contexto ao gerar SQL.
+ EXCLUDE: as tabelas ou colunas que você especifica são excluídas como contexto ao gerar SQL.

Você pode especificar se deseja incluir ou excluir tabelas ou colunas das seguintes formas:
+ Para incluir ou excluir uma tabela, inclua um [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto na `tables` matriz. Nesse objeto, especifique o nome da tabela no campo `name` e especifique se é necessário incluí-la ou excluí-la no campo `inclusion`, como no exemplo a seguir:

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "EXCLUDE"
  }
  ```

  O mecanismo de consulta não adiciona a `Table A` no contexto complementar para gerar SQL.
+ Para incluir ou excluir uma coluna, inclua um [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objeto na `tables` matriz. Nesse objeto, especifique o nome da tabela no `name` campo e inclua o `columns` campo, que mapeia para uma matriz de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Em um objeto `QueryGenerationColumn`, inclua o nome da coluna no campo `name` e especifique se deseja incluí-la ou excluí-la no campo `inclusion`, como no seguinte exemplo:

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  A geração de SQL ignora a `Column A` na `Table A` no contexto ao gerar SQL.
+ É possível combinar tabelas e colunas ao especificar inclusões ou exclusões, como no seguinte exemplo:

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "INCLUDE",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  A geração de SQL inclui a `Table A`, mas exclui a `Column A` dentro dela ao adicionar contexto para gerar SQL.

**Importante**  
As exclusões de tabelas e colunas não substituem as barreiras de proteção. Essas inclusões e exclusões de tabelas e colunas são usadas como contexto adicional a ser considerado pelo modelo ao gerar SQL.

#### Dar ao mecanismo de consulta exemplos de mapeamentos em linguagem natural para consultas SQL
<a name="w2aac28c10c27c15b9b3c17b5c15b5"></a>

Para melhorar a precisão de um mecanismo de consulta na conversão de consultas de usuários em consultas SQL, você pode fornecer exemplos no `curatedQueries` campo do [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objeto, que mapeia para uma matriz de objetos. [CuratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CuratedQuery.html) Cada objeto contém os seguintes campos:
+ naturalLanguage: um exemplo de consulta em linguagem natural.
+ sql: a consulta SQL que corresponde à consulta em linguagem natural.

# Sincronizar o armazenamento de dados estruturados com sua base de conhecimento do Amazon Bedrock
<a name="kb-data-source-structured-sync-ingest"></a>

Depois de conectar sua base de conhecimento a um armazenamento de dados estruturados, execute uma sincronização para iniciar o processo de ingestão de metadados e permitir que os dados sejam recuperados. Os metadados permitem que as Bases de Conhecimento do Amazon Bedrock convertam os prompts do usuário em uma consulta ao banco de dados conectado.

Sempre que você fizer modificações no esquema do banco de dados, precisará sincronizar as alterações.

Para saber como ingerir metadados na base de conhecimento e sincronizar com os dados mais recentes, escolha a guia correspondente ao método de sua escolha e siga as etapas:

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

**Saiba como ingerir dados na base de conhecimento e sincronizar com os dados mais recentes.**

1. Abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. No painel de navegação à esquerda, selecione **Base de conhecimento** e escolha a base de conhecimento.

1. Na seção **Fonte de dados**, selecione **Sincronizar** para iniciar o processo de ingestão de metadados. Para interromper a sincronização de uma fonte de dados em andamento, selecione **Parar**. Uma fonte de dados deve estar em sincronização para que a sincronização da fonte de dados seja interrompida. É possível selecionar **Sincronizar** novamente para ingerir o resto dos dados.

1. Quando a ingestão de dados for concluída, um banner verde de sucesso será exibido se ela tiver sido bem-sucedida.

1. Você pode escolher uma fonte de dados para ver o **Histórico de sincronização**. Selecione **Visualizar avisos** para ver por que um trabalho de ingestão de dados falhou.

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

Para ingerir os dados na base de conhecimento e sincronizar com os dados mais recentes, envie uma solicitação [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Use o `ingestionJobId` exibido na resposta em uma solicitação [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) para rastrear o status do trabalho de ingestão.

Também é possível ver as informações de todos os trabalhos de ingestão de uma fonte de dados enviando uma solicitação [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Para interromper um trabalho de ingestão de dados que está em execução no momento, envie uma solicitação [StopIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). É possível enviar uma solicitação `StartIngestionJob` novamente para ingerir o resto dos seus dados quando tudo estiver pronto.

------

**Importante**  
Se você usar o perfil de serviço das Bases de Conhecimento do Amazon Bedrock criado para você no console e depois sincronizar o datastore antes de permitir que o perfil de autenticação que você usa acesse o seu banco de dados, o usuário será criado para você, mas a sincronização falhará porque o usuário não recebeu permissões para acessar seu datastore. Para ter informações sobre como conceder permissões a um perfil para acessar o datastore, consulte [Permitir que o perfil de serviço da base de conhecimento acesse seu datastore](knowledge-base-prereq-structured.md#knowledge-base-prereq-structured-db-access).

# Criar uma base de conhecimento do Amazon Bedrock com um Índice GenAI do Amazon Kendra
<a name="knowledge-base-build-kendra-genai-index"></a>

Com as Bases de Conhecimento do Amazon Bedrock, você pode criar uma base de conhecimento usando um Índice GenAI do Amazon Kendra para criar assistentes digitais mais sofisticados e precisos baseados em geração aumentada via recuperação (RAG). Ao associar um Índice GenAI do Amazon Kendra com as Bases de Conhecimento do Amazon Bedrock, você pode:
+ Reutilizar seu conteúdo indexado em vários aplicações do Amazon Bedrock sem recriar índices ou ingerir novamente os dados.
+ Utilizar os recursos avançados do GenAI do Amazon Bedrock e se beneficiar da alta precisão da recuperação de informações do Amazon Kendra.
+ Personalizar o comportamento do assistente digital usando as ferramentas do Amazon Bedrock e manter a precisão semântica do Índice GenAI do Amazon Kendra.

Para ter mais informações sobre como usar o Índice GenAI do Amazon Kendra, consulte [Índice GenAI do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html#kendra-gen-ai-index) no *Guia do desenvolvedor do Amazon Kendra*.

**Topics**
+ [Criar uma base de conhecimento do Amazon Bedrock com um Índice GenAI do Amazon Kendra](knowledge-base-kendra-genai-index-create.md)

# Criar uma base de conhecimento do Amazon Bedrock com um Índice GenAI do Amazon Kendra
<a name="knowledge-base-kendra-genai-index-create"></a>

 Para ter mais informações sobre como usar o Índice GenAI do Amazon Kendra, consulte [Índice GenAI do Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html#kendra-gen-ai-index) no *Guia do desenvolvedor do Amazon Kendra*.

Você pode criar uma base de conhecimento do Amazon Bedrock com um Índice GenAI do Amazon Kendra usando o console ou a API do Amazon Bedrock. Escolha a guia correspondente ao método de sua preferência e siga as etapas:

**nota**  
Não é possível criar uma base de conhecimento com um usuário-raiz. Antes de começar, faça login com um usuário AWS Identity and Access Management (IAM).

**Importante**  
Para criar uma base de conhecimento com um Índice GenAI do Amazon Kendra usando a API, você já deve ter um índice. Com a API, não é possível criar um índice ao criar uma base de conhecimento. Se você quiser criar um índice ao criar uma base de conhecimento, deverá usar o console.

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

**Como criar uma base de conhecimento com um Índice GenAI do Amazon Kendra**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, escolha **Criar**.

1. Escolha **Base de conhecimento com Índice de IA generativa do Kendra**.

1. (Opcional) Em **Detalhes da base de conhecimento**, altere o nome padrão e dê uma descrição para a base de conhecimento.

1. Em **Permissões do IAM** escolha um perfil do IAM que forneça permissão ao Amazon Bedrock para acessar outros Serviços da AWS necessários. Você pode permitir que o Amazon Bedrock crie o perfil de serviço para você ou escolher um [perfil personalizado criado por você](kb-permissions.md).

1. Escolha **Criar uma função de serviço** ou **Usar um perfil de serviço existente**.

1. Escolha **Criar Índice GenAI do Amazon Kendra** ou use um **Índice GenAI existente do Amazon Kendra**.

1. (Opcional) Em **Configurações adicionais**, realize uma das seguintes ações:
   + Configure uma chave AWS Key Management Service (AWS KMS) gerenciada pelo cliente para criptografar sua base de conhecimento.
   + Adicione tags à base de conhecimento. Para obter mais informações, consulte [Marcação de recursos do Amazon Bedrock](tagging.md).

   

   

1. Escolha **Criar base de conhecimento**. Enquanto o Amazon Bedrock estiver criando a base de conhecimento, você deve ver o status **Em andamento**. É necessário aguardar a conclusão da criação para poder adicionar e sincronizar uma fonte de dados.

1. Depois que o Amazon Bedrock terminar de criar a base de conhecimento, para configurar uma fonte de dados, siga as instruções em [Conectar uma fonte de dados à base de conhecimento](data-source-connectors.md).

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

**Como criar uma base de conhecimento com um Índice GenAI do Amazon Kendra**

Para criar uma base de conhecimento, envie uma [ CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)solicitação (consulte o link para ver os formatos de solicitação e resposta e detalhes do campo) com um endpoint de tempo de [construção do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).
+ No campo `roleArn`, forneça o nome do recurso da Amazon (ARN) de um perfil do IAM que tenha permissão para criar uma base de conhecimento do Amazon Bedrock.
+ Para usar um modelo que permita usar bases de conhecimento, você deve [habilitar o acesso ao modelo](model-access.md). Anote o ARN do modelo, que é necessário para converter os dados em incorporações de vetores. Copie o ID do modelo (recurso) que você escolheu para bases de conhecimento. Em seguida, crie o ARN do modelo usando o ID do modelo seguindo os exemplos de ARN fornecidos em [Tipos de recurso definidos pelo Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) na *Referência de autorização do Serviço*. Consulte os exemplos do tipo de recurso do seu modelo.

  No campo `embeddingModelArn`, no objeto `knowledgeBaseConfiguration`, forneça o ARN do modelo de incorporação de vetor que você deseja usar. Para obter mais informações, consulte [Modelos e regiões compatíveis para bases de conhecimento do Amazon Bedrock](knowledge-base-supported.md).
+ Para criar uma base de conhecimento com um Índice GenAI do Amazon Kendra, forneça o ARN do seu Índice GenAI do Amazon Kendra. 
+ Depois de criar uma base de conhecimento, crie uma fonte de dados que contenha os documentos ou o conteúdo da base de conhecimento. Observe que não é possível criar uma fonte de dados usando as operações de API do Amazon Bedrock. Você deve fazer isso com o console Amazon Bedrock ou com a operação da API [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)Amazon Kendra. Para ter mais informações sobre como escolher uma fonte de dados e exemplos de configuração de conexão de API, consulte [Conectar uma fonte de dados à base de conhecimento](data-source-connectors.md).

------

# Criar uma base de conhecimento com grafos do Amazon Neptune Analytics
<a name="knowledge-base-build-graphs"></a>

As Bases de Conhecimento do Amazon Bedrock oferecem um recurso GraphRAG totalmente gerenciado com o Amazon Neptune. AO GraphRAG é um recurso fornecido com as Bases de Conhecimento do Amazon Bedrock que combina modelagem de grafos com IA generativa para aprimorar a geração aumentada via recuperação (RAG). Esse recurso associa a pesquisa vetorial com a capacidade de analisar rapidamente grandes quantidades de dados de grafo do Amazon Neptune em aplicações de RAG.

O GraphRAG identifica e utiliza automaticamente os relacionamentos entre entidades e elementos estruturais em documentos ingeridos nas bases de conhecimento. Isso permite respostas mais abrangentes e contextualmente relevantes dos modelos de base, especialmente quando as informações precisam ser conectadas por meio de várias etapas lógicas. Isso significa que as aplicações de IA generativa podem fornecer respostas mais relevantes nos casos em que é necessário associar dados e raciocínio em vários fragmentos de documentos. Isso permite que aplicativos como chatbots forneçam respostas mais relevantes de modelos básicos (FMs) nos casos em que fatos, entidades e relacionamentos relacionados derivados de várias fontes de documentos são necessários para responder a perguntas

## Disponibilidade de regiões para o GraphRAG
<a name="knowledge-base-build-graphs-regions"></a>

A técnica GraphRAG está disponível nas seguintes Regiões da AWS:
+ Europa (Frankfurt)
+ Europa (Londres)
+ Europa (Irlanda)
+ Oeste dos EUA (Oregon)
+ Leste dos EUA (Norte da Virgínia)
+ Ásia-Pacífico (Tóquio)
+ Ásia-Pacífico (Singapura)

## Benefícios do uso do GraphRAG
<a name="knowledge-base-build-graphs-benefits"></a>

As Bases de Conhecimento do Amazon Bedrock com GraphRAG oferecem os seguintes benefícios:
+ Respostas mais relevantes e abrangentes, identificando e aproveitando automaticamente as relações entre entidades e elementos estruturais (como títulos de seções) em várias fontes de documentos que são ingeridas nas Bases de Conhecimento do Amazon Bedrock.
+ Capacidade aprimorada de realizar pesquisas exaustivas que correlacionam diferentes partes do conteúdo por meio de várias etapas lógicas, aprimorando as técnicas tradicionais de RAG.
+ Melhores recursos de raciocínio entre documentos, permitindo respostas mais precisas e contextualmente fiéis ao associar informações em várias fontes, o que ajuda a aumentar ainda mais a precisão e minimizar as alucinações.

## Como o GraphRAG funciona
<a name="knowledge-base-build-graphs-works"></a>

Depois de realizar uma pesquisa vetorial inicial para os nós relevantes, o GraphRAG da Base de Conhecimento do Amazon Bedrock executa as seguintes etapas para gerar uma resposta mais adequada:

1. Recupera nós de grafos relacionados ou identificadores de fragmentos que estão vinculados aos fragmentos do documento recuperado.

1. Expande esses fragmentos relacionados percorrendo o grafo e recuperando os detalhes no banco de dados de grafos.

1. Fornece respostas mais significativas ao compreender as entidades relevantes e ao se concentrar nas principais correlações usando esse contexto enriquecido.

## Considerações e limitações da técnica GraphRAG
<a name="knowledge-base-build-graphs-considerations"></a>

Veja a seguir algumas limitações ao usar as Bases de Conhecimento do Amazon Bedrock com o GraphRAG.
+ Não é possível usar as opções de configuração para personalizar a criação de grafos.
+ Não é possível usar ajuste de escala automático nos grafos do Amazon Neptune Analytics.
+ O GraphRAG permite apenas o Amazon S3 como fonte de dados.
+ O Claude 3 Haiku é escolhido como modelo de base para criar grafos automaticamente para sua base de conhecimento. Isso permite enriquecer o contexto automaticamente.
+ Cada fonte de dados pode ter até mil arquivos. Você pode solicitar o aumento desse limite para no máximo 10 mil arquivos por fonte de dados. Ou você pode particionar o bucket do Amazon S3 em pastas, em que cada pasta pode conter até mil arquivos.
+ Se você usar fragmentação hierárquica como estratégia de agrupamento, o GraphRAG recupera somente os fragmentos secundários durante a operação de pesquisa. Ele não substitui os fragmentos secundários pelos fragmentos principais correspondentes. Isso significa que os resultados de pesquisa contêm o conteúdo específico e detalhado dos fragmentos secundários, em vez do contexto mais amplo dos fragmentos principais.

**nota**  
Ao excluir uma base de conhecimento que usa o Amazon Neptune Analytics, exclua primeiro a base de conhecimento e, em seguida, o grafo do Amazon Neptune Analytics. A exclusão de uma base de conhecimento não exclui automaticamente o grafo subjacente. Cobranças adicionais podem ser aplicadas até que você exclua explicitamente o grafo. Ou você pode definir sua política de exclusão de fonte de dados no modo RETAIN para excluir primeiro o grafo sem causar falhas. Para obter mais informações, consulte [Excluir uma fonte de dados da base de conhecimento do Amazon Bedrock](kb-ds-delete.md).

# Criar uma base de conhecimento do Amazon Bedrock com grafos do Amazon Neptune Analytics
<a name="knowledge-base-build-graphs-build"></a>

O GraphRAG está totalmente integrado às Bases de Conhecimento do Amazon Bedrock e usa o Amazon Neptune Analytics para armazenamento de grafos e vetores. Você pode começar a usar o GraphRag em suas bases de conhecimento com o Console de gerenciamento da AWS AWS CLI, o ou o AWS SDK.

Você não precisa ter nenhuma infraestrutura gráfica para começar a usar o GraphRAG. As Bases de Conhecimento do Amazon Bedrock gerenciam automaticamente a criação e a manutenção dos grafos do Amazon Neptune. O sistema criará e atualizará automaticamente um grafo extraindo entidades, fatos e relacionamento dos documentos que você carrega no bucket do Amazon S3, para que possa fornecer respostas relevantes aos usuários finais, sem nenhum conhecimento prévio em modelagem de grafos. O grafo será armazenado no Amazon Neptune Analytics.

Ao criar uma base de conhecimento, configure ou especifique o seguinte:
+ Informações gerais que definam e identifiquem a base de conhecimento.
+ O perfil de serviço com permissões para a base de conhecimento.
+ Configurações da base de conhecimento, como modelo de incorporação a ser usado ao converter dados da fonte de dados e configurações de armazenamento para o serviço no qual armazenar as incorporações.

**nota**  
Você não pode criar uma base de conhecimento com um usuário-raiz. Faça login com um usuário do IAM antes de iniciar essas etapas.

Veja a seguir como criar uma base de conhecimento para usar o GraphRAG do Neptune por meio do console e usando a CLI.

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

**Como criar uma base de conhecimento para o Neptune Analytics por meio do console**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, escolha **Criar** e selecione **Base de conhecimento com armazenamento vetorial**.

1. (Opcional) Em **Detalhes da base de conhecimento**, altere o nome padrão e dê uma descrição para a base de conhecimento.

1. Em **Permissões do IAM** escolha um perfil do IAM que forneça permissão ao Amazon Bedrock para acessar outros Serviços da AWS necessários. Você pode permitir que o Amazon Bedrock crie o perfil de serviço ou optar por usar um perfil personalizado criado por você para o Neptune Analytics. Para ver um exemplo, consulte [Permissões para acessar o banco de dados de vetores no Amazon Neptune Analytics](kb-permissions.md#kb-permissions-neptune).

1. Escolha o **Amazon S3** como fonte de dados e selecione **Próximo** para configurar a fonte de dados.

1. Forneça o **URI do S3** do arquivo que será usado como fonte de dados para conectar a base de conhecimento e integrar ao Amazon Neptune Analytics. Para ver etapas adicionais e informações opcionais que você pode fornecer, consulte [Conectar uma fonte de dados à base de conhecimento](data-source-connectors.md).

1. Em **Modelo de incorporação**, escolha um modelo de incorporação para converter a base de conhecimento dos seus dados em uma incorporação. Opcionalmente, você pode usar a seção **Configurações adicionais** para especificar as dimensões vetoriais. Para o tipo de incorporação, recomendamos que você use incorporações de vetores de ponto flutuante.
**nota**  
As dimensões vetoriais do modelo de incorporação devem corresponder às dimensões vetoriais que você especificou ao criar o grafo do Neptune Analytics.

1. Na seção **Banco de dados de vetores**, escolha o método para criar o armazenamento de vetores e selecione **Amazon Neptune Analytics (GraphRAG)** como seu armazenamento de vetores para armazenar as incorporações que serão usadas na consulta. Para criar um armazenamento de vetores, você pode usar um dos seguintes métodos:
   + Recomendamos que você use o método de **Crie rapidamente um novo armazenamento de vetores** para começar rapidamente a criar um armazenamento de vetores. Escolha **Amazon Neptune Analytics (GraphRAG**) como armazenamento de vetores. Com essa opção, não é necessário ter nenhum recurso existente do Neptune Analytics. A base de conhecimento gera e armazena automaticamente incorporações de documentos no Amazon Neptune, com uma representação em grafo das entidades e das respectivas relações derivadas do corpo do documento.
   + Como alternativa, se você já criou o grafo e o índice de vetores do Neptune Analytics, poderá usar a opção **Escolha uma armazenamento de vetores que você criou**. Escolha **Amazon Neptune Analytics (GraphRAG**) como armazenamento de vetores e identifique o ARN do grafo, o nome dos campos de vetor e o nome dos campos de metadados no índice de vetores. Para obter mais informações, consulte [Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento](knowledge-base-setup.md).

1. Escolha **Próximo** e analise os detalhes da base de conhecimento. É possível editar qualquer seção antes de começar a criar a base de conhecimento.
**nota**  
O tempo necessário para criar a base de conhecimento depende de suas configurações específicas. Quando a criação da base de conhecimento é concluída, o status da base de conhecimento muda para o estado pronto ou disponível.  
Quando a base de conhecimento estiver pronta e disponível, sincronize a fonte de dados pela primeira vez e sempre que quiser manter o conteúdo atualizado. Selecione a base de conhecimento no console e escolha **Sincronizar** na seção de visão geral da fonte de dados.

1. Escolha **Criar base de conhecimento**. Enquanto o Amazon Bedrock estiver criando a base de conhecimento, você deve ver o status **Em andamento**. É necessário aguardar a conclusão da criação para poder sincronizar uma fonte de dados.

1. Depois que o Amazon Bedrock terminar de criar a base de conhecimento, para configurar uma fonte de dados, siga as instruções em [Conectar uma fonte de dados à base de conhecimento](data-source-connectors.md).

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

**Para criar uma base de conhecimento para o Neptune Analytics usando o AWS CLI**

1. Primeiro, crie uma fonte de dados usando a configuração de enriquecimento de contexto. Para realizar essa operação, envie uma solicitação [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Um exemplo de um comando da CLI é mostrado a seguir.

   ```
   aws bedrock-agent create-data-source \
       --name graph_rag_source \
       --description data_source_for_graph_rag \
       --knowledge-base-id LDBBY2K5AG \
       --cli-input-json "file://input.json"
   ```

   O código a seguir mostra o conteúdo do arquivo `input.json`.

   ```
   {
       "dataSourceConfiguration": { 
           "s3Configuration": { 
               "bucketArn": "arn:aws:s3:::<example-graphrag-datasets>",
               "bucketOwnerAccountId": "<ABCDEFGHIJ>",
               "inclusionPrefixes": [ <"example-dataset"> ]
           },
           "type": "S3",
       },
       "VectorIngestionConfiguration": {
           "contextEnrichmentConfiguration":
               "type": "BEDROCK_FOUNDATION_MODEL",
               "bedrockFoundationModelConfiguration": {
                   "modelArn": "arn:aws:bedrock:<region>::foundation-model/anthropic.claude-3-haiku-20240307-v1:0",
                   "enrichmentStrategyConfiguration": {
                       "method": "CHUNK_ENTITY_EXTRACTION"
               }
           }
       }
   }
   ```

   Para criar o `modelArn` gráfico a partir de seus documentos, você pode usar Claude 3 Haiku (conforme mostrado no exemplo anterior), Claude Haiku 4.5 e a família Amazon Nova (incluindo modelos Nova 2 e Nova com modalidade de entrada de texto). Para ver os modelos de fundação disponíveis em sua região, consulte [Modelos de fundação suportados no Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html).
**nota**  
Alguns modelos são suportados somente por meio de perfis de inferência entre regiões. Quando você invoca um perfil de inferência entre regiões no Amazon Bedrock, sua solicitação e os dados a serem ingeridos se originam de uma região de origem e são automaticamente roteados para uma das regiões de destino definidas nesse perfil, otimizando o desempenho. As regiões de destino para perfis de inferência globais entre regiões incluem todas as regiões comerciais. Por exemplo, você pode especificar o `modelArn` para uma chamada entre regiões com base nos EUA da região us-west-2 usando o formato. `arn:aws:bedrock:us-west-2:account-id:inference-profile/us.anthropic.claude-haiku-4-5-20251001-v1:0`

   Para ver os requisitos de política para que sua função use perfis de inferência, consulte [Pré-requisitos para](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-prereq.html) perfis de inferência entre regiões. Para obter orientação sobre como usar perfis de inferência para selecionar regiões de origem e destino, consulte [Regiões e modelos compatíveis para perfis de inferência](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html). Seus dados são armazenados somente na sua região de origem correspondente à base de conhecimento do Amazon Bedrock e à instância do Amazon Neptune Analytics. A região de destino é usada somente para inferência.

1. Para criar uma base de conhecimento, envie uma solicitação [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html) com um [endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Um exemplo de um comando da CLI é mostrado a seguir.

   ```
   aws bi create-knowledge-base \
   --name <"knowledge-base-graphrag"> \
   --role-arn arn:aws:iam::<accountId>:role/<BedrockExecutionRoleForKnowledgeBase> \
   --cli-input-json "file://input.json"
   ```

   O exemplo a seguir mostra o conteúdo do arquivo `input.json`.

   ```
   {
       "storageConfiguration": {
           "type": "NEPTUNE_ANALYTICS"
           "neptuneAnalyticsConfiguration": {
               "graphArn": "arn:aws:neptune-graph:<region>:<>:graph/<graphID>",
               "fieldMapping": {
                   "metadataField": "metadata",
                   "textField": "text"
               },
           }
       },
       "knowledgeBaseConfiguration": {
           "type": "VECTOR",
           "vectorKnowledgeBaseConfiguration": {
               "embeddingModelArn": "arn:aws:bedrock:<region>::foundation-model/cohere.embed-english-v3"
           }
       }
   }
   ```

1. Enquanto a aplicação baseada em GraphRAG está em execução, você pode continuar usando as operações de API de bases conhecimento para fornecer aos usuários finais respostas mais abrangentes, relevantes e explicáveis. As seções a seguir mostram como iniciar a ingestão e realizar consultas de recuperação usando comandos da CLI.

------

## Sincronizar as fontes de dados
<a name="knowledge-base-build-graphs-sync"></a>

Depois de criar a base de conhecimento, ingira ou sincronize os dados para que eles possam ser consultados. A ingestão extrai a estrutura gráfica e converte os dados brutos na fonte de dados em incorporações de vetores, com base no modelo de incorporação de vetores e nas configurações especificadas.

O comando a seguir mostra um exemplo de como iniciar um trabalho de ingestão usando a CLI.

```
aws bedrock-agent start-ingestion-job \
--data-source-id <"ABCDEFGHIJ"> \
--knowledge-base-id <"EFGHIJKLMN">
```

Para ter mais informações e saber como sincronizar sua fonte de dados usando o console e a API, consulte [Sincronizar os dados com a base de conhecimento do Amazon Bedrock](kb-data-source-sync-ingest.md).

## Ingerir alterações na base de conhecimento
<a name="knowledge-base-build-graphs-ingest"></a>

Ao usar o Amazon S3 como fonte de dados, você pode modificar a fonte de dados e sincronizar as alterações em uma única etapa. Com a ingestão direta, você pode adicionar, atualizar ou excluir arquivos diretamente em uma base de conhecimento usando uma única ação e sua base de conhecimento pode ter acesso aos documentos sem a necessidade de sincronização. A ingestão direta usa as operações de API `KnowledgeBaseDocuments` para indexar os documentos que você envia diretamente no armazenamento de vetores configurado para a base de conhecimento. Também é possível visualizar os documentos em sua base de conhecimento diretamente com essas operações, em vez de precisar navegar até a fonte de dados conectada para visualizá-los. Para obter mais informações, consulte [Ingerir alterações diretamente em uma base de conhecimento](kb-direct-ingestion.md).

## Testar a base de conhecimento
<a name="knowledge-base-build-graphs-test"></a>

Agora que você configurou a base de conhecimento, pode testá-la enviando consultas e gerando respostas.

O código a seguir mostra um comando de exemplo da CLI.

```
aws bedrock-agent-runtime retrieve \
--knowledge-base-id <"ABCDEFGHIJ"> \
--retrieval-query="{\"text\": \"What are the top three video games available now?\"}"
```

Para obter mais informações, consulte [Consultar uma base de conhecimento conectada a um grafo do Amazon Neptune Analytics](kb-test-neptune.md).

# Testar a base de conhecimento com consultas e respostas
<a name="knowledge-base-test"></a>

Depois de configurar uma base de conhecimento, você pode testar o comportamento dela conforme descrito abaixo:
+ Envie consultas e recupere informações relevantes das fontes de dados usando a operaçã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).
+ Envie consultas e gere respostas às consultas com base nas informações recuperadas das fontes de dados usando a operaçã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).
+ Use um modelo de reclassificação no modelo de reclassificação padrão das Bases de Conhecimento do Amazon Bedrock para recuperar fontes mais relevantes ao usar [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) ou [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).
+ Use filtros de metadados opcionais com a API `Retrieve` ou `RetrieveAndGenerate` para especificar quais documentos na fonte de dados podem ser usados.

Quando o comportamento da base de conhecimento estiver adequado, você poderá configurar a aplicação para consultar a base de conhecimento ou anexá-la a um agente seguindo as etapas em [Implantar a base de conhecimento para a aplicação de IA](knowledge-base-deploy.md).

Selecione um tópico para saber mais sobre isso.

**Topics**
+ [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md)
+ [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md)
+ [Gerar uma consulta a dados estruturados](knowledge-base-generate-query.md)
+ [Consultar uma base de conhecimento conectada a um Índice GenAI do Amazon Kendra](kb-test-kendra.md)
+ [Consultar uma base de conhecimento conectada a um grafo do Amazon Neptune Analytics](kb-test-neptune.md)
+ [Configurar e personalizar consultas e geração de respostas](kb-test-config.md)
+ [Configurar a geração de respostas para modelos de raciocínio com bases de conhecimento](kb-test-configure-reasoning.md)

# Consultar uma base de conhecimento e recuperar dados
<a name="kb-test-retrieve"></a>

**Importante**  
As barreiras de proteção são aplicadas somente à entrada e à resposta gerada pelo LLM. Elas não são aplicados às referências recuperadas das bases de conhecimento em runtime.

Depois que sua base de conhecimento estiver configurada, você poderá consultá-la e recuperar partes dos dados de origem que sejam relevantes para a consulta usando a operação de API [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). Também é possível [usar um modelo de reclassificação](rerank.md) em vez do classificador padrão das Bases de Conhecimento do Amazon Bedrock para classificar os fragmentos de origem quanto à relevância durante a recuperação.

Para saber como consultar uma base de conhecimento, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

**Como testar a base de conhecimento**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, execute uma das ações a seguir.
   + Escolha o botão de opção ao lado da base de conhecimento que deseja testar e selecione **Testar base de conhecimento**. Uma janela de teste é expandida à direita.
   + Escolha a base de conhecimento que deseja testar. Uma janela de teste é expandida à direita.

1. Para testar a janela, desative a opção **Gerar respostas para a consulta** para exibir informações recuperadas diretamente da base de conhecimento.

1. (Opcional) Selecione o ícone de configurações (![\[Three horizontal sliders with adjustable circular controls for settings or parameters.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/configurations.png)) para abrir **Configurações**. Para ter mais informações configurações, consulte [Configurar e personalizar consultas e geração de respostas](kb-test-config.md).

1. Insira uma consulta na caixa de texto da janela de chat e selecione **Executar** para retornar respostas da base de conhecimento.

1. Os fragmentos de origem serão exibidos diretamente em ordem de relevância. As imagens extraídas da fonte de dados também podem ser exibidas como um fragmento da fonte.

1. Para ver detalhes sobre os fragmentos exibidos, selecione **Mostrar detalhes da fonte**.
   + Para ver as configurações que definiu para a consulta, expanda **Configurações de consulta**.
   + Para ver detalhes sobre um fragmento de origem, expanda-o escolhendo a seta para a direita (![\[Play button icon with a triangular shape pointing to the right.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/caret-right-filled.png)) ao lado dele. É possível editar as seguintes informações:
     + O texto bruto do fragmento de origem. Para copiar esse texto, escolha o ícone de cópia (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/copy.png)). Se tiver usado o Amazon S3 para armazenar os dados, escolha o ícone de link externo (![\[Icon of a square with an arrow pointing outward from its top-right corner.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/external.png)) para navegar ao objeto do S3 que contém o arquivo.
     + Os metadados associados ao fragmento de origem, se você usou o Amazon S3 para armazenar seus dados. As attribute/field chaves e os valores são definidos no `.metadata.json` arquivo associado ao documento de origem. Para ter mais informações, consulte a seção **Metadados e filtragem** em [Configurar e personalizar consultas e geração de respostas](kb-test-config.md).

**Opções do chat**
+ Ative a opção **Gerar respostas** para gerar respostas com base nos fragmentos de origem recuperados. Se você alterar a configuração, o texto na janela de chat será completamente apagado.
+ Para limpar a janela de chat, selecione o ícone de vassoura (![\[Magnifying glass icon with a checkmark inside, symbolizing search or inspection.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/broom.png)).
+ Para copiar toda a saída na janela de chat, selecione o ícone de cópia (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/copy.png)).

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

Para consultar uma base de conhecimento e exibir somente texto relevante das fontes de dados, envie uma 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) com um [endpoint de runtime do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

Os seguintes campos são obrigatórios:


****  

| Campo | Descrição básica | 
| --- | --- | 
| knowledgeBaseId | Para especificar a base de conhecimento a ser consultada. | 
| retrievalQuery | Contém um campo text para especificar a consulta. | 
| guardrailsConfiguration | Incluir campos de configuração de barreiras de proteção, como guardrailsId e guardrailsVersion, para usar a barreira de proteção com a solicitação | 

Os seguintes campos são opcionais:


****  

| Campo | Caso de uso | 
| --- | --- | 
| nextToken | Para exibir o próximo lote de repostas (consulte os campos de resposta abaixo). | 
| retrievalConfiguration | Para incluir [configurações de consulta](kb-test-config.md) para personalizar a pesquisa vetorial. Consulte [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html) para obter mais informações. | 

Você pode usar um modelo de reclassificação em relação ao modelo de classificação padrão do Amazon Bedrock Knowledge Bases incluindo o campo no`rerankingConfiguration`. [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html) O `rerankingConfiguration` campo mapeia para um [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)objeto, no qual você pode especificar o modelo de reclassificação a ser usado, quaisquer campos de solicitação adicionais a serem incluídos, atributos de metadados para filtrar documentos durante a reclassificação e o número de resultados a serem retornados após a reclassificação. Para obter mais informações, consulte [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html).

**nota**  
Se o `numberOfRerankedResults` valor especificado for maior que o `numberOfResults` valor no [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html), o número máximo de resultados que serão retornados será o valor para`numberOfResults`. Uma exceção é se você usar a decomposição de consultas (para ter mais informações, consulte a seção **Modificações de consulta** em [Configurar e personalizar consultas e geração de respostas](kb-test-config.md). Se você usar a decomposição de consultas, `numberOfRerankedResults` pode ser até cinco vezes o valor de `numberOfResults`.

A resposta retorna os fragmentos de origem da fonte de dados como uma matriz de [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html)objetos no `retrievalResults` campo. Cada um [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html)contém os seguintes campos:


****  

| Campo | Description | 
| --- | --- | 
| content | Contém um fragmento de fonte de texto em text ou um fragmento de fonte de imagem no campo byteContent. Se o conteúdo for uma imagem, o URI de dados do conteúdo codificado em base64 será exibido no seguinte formato: data:image/jpeg;base64,\$1\$1base64-encoded string\$1. | 
| metadata | Contém cada atributo de metadados como uma chave e o valor dos metadados como um valor JSON com o qual a chave está associada. | 
| location | Contém o URI ou URL do documento ao qual o fragmento de origem pertence. | 
| score | A pontuação de relevância do documento. É possível usar essa pontuação para analisar a classificação dos resultados. | 

Se o número de partes de origem exceder o que pode caber na resposta, um valor será exibido no campo `nextToken`. Use esse valor em outra solicitação para apresentar o próximo lote de resultados.

Se os dados recuperados contiverem imagens, a resposta também exibirá os seguintes cabeçalhos de resposta, que contêm metadados para fragmentos de origem exibidos na resposta:
+ `x-amz-bedrock-kb-byte-content-source`: contém o URI do Amazon S3 da imagem.
+ `x-amz-bedrock-kb-description`: contém a string codificada em base64 da imagem.

**nota**  
Não é possível filtrar esses cabeçalhos de resposta de metadados ao [configurar](kb-test-config.md) filtros de metadados.

**Consultas multimodais**  
Para bases de conhecimento que usam modelos de incorporação multimodais, você pode consultar com texto ou imagens. O `retrievalQuery` campo suporta um `multimodalInputList` campo para consultas de imagens:

**nota**  
Para obter uma orientação abrangente sobre como configurar e trabalhar com bases de conhecimento multimodais, incluindo a escolha entre as abordagens Nova e BDA, consulte. [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md)

Você pode consultar com imagens usando o `multimodalInputList` campo:

```
{
    "knowledgeBaseId": "EXAMPLE123", 
    "retrievalQuery": {
        "multimodalInputList": [
            {
                "content": {
                    "byteContent": "base64-encoded-image-data"
                },
                "modality": "IMAGE"
            }
        ]
    }
}
```

Ou você pode consultar somente com texto usando o `text` campo:

```
{
    "knowledgeBaseId": "EXAMPLE123",
    "retrievalQuery": {
        "text": "Find similar shoes"
    }
}
```

**Padrões comuns de consulta multimodal**  
Veja a seguir alguns padrões de consulta comuns:

Image-to-image pesquisar  
Faça upload de uma imagem para encontrar imagens visualmente semelhantes. Exemplo: faça upload de uma foto de um tênis Nike vermelho para encontrar sapatos semelhantes em seu catálogo de produtos.

Pesquisa baseada em texto  
Use consultas de texto para encontrar conteúdo relevante. Exemplo: “Encontre sapatos semelhantes” para pesquisar seu catálogo de produtos usando descrições de texto.

Pesquisa visual de documentos  
Pesquise gráficos, diagramas ou elementos visuais nos documentos. Exemplo: faça upload de uma imagem de gráfico para encontrar gráficos semelhantes em sua coleção de documentos.

**Escolhendo entre Nova e BDA para conteúdo multimodal**  
Ao trabalhar com conteúdo multimodal, escolha sua abordagem com base no tipo de conteúdo e nos padrões de consulta:


**Matriz de decisão Nova x BDA**  

| Tipo de conteúdo | Use incorporações multimodais Nova | Use o analisador Bedrock Data Automation (BDA) | 
| --- | --- | --- | 
| Conteúdo de vídeo | Foco na narrativa visual (esportes, anúncios, demonstrações), consultas sobre elementos visuais, conteúdo mínimo de fala | Importante speech/narration (apresentações, reuniões, tutoriais), dúvidas sobre conteúdo falado, transcrições necessárias | 
| Conteúdo de áudio | Identificação de música ou efeitos sonoros, análise de áudio sem fala | Podcasts, entrevistas, reuniões, qualquer conteúdo com discurso que exija transcrição | 
| Conteúdo da imagem | Pesquisas de similaridade visual, image-to-image recuperação, análise visual de conteúdo | Extração de texto de imagens, processamento de documentos, requisitos de OCR | 

**nota**  
As incorporações multimodais Nova não podem processar o conteúdo da fala diretamente. Se seus arquivos de áudio ou vídeo contiverem informações faladas importantes, use o analisador BDA para converter voz em texto primeiro ou escolha um modelo de incorporação de texto.

**Limitações da consulta multimodal**  
A seguir estão algumas limitações das consultas multimodais:
+ Máximo de uma imagem por consulta na versão atual
+ As consultas de imagem só são suportadas com modelos de incorporação multimodais (Titan G1 ou Cohere Embed v3)
+ RetrieveAndGenerate A API não é compatível com bases de conhecimento com modelos de incorporação multimodais e buckets de conteúdo S3
+ Se você fornecer uma consulta de imagem para uma base de conhecimento usando modelos de incorporação somente de texto, um erro 4xx será retornado

**Estrutura de resposta multimodal da API**  
As respostas de recuperação para conteúdo multimodal incluem metadados adicionais:
+ **URI de origem:** aponta para a localização original do bucket do S3
+ **URI suplementar:** aponta para a cópia em seu bucket de armazenamento multimodal
+ **Metadados de registro de data e hora:** incluídos em partes de vídeo e áudio para permitir um posicionamento preciso da reprodução

**nota**  
Ao usar a API ou o SDK, você precisará lidar com a recuperação de arquivos e a navegação com carimbo de data/hora em seu aplicativo. O console lida com isso automaticamente com reprodução de vídeo aprimorada e navegação automática com carimbo de data/hora.

------

**nota**  
Se você receber um erro informando que o prompt excede o limite de caracteres ao gerar respostas, é possível encurtar o prompt das seguintes maneiras:  
Reduza o número máximo de resultados recuperados (isso reduz o que é preenchido para o espaço reservado \$1search\$1results\$1 no [Modelos de prompt da base de conhecimento: orquestração e geração](kb-test-config.md#kb-test-config-prompt-template)).
Recrie a fonte de dados com uma estratégia de fragmentação que usa fragmentos menores (isso reduz o que é preenchido para o espaço reservado \$1search\$1results\$1 no [Modelos de prompt da base de conhecimento: orquestração e geração](kb-test-config.md#kb-test-config-prompt-template)).
Encurte o modelo do prompt.
Encurte a consulta do usuário (isso reduz o que é preenchido para o espaço reservado \$1query\$1 no [Modelos de prompt da base de conhecimento: orquestração e geração](kb-test-config.md#kb-test-config-prompt-template)).

# Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados
<a name="kb-test-retrieve-generate"></a>

**Importante**  
As barreiras de proteção são aplicadas somente à entrada e à resposta gerada pelo LLM. Elas não são aplicados às referências recuperadas das bases de conhecimento em runtime.

Depois de configurar a base de conhecimento, você pode consultá-la e gerar respostas baseadas nos fragmentos recuperados dos dados da fonte usando a operação de 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). As respostas são exibidas com citações dos dados da fonte original. Também é possível [usar um modelo de reclassificação](rerank.md) em vez do classificador padrão das Bases de Conhecimento do Amazon Bedrock para classificar os fragmentos de origem quanto à relevância durante a recuperação.

**Limitações de conteúdo multimodal**  
`RetrieveAndGenerate`tem suporte limitado para conteúdo multimodal. Ao usar o Nova Multimodal Embeddings, a funcionalidade do RAG é restrita apenas ao conteúdo de texto. Para suporte multimodal completo, incluindo processamento de áudio e vídeo, use o BDA com modelos de incorporação de texto. Para obter detalhes, consulte [Crie uma base de conhecimento para conteúdo multimodal](kb-multimodal.md).

**nota**  
As imagens exibidas da resposta `Retrieve` durante o fluxo `RetrieveAndGenerate` são incluídas no prompt para geração de resposta. A resposta `RetrieveAndGenerate` não pode incluir imagens, mas pode citar as fontes que contêm as imagens.

Para saber como consultar uma base de conhecimento, escolha a guia correspondente ao método de sua preferência e siga as etapas:

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

**Como testar a base de conhecimento**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console Amazon Bedrock. Em seguida, abra o console Amazon Bedrock em [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Na seção **Bases de conhecimento**, execute uma das ações a seguir.
   + Escolha o botão de opção ao lado da base de conhecimento que deseja testar e selecione **Testar base de conhecimento**. Uma janela de teste é expandida à direita.
   + Escolha a base de conhecimento que deseja testar. Uma janela de teste é expandida à direita.

1. Para gerar respostas com base em informações recuperadas da base de conhecimento, ative a opção **Gerar respostas para a consulta**. O Amazon Bedrock gerará respostas com base nas fontes de dados e citará as informações fornecidas com notas de rodapé.

1. Para escolher um modelo para usar para geração de respostas, escolha **Selecionar um modelo**. Selecione **Aplicar**. 

1. (Opcional) Selecione o ícone de configurações (![\[Three horizontal sliders with adjustable circular controls for settings or parameters.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/configurations.png)) para abrir **Configurações**. Para ter mais informações configurações, consulte [Configurar e personalizar consultas e geração de respostas](kb-test-config.md).

1. Insira uma consulta na caixa de texto da janela de chat e selecione **Executar** para retornar respostas da base de conhecimento.

1. Selecione uma nota de rodapé para ver um trecho da fonte citada por essa parte da resposta. Escolha o link para navegar até o objeto do S3 que contém o arquivo.

1. Para ver detalhes sobre os fragmentos exibidos, selecione **Mostrar detalhes da fonte**.
   + Para ver as configurações que definiu para a consulta, expanda **Configurações de consulta**.
   + Para ver detalhes sobre um fragmento de origem, expanda-o escolhendo a seta para a direita (![\[Play button icon with a triangular shape pointing to the right.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/caret-right-filled.png)) ao lado dele. É possível editar as seguintes informações:
     + O texto bruto do fragmento de origem. Para copiar esse texto, escolha o ícone de cópia (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/copy.png)). Se tiver usado o Amazon S3 para armazenar os dados, escolha o ícone de link externo (![\[Icon of a square with an arrow pointing outward from its top-right corner.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/external.png)) para navegar ao objeto do S3 que contém o arquivo.
     + Os metadados associados ao fragmento de origem, se você usou o Amazon S3 para armazenar seus dados. As attribute/field chaves e os valores são definidos no `.metadata.json` arquivo associado ao documento de origem. Para ter mais informações, consulte a seção **Metadados e filtragem** em [Configurar e personalizar consultas e geração de respostas](kb-test-config.md).

**Opções do chat**
+ Para usar um modelo diferente para geração de resposta, selecione **Alterar modelo**. Se você alterar o modelo, o texto na janela de chat será completamente apagado.
+ Opte por recuperar fragmentos de origem diretamente desmarcando **Gerar respostas**. Se você alterar a configuração, o texto na janela de chat será completamente apagado.
+ Para limpar a janela de chat, selecione o ícone de vassoura (![\[Magnifying glass icon with a checkmark inside, symbolizing search or inspection.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/broom.png)).
+ Para copiar toda a saída na janela de chat, selecione o ícone de cópia (![\[Icon representing a crop or resize function, with two overlapping rectangles.\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/images/icons/copy.png)).

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

Para consultar uma base de conhecimento e usar um modelo de base para gerar respostas de acordo com os resultados das fontes de dados, envie 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) com um [endpoint de runtime do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt).

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) exibe os dados em um formato de streaming e permite acessar as respostas geradas em fragmentos sem esperar pelo resultado completo.

Os seguintes campos são obrigatórios:

**nota**  
A resposta da API contém eventos de citação. O membro `citation` foi descontinuado. Em vez disso, recomendamos usar os campos `generatedResponse` e `retrievedReferences`. Para referência, consulte [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_CitationEvent.html).


****  

| Campo | Descrição básica | 
| --- | --- | 
| input | Contém um campo text para especificar a consulta. | 
| retrieveAndGenerateConfiguração | Contém um [RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html), que especifica configurações para recuperação e geração. Veja mais detalhes abaixo. | 

Os seguintes campos são opcionais:


****  

| Campo | Caso de uso | 
| --- | --- | 
| sessionId | Use o mesmo valor de uma sessão anterior para dar continuidade a essa sessão e manter o contexto dela para o modelo. | 
| sessionConfiguration | Para incluir uma chave personalizada do KMS para criptografia da sessão. | 

Inclua o `knowledgeBaseConfiguration` campo no [RetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerateConfiguration.html). Esse campo é mapeado para um [KnowledgeBaseRetrieveAndGenerateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrieveAndGenerateConfiguration.html)objeto, que contém os seguintes campos:
+ Os seguintes campos são obrigatórios:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/kb-test-retrieve-generate.html)
+ Os seguintes campos são opcionais:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/kb-test-retrieve-generate.html)

Você pode usar um modelo de reclassificação em relação ao modelo de classificação padrão do Amazon Bedrock Knowledge Bases incluindo o `rerankingConfiguration` campo no. [KnowledgeBaseVectorSearchConfiguration[KnowledgeBaseRetrievalConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalConfiguration.html)](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html) O `rerankingConfiguration` campo mapeia para um [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html)objeto, no qual você pode especificar o modelo de reclassificação a ser usado, quaisquer campos de solicitação adicionais a serem incluídos, atributos de metadados para filtrar documentos durante a reclassificação e o número de resultados a serem retornados após a reclassificação. Para obter mais informações, consulte [VectorSearchRerankingConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_VectorSearchRerankingConfiguration.html).

**nota**  
Se o `numberOfRerankedResults` valor especificado for maior que o `numberOfResults` valor no [KnowledgeBaseVectorSearchConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseVectorSearchConfiguration.html), o número máximo de resultados que serão retornados será o valor para`numberOfResults`. Uma exceção é se você usar a decomposição de consultas (para ter mais informações, consulte a seção **Modificações de consulta** em [Configurar e personalizar consultas e geração de respostas](kb-test-config.md). Se você usar a decomposição de consultas, `numberOfRerankedResults` pode ser até cinco vezes o valor de `numberOfResults`.

A resposta exibe resposta gerada no campo `output` e os fragmentos de origem citados como uma matriz no campo `citations`. Cada objeto [citação](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Citation.html) contém os campos a seguir.


****  

| Campo | Descrição básica | 
| --- | --- | 
| generatedResponsePart | No campo textResponsePart, o text ao qual a citação pertence está incluído. O campo span fornece os índices para o início e o fim da parte da saída que tem uma citação. | 
| retrievedReferences | Uma matriz de [RetrievedReference](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievedReference.html)objetos, cada um contendo o fragmento content de origem metadata associado ao documento e o URI ou URL location do documento na fonte de dados.  Se o conteúdo for uma imagem, o URI de dados do conteúdo codificado em base64 será exibido no seguinte formato: data:image/jpeg;base64,\$1\$1base64-encoded string\$1. | 

A resposta também exibe um valor `sessionId` que é possível reutilizar em outra solicitação para manter a mesma conversa.

Se você incluiu uma `guardrailConfiguration` na solicitação, o campo `guardrailAction` informará se o conteúdo foi bloqueado ou não.

Se os dados recuperados contiverem imagens, a resposta também exibirá os seguintes cabeçalhos de resposta, que contêm metadados para fragmentos de origem exibidos na resposta:
+ `x-amz-bedrock-kb-byte-content-source`: contém o URI do Amazon S3 da imagem.
+ `x-amz-bedrock-kb-description`: contém a string codificada em base64 da imagem.

**nota**  
Não é possível filtrar esses cabeçalhos de resposta de metadados ao [configurar](kb-test-config.md) filtros de metadados.

------

**nota**  
Se você receber um erro informando que o prompt excede o limite de caracteres ao gerar respostas, é possível encurtar o prompt das seguintes maneiras:  
Reduza o número máximo de resultados recuperados (isso reduz o que é preenchido para o espaço reservado \$1search\$1results\$1 no [Modelos de prompt da base de conhecimento: orquestração e geração](kb-test-config.md#kb-test-config-prompt-template)).
Recrie a fonte de dados com uma estratégia de fragmentação que usa fragmentos menores (isso reduz o que é preenchido para o espaço reservado \$1search\$1results\$1 no [Modelos de prompt da base de conhecimento: orquestração e geração](kb-test-config.md#kb-test-config-prompt-template)).
Encurte o modelo do prompt.
Encurte a consulta do usuário (isso reduz o que é preenchido para o espaço reservado \$1query\$1 no [Modelos de prompt da base de conhecimento: orquestração e geração](kb-test-config.md#kb-test-config-prompt-template)).

# Gerar uma consulta a dados estruturados
<a name="knowledge-base-generate-query"></a>

Quando você conecta um armazenamento de dados estruturados à base de conhecimento, a base de conhecimento pode consultá-lo convertendo a consulta em linguagem natural do usuário em uma consulta SQL, com base na estrutura da fonte de dados que está sendo consultada. Quando você usa:
+ [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): a resposta exibe o resultado da execução da consulta SQL.
+ [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): a resposta gerada é baseada no resultado da execução da consulta SQL.
+ [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html): O Amazon Bedrock Knowledge Bases separa a conversão da consulta do processo de recuperação. Você pode usar essa operação de API para transformar uma consulta em SQL.

## Usar a API `GenerateQuery`
<a name="knowledge-base-generate-query-api"></a>

Você pode usar a resposta da operação de API `GenerateQuery` com uma ação `Retrieve` ou `RetrieveAndGenerate` subsequente ou inseri-la em outros fluxos de trabalho. `GenerateQuery` permite transformar consultas em consultas SQL de forma eficiente, levando em consideração a estrutura da fonte de dados da base de conhecimento.

Para transformar uma consulta de linguagem natural em uma consulta SQL, envie uma [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html)solicitação com um [endpoint de tempo de execução do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt). A solicitação `GenerateQuery` contém os seguintes campos:
+ queryGenerationInput — Especifique `TEXT` como `type` e inclua a consulta no `text` campo.
**nota**  
As consultas devem ser escritas em inglês.
+ transformationConfiguration: especifique `TEXT_TO_SQL` como o `mode`. No campo `textToSqlConfiguration`, especifique `KNOWLEDGE_BASE` com o `type`. Em seguida, especifique o ARN da base de conhecimento.

A resposta retorna uma matriz contendo um [GeneratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GeneratedQuery.html)objeto no `queries` campo. O objeto contém uma consulta SQL para a consulta no campo `sql`.

## Considerações importantes
<a name="knowledge-base-generate-query-considerations"></a>

Veja a seguir algumas considerações importantes ao gerar uma consulta usando dados estruturados.
+ 

**Inferência entre regiões e recuperação de dados estruturados**  
A recuperação de dados estruturados usa inferência entre regiões para selecionar o ideal Região da AWS em sua geografia para processar sua solicitação de inferência. Isso não gera cobranças adicionais e melhora a experiência do cliente ao maximizar os recursos disponíveis e a disponibilidade do modelo.

  As solicitações de inferência cruzada são mantidas dentro do Regiões da AWS que faz parte da geografia em que os dados residem originalmente. Seus dados permanecem armazenados na região de origem, mas os prompts de entrada e os resultados de saída podem se mover fora dessa região. Todos os dados serão transmitidos criptografados pela rede segura da Amazon.

  Para obter mais informações, consulte [Aumentar o throughput com inferência entre regiões](cross-region-inference.md).
+ 

**Precisão das consultas SQL geradas**  
A precisão de uma consulta SQL gerada pode variar dependendo do contexto, dos esquemas de tabela e da intenção da consulta de um usuário. Antes de usar as consultas geradas em sua workload, avalie-as para garantir que sejam adequadas ao seu caso de uso.
+ 

**Número de resultados recuperados**  
As limitações a seguir se aplicam ao gerar a resposta.
  + Ao usar as operações de API `InvokeAgent`, `RetrieveAndGenerate` e `RetrieveAndGenerateStream`, apenas dez resultados recuperados são usados ao gerar a resposta.
  + Ao usar a API `InvokeAgent`, se houver mais de dez linhas de resultados recuperados, o número total de linhas recuperadas não será transmitido ao agente para gerar a resposta. Se, em vez disso, você usar a API `RetrieveAndGenerate`, o número total de linhas será incluído no prompt para gerar a resposta final.
+ 

**Cota da API `GenerateQuery`**  
A API `GenerateQuery` tem uma cota de duas solicitações por segundo.

## Conceder permissões a um perfil para acessar as consultas geradas
<a name="knowledge-base-structured-permissions"></a>

Para sua base de conhecimento conectada a uma fonte de dados estruturados, se você quiser realizar algumas operações adicionais nas consultas geradas, deverá conceder permissões para realizar a ação de API `GenerateQuery`. Para permitir que o perfil do IAM consulte uma base de conhecimento conectada a um armazenamento de dados estruturados, anexe a seguinte política ao perfil:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetKB",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetKnowledgeBase"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery",
                "sqlworkbench:GetSqlRecommendations"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Retrieve",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "RetrieveAndGenerate",
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Você pode remover instruções das quais não precisa, dependendo do caso de uso:
+ `GenerateQuery`As instruções `GetKB` e devem ser chamadas [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html)para gerar consultas SQL que levem em consideração as consultas do usuário e sua fonte de dados conectada.
+ A instrução `Retrieve` deve chamar [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) para recuperar dados do armazenamento de dados estruturados.
+ A instrução `RetrieveAndGenerate` deve chamar [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) para recuperar dados do armazenamento de dados estruturados e gerar respostas baseadas nos dados.

# Consultar uma base de conhecimento conectada a um Índice GenAI do Amazon Kendra
<a name="kb-test-kendra"></a>

Você pode consultar uma base de conhecimento que use um Índice GenAI do Amazon Kendra e exibir somente texto relevante das fontes de dados. Para essa consulta, envie uma 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) com um [endpoint de runtime do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt), tal como com uma base de conhecimento padrão.

A estrutura de uma resposta exibida de uma base de conhecimento com um Índice GenAI do Amazon Kendra é a mesma de um [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) padrão. No entanto, a resposta também inclui alguns campos adicionais do Amazon Kendra.

A tabela a seguir descreve os campos do Amazon Kendra que você pode ver em uma resposta exibida. O Amazon Bedrock obtém esses campos da resposta do Amazon Kendra. Se essa resposta não contiver esses campos, o resultado da consulta exibido pelo Amazon Bedrock também não terá esses campos.


| Campo | Descrição | 
| --- | --- | 
|  x-amz-kendra-document-title  |  O título do documento devolvido.  | 
|  x-amz-kendra-score-confidence  |  Uma classificação relativa da relevância da resposta à consulta. Os valores possíveis são VERY\$1HIGH, HIGH, MEDIUM, LOW e NOT\$1AVAILABLE.  | 
|  x-amz-kendra-passage-id  |  O ID do trecho apresentado.  | 
|  x-amz-kendra-document-id  |  O ID do documento apresentado.  | 
|  DocumentAttributes  |  Atributos de documento ou campos de metadados do Amazon Kendra. O resultado exibido da consulta à base de conhecimento os armazena como pares de chave-valor de metadados. Você pode filtrar resultados com a filtragem de metadados do Amazon Bedrock. Para ter mais informações, consulte [DocumentAttribute](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DocumentAttribute.html).  | 

# Consultar uma base de conhecimento conectada a um grafo do Amazon Neptune Analytics
<a name="kb-test-neptune"></a>

Você pode consultar uma base de conhecimento que usa um grafo do Amazon Neptune Analytics e exibir somente texto relevante das fontes de dados. Para essa consulta, envie uma 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) com um [endpoint de runtime do recurso Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt), tal como com uma base de conhecimento padrão. Para ter informações sobre como consultar uma base de conhecimento, recuperar dados e gerar respostas, consulte:
+  [Consultar uma base de conhecimento e recuperar dados](kb-test-retrieve.md) 
+  [Consultar uma base de conhecimento e gerar respostas com base nos dados recuperados](kb-test-retrieve-generate.md) 

A estrutura de uma resposta exibida de uma base de conhecimento com um grafo do Amazon Neptune Analytics é a mesma de um [KnowledgeBaseRetrievalResult](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_KnowledgeBaseRetrievalResult.html) padrão. No entanto, a resposta também inclui alguns campos adicionais do Amazon Neptune.

A tabela a seguir descreve os campos do Neptune Analytics que você pode ver em uma resposta exibida. O Amazon Bedrock obtém esses campos da resposta do Neptune Analytics. Se essa resposta não contiver esses campos, o resultado da consulta exibido pelo Amazon Bedrock também não terá esses campos.


| Campo | Descrição | 
| --- | --- | 
|  x-amz-bedrock-kb-source-uri  |  O URL do Amazon S3 do documento exibido.  | 
|  score  |  Uma medida de distância que indica o grau de correspondência entre uma resposta e a consulta que foi feita, na qual os valores mais baixos indicam melhores correspondências.  | 
|  x-amz-bedrock-kb-data-source-id  |  O ID da fonte de dados usada para a base de conhecimento.  | 
|  x-amz-bedrock-kb-chunk-id  |  O ID do fragmento que foi usado para recuperar as informações da consulta e gerar a resposta.  | 
|  DocumentAttributes  |  Atributos de documento ou campos de metadados do Amazon Kendra. O resultado exibido da consulta à base de conhecimento os armazena como pares de chave-valor de metadados. Você pode filtrar resultados com a filtragem de metadados do Amazon Bedrock.  | 

## Usar metadados e filtragem
<a name="kb-test-neptune-metadata"></a>

Ao consultar a base de conhecimento e gerar respostas, é possível filtrar metadados para encontrar documentos mais relevantes. Por exemplo, é possível filtrar com base na data de publicação do documento. Você pode usar o console do Amazon Bedrock ou a API de runtime [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrievalFilter.html) para essa finalidade, que pode especificar algumas condições gerais de filtro.

Veja a seguir algumas considerações sobre o uso da API `RetrievalFilter` para grafos do Neptune Analytics.
+ Não é possível usar as chaves de filtro `startsWith` e `listContains`.
+ Não é possível usar a variante de lista do filtro `stringContains`.

Por exemplo:

```
"vectorSearchConfiguration": {
        "numberOfResults": 5,
        "filter": {
            "orAll": [
                {
                    "andAll": [
                        {
                            "equals": {
                                "key": "genre",
                                "value": "entertainment"
                            }
                        },
                        {
                            "greaterThan": {
                                "key": "year",
                                "value": 2018
                            }
                        }
                    ]
                },
                {
                    "andAll": [                        
                        {
                            "startsWith": {
                                "key": "author",
                                "value": "C"
                            }
                        }
                    ]
                }
            ]
        }
    }
}
```

# 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\$1modification\$1time” 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\$1modification\$1time” *é 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 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 field/attribute metadado chamado -. x-amz-bedrock-kb document-page-number* 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 | \$1= | [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 | >= | [greaterThanOrIgual](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 | <= | [lessThanOrIgual](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 | \$1: | [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 **\$1 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 (![\[Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family.\]](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**  
No momento, o recurso só funciona com o Claude 3.5 Sonnet da Anthropic.

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
+ maxTokenCount
+ stopSequences

Você pode personalizar o modelo usando os seguintes parâmetros no campo `inferenceConfig` de `externalSourcesConfiguration` e `knowledgeBaseConfiguration`: 
+ temperature
+ topP
+ maxTokenCount
+ 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 “\$1nObservation” na resposta gerada e passa um valor `top_k` personalizado de 50. 

------

## Modelos de prompt da base de conhecimento: orquestração e geração
<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 de prompt**: variáveis predefinidas nas bases de conhecimento do Amazon Bedrock 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).

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

------

# Configurar a geração de respostas para modelos de raciocínio com bases de conhecimento
<a name="kb-test-configure-reasoning"></a>

Determinados modelos de base conseguem aplicar o raciocínio de modelo, caso em que eles assumem uma tarefa maior e complexa e a dividem em etapas menores e mais simples. Esse processo, geralmente chamado de raciocínio em cadeia de pensamento (CoT), pode melhorar a precisão do modelo, dando a ele a chance de pensar antes de responder. O raciocínio do modelo é mais útil para tarefas como análise em várias etapas, problemas matemáticos e tarefas de raciocínio complexo. Para obter mais informações, consulte [Melhorar as respostas do modelo com o raciocínio de modelo](inference-reasoning.md).

**nota**  
Esta página descreve como usar a configuração de raciocínio especificamente para as Bases de Conhecimento Amazon Bedrock. Para ter informações sobre como configurar o raciocínio para invocação direta do modelo usando a API `InvokeModel`, consulte [Melhorar as respostas do modelo com o raciocínio de modelo](inference-reasoning.md).

Quando o raciocínio de modelo está habilitado, isso pode aumentar a precisão ao oferecer melhores resultados de citação, mas pode aumentar a latência. A seguir são apresentadas algumas considerações ao consultar as fontes de dados e gerar respostas usando modelos de raciocínio com as Bases de Conhecimento do Amazon Bedrock.

**Topics**
+ [Modelos de raciocínio](#kb-test-reasoning-models)
+ [Usar o raciocínio de modelo para o Claude 3.7 Sonnet](#kb-test-reasoning-using)
+ [Considerações gerais](#kb-test-reasoning-general-considerations)
+ [Recuperar e gerar considerações sobre a API](#kb-test-reasoning-api-considerations)

## Modelos de raciocínio
<a name="kb-test-reasoning-models"></a>

O raciocínio de modelo está disponível para os modelos a seguir.


| Modelo de base | ID do modelo | Número de tokens | Configuração de raciocínio | 
| --- | --- | --- | --- | 
| Anthropic Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 | Esse modelo terá 32.768 tokens, que incluem tokens de saída e de raciocínio. | O raciocínio pode ser habilitado ou desabilitado para esse modelo usando um orçamento de token configurável. Por padrão, o raciocínio está desabilitado. | 
| Anthropic Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 | Esse modelo terá 65.536 tokens, que incluem tokens de saída e de raciocínio. | O raciocínio pode ser habilitado ou desabilitado para esse modelo usando um orçamento de token configurável. Por padrão, o raciocínio está desabilitado. | 
| Anthropic Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 | Esse modelo terá 65.536 tokens, que incluem tokens de saída e de raciocínio. | O raciocínio pode ser habilitado ou desabilitado para esse modelo usando um orçamento de token configurável. Por padrão, o raciocínio está desabilitado. | 
| DeepSeek-R1 da DeepSeek | deepseek.r1-v1:0 | Esse modelo terá 8.192 tokens, que incluem tokens de saída e de raciocínio. O número de tokens de raciocínio não pode ser configurado e o número máximo de tokens de saída não deve ser maior que 8.192. | O raciocínio está sempre habilitado para esse modelo. O modelo não permite ativar e desativar o recurso de raciocínio. | 

## Usar o raciocínio de modelo para o Claude 3.7 Sonnet
<a name="kb-test-reasoning-using"></a>

**nota**  
O raciocínio de modelo está sempre habilitado para o modelo DeepSeek-R1. O modelo não permite ativar e desativar o recurso de raciocínio.

Ao usar o modelo Claude 3.7 Sonnet, o raciocínio de modelo pode ser habilitado ou desabilitado usando o parâmetro `additionalModelRequestFields` da 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). Esse parâmetro aceita qualquer par de chave-valor. Por exemplo, você pode adicionar um campo `reasoningConfig` e usar uma chave `type` para habilitar ou desabilitar o raciocínio, conforme mostrado abaixo.

```
{
   "input": { 
      "text": "string",
      "retrieveAndGenerateConfiguration": { 
      "knowledgeBaseConfiguration": { 
         "generationConfiguration": { 
            "additionalModelRequestFields": {
                "reasoningConfig" : {
                    "type": "enabled",
                    "budget_tokens": INT_VAL, #required when enabled
                }
            }
         },
         "knowledgeBaseId": "string",
      },
      "type": "string"
   },
   "sessionId": "string"
}
```

## Considerações gerais
<a name="kb-test-reasoning-general-considerations"></a>

A seguir são apresentadas algumas considerações gerais sobre o uso dos modelos de raciocínio para bases de conhecimento.
+ Os modelos de raciocínio terão até cinco minutos para responder a uma consulta. Se o modelo levar mais de cinco minutos para responder à consulta, isso resultará em um tempo limite.
+ Para evitar exceder o tempo limite de cinco minutos, o raciocínio de modelo é habilitado somente na etapa de geração, quando você configura as consultas e a geração de respostas. A etapa de orquestração não pode ter um modelo de raciocínio.
+ Os modelos de raciocínio podem usar até 8.192 tokens para responder às consultas, o que incluirá tanto os tokens de saída quanto os de raciocínio. Qualquer solicitação que tenha uma solicitação de número máximo de tokens de saída maior que esse limite resultará em um erro.

## Recuperar e gerar considerações sobre a API
<a name="kb-test-reasoning-api-considerations"></a>

Veja a seguir algumas considerações importantes ao usar 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) para modelos de raciocínio.
+ Por padrão, quando o raciocínio está desabilitado para todos os modelos, inclusive para o Claude 3.7 Sonnet, a temperatura é ajustada para zero. Quando o raciocínio está habilitado, a temperatura deve ser ajustada para um.

  ```
  "inferenceConfig": {
      "textInferenceConfig": {
          "maxTokens": 8192,
          "temperature": 1
      }
  }
  ```
+ Quando o raciocínio está habilitado para o modelo Claude 3.7 Sonnet, é necessário desabilitar o parâmetro Top P. Top P é um campo adicional de solicitação de modelo que determina o percentil de possíveis tokens a serem selecionados durante a geração. Por padrão, o valor Top P para outros modelos Claude da Anthropic é um. Para o modelo Claude 3.7 Sonnet, esse valor será desabilitado por padrão.
+ Quando o raciocínio de modelo está em uso, pode haver um aumento de latência. Ao usar essa operação de API e a operação de 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), pode ser que você note um atraso no recebimento da resposta da API.

# Implantar a base de conhecimento para a aplicação de IA
<a name="knowledge-base-deploy"></a>

Para implantar uma base de conhecimento para a aplicação, configure-a para fazer solicitações [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) ou [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) à base de conhecimento. Para consultar como usar essas operações de API para consultar e gerar respostas, consulte [Testar a base de conhecimento com consultas e respostas](knowledge-base-test.md).

Você também pode associar a base de conhecimento a um agente, e o agente a invocará quando necessário durante a orquestração. Para obter mais informações, consulte [Automatizar tarefas em sua aplicação usando agentes de IA](agents.md).

Configure e sincronize uma ou mais fontes de dados com a base de conhecimento para poder implantá-las. Consulte [Fontes de dados compatíveis](https://docs.aws.amazon.com/bedrock/latest/userguide/data-source-connectors.html).

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

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

**Como associar uma base de conhecimento a um agente**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Agents**.

1. Escolha o agente ao qual deseja adicionar uma base de conhecimento.

1. Na seção **Rascunho de trabalho**, escolha **Rascunho de trabalho**.

1. Na seção **Bases de conhecimento**, selecione **Adicionar**.

1. Escolha uma base de conhecimento na lista suspensa em **Selecionar base de conhecimento** e especifique as instruções para o agente em relação à base de conhecimento.

**Como desassociar uma base de conhecimento de um agente**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Agents**.

1. Escolha o agente ao qual deseja adicionar uma base de conhecimento.

1. Na seção **Rascunho de trabalho**, escolha **Rascunho de trabalho**.

1. Na seção **Bases de conhecimento**, escolha uma base de conhecimento.

1. Selecione **Excluir**.

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

Para associar uma base de conhecimento a um agente, envie uma solicitação [AssociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html).
+ Inclua uma `description` detalhada para fornecer instruções sobre como o agente deve interagir com a base de conhecimento e exibir os resultados.
+ Defina `knowledgeBaseState` como `ENABLED` para permitir que o agente consulte a base de conhecimento.

É possível atualizar uma base de conhecimento associada a um agente enviando uma solicitação [UpdateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentKnowledgeBase.html). Por exemplo, talvez você queira definir `knowledgeBaseState` como `ENABLED` para solucionar um problema. Como todos os campos serão substituídos, inclua os campos que deseja atualizar e aqueles que deseja manter iguais.

Para desassociar uma base de conhecimento de um agente, envie uma solicitação [DisassociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DisassociateAgentKnowledgeBase.html).

------

# Visualizar informações sobre uma base de conhecimento do Amazon Bedrock.
<a name="kb-info"></a>

É possível visualizar informações sobre uma base de conhecimento, como as configurações e o status.

Para monitorar a base de conhecimento usando o Amazon CloudWatch Logs, consulte [Registro em log da base de conhecimento](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html).

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

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

**Como visualizar informações sobre uma base de conhecimento**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Para ver os detalhes de uma base de conhecimento, selecione o **Nome** da fonte ou escolha o botão de opção ao lado da fonte e escolha **Editar**.

1. Na página de detalhes, é possível realizar as seguintes ações:
   + Para alterar os detalhes da base de conhecimento, selecione **Editar** na seção **Visão geral da base de conhecimento**.
   + Para atualizar as tags anexadas à base de conhecimento, selecione **Gerenciar tags** na seção **Tags**.
   + Se você atualizar a fonte de dados a partir da qual a base de conhecimento foi criada e precisar sincronizar as alterações, selecione **Sincronizar** na seção **Fonte de dados**.
   + Para ver os detalhes de uma fonte de dados, selecione o **Nome da fonte de dados**. Nos detalhes, é possível escolher o botão de opção ao lado de um evento de sincronização na seção **Histórico de sincronização** e selecionar **Visualizar avisos** para ver por que os arquivos no trabalho de ingestão de dados falharam na sincronização.
   + Para gerenciar o modelo de incorporação de vetores usados para a base de conhecimento, selecione **Editar throughput provisionado**.
   + Selecione **Salvar alterações** ao concluir a edição.

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

Para obter informações sobre uma base de conhecimento, envie uma solicitação [GetKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetKnowledgeBase.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt), especificando o `knowledgeBaseId`.

Para listar informações sobre suas bases de conhecimento, envie uma solicitação [ListKnowledgeBases](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBases.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). É possível definir o número máximo de resultados a serem exibidos em uma resposta. Se houver mais resultados do que o número definido, a resposta exibirá um `nextToken`. É possível usar esse valor no campo `nextToken` de outra solicitação [ListKnowledgeBases](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListKnowledgeBases.html) para ver o próximo lote de resultados.

------

# Modificar uma base de conhecimento do Amazon Bedrock
<a name="kb-update"></a>

É possível atualizar uma base de conhecimento, como alterar as configurações da base de conhecimento.

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

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

**Como atualizar uma base de conhecimento**

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Selecione uma base de conhecimento para visualizar detalhes sobre ela ou escolha o botão de opção ao lado da base de conhecimento e selecione **Editar**.

1. É possível modificar a base de conhecimento das maneiras a seguir.
   + Altere as configurações da base de conhecimento escolhendo **Editar** na seção **Visão geral da base de conhecimento**.
   + Alterar e gerenciar as tags anexadas à base de conhecimento escolhendo **Gerenciar tags** na seção **Tags**
   + Altere e gerencie a fonte de dados da base de conhecimento na seção **Fonte de dados**.

1. Selecione **Salvar alterações** ao concluir a edição.

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

Para atualizar uma base de conhecimento, envie uma solicitação [UpdateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateKnowledgeBase.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Como todos os campos serão substituídos, inclua os campos que deseja atualizar e aqueles que deseja manter iguais.

------

# Excluir uma base de conhecimento do Amazon Bedrock
<a name="kb-delete"></a>

É possível excluir ou remover uma base de conhecimento que não é mais usada ou necessária. Ao excluir uma base de conhecimento, execute as ações a seguir para excluir totalmente todos os recursos associados à base de conhecimento.
+ Desassocie a base de conhecimento de todos os agentes aos quais ela está associada.
+ Exclua o próprio armazenamento de vetores da base de conhecimento.

**nota**  
O padrão `dataDeletionPolicy` em uma fonte de dados recém-criada é “Excluir”, a menos que especificado de outra forma durante a criação da fonte de dados. A política se aplica quando você exclui uma base de conhecimento ou um recurso de fonte de dados. É possível atualizar a política para “Reter” dados da fonte de dados que são convertidos em incorporações de vetores. Observe que o **armazenamento de vetores em si não será excluído** se você excluir uma base de conhecimento ou um recurso de fonte de dados.

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

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

**Como excluir uma base de conhecimento**

1. Antes das etapas a seguir, exclua a base de conhecimento de todos os agentes aos quais ela está associada. Para isso, execute as seguintes etapas:

   1. No painel de navegação à esquerda, selecione **Agents**.

   1. Escolha o **Nome** do agente do qual deseja excluir a base de conhecimento.

   1. Um banner vermelho aparece para avisá-lo para excluir a referência à base de conhecimento, que não existe mais, do agente.

   1. Marque a caixa de opção ao lado da base de conhecimento que você deseja remover. Selecione **Mais** e escolha **Excluir**.

1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock).

1. No painel de navegação à esquerda, selecione **Bases de conhecimento**.

1. Escolha uma base de conhecimento ou selecione o botão de opção ao lado de uma base de conhecimento. Escolha **Excluir**.

1. Revise os avisos para excluir uma base de conhecimento. Se você aceitar essas condições, insira **delete** na caixa de entrada e selecione **Excluir** para confirmar.
**nota**  
O **armazenamento de vetores em si não é excluído**, somente os dados. É possível usar o console ou o SDK do armazenamento de vetores para excluir o armazenamento de vetores. Verifique também todos os agentes do Amazon Bedrock usados com a base de conhecimento.

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

Para excluir a base de conhecimento, envie uma solicitação [DeleteKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DeleteKnowledgeBase.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Além disso, desassocie a base de conhecimento de todos os agentes aos quais ela está associada, executando uma solicitação [DisassociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DisassociateAgentKnowledgeBase.html) com um [endpoint de tempo de compilação do Agentes para Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Exclua também o próprio armazenamento de vetores usando o console ou o SDK do armazenamento de vetores.

------