View a markdown version of this page

Criar uma base de conhecimentos gerenciada - Amazon Bedrock

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

Criar uma base de conhecimentos gerenciada

Quando você cria uma base de conhecimento gerenciada, o Amazon Bedrock AgentCore gerencia a infraestrutura de armazenamento, indexação e recuperação para você. Por padrão, um modelo de incorporação gerenciado por serviços é usado e nenhuma seleção ou configuração de modelo é necessária. Opcionalmente, você pode fornecer seu próprio modelo de incorporação Bedrock. Opcionalmente, você também pode fornecer uma chave KMS para criptografia do armazenamento vetorial gerenciado.

Depois de criar a base de conhecimento, conecte-a a uma fonte de dados e inicie a ingestão. Para obter detalhes sobre como conectar uma fonte de dados, consulte Conectar uma fonte de dados. Para sincronizar uma fonte de dados, use a StartIngestionJob API. Para obter detalhes, consulte Sincronizar os dados com a base de conhecimento do Amazon Bedrock.

nota

Depois de criar e sincronizar uma base de conhecimento gerenciada, use a Retrieve API para consultá-la. No retrievalConfiguration campo, especifiquemanagedSearchConfiguration. O vectorSearchConfiguration campo se aplica somente às bases de conhecimento personalizadas. Para exemplos de solicitações e considerações adicionais, consulteConsultar uma base de conhecimento e recuperar dados.

Para saber como criar uma base de conhecimento gerenciada, escolha a guia do seu método preferido:

Console
Para criar uma base de conhecimento gerenciada
  1. Faça login no Console de gerenciamento da AWS e navegue até Amazon Bedrock AgentCore > Built-in ferramentas > Base de conhecimento.

  2. Escolha Criar base de conhecimento gerenciada.

  3. (Opcional) Expanda a seção Configurações adicionais da base de conhecimento para configurar o seguinte:

    • Adicione uma descrição.

    • Escolha um tipo de modelo de incorporação:

      • Gerenciado (padrão): um modelo de incorporação gerenciado por serviços é usado. Nenhuma seleção ou configuração de modelo é necessária.

      • Personalizado: selecione um modelo de incorporação Bedrock. Escolha o modelo para abrir o seletor de modelos, que mostra os fornecedores e modelos disponíveis (Amazon, Cohere).

      • Modelo de incorporação multimodal personalizado: selecione um modelo de incorporação multimodal. No momento, só há compatibilidade com TwelveLabs Marengo Embed 3.0. Esse modelo processa de forma nativa arquivos de imagem, áudio e vídeo. Ao escolher esse modelo, você também deve fornecer um destino de armazenamento multimodal — o bucket do Amazon S3 que é usado para processar e ingerir seu conteúdo multimodal. O Amazon Bedrock Knowledge Bases cria uma pasta de aws/ prefixo dentro do seu bucket para facilitar o acesso. Para obter mais informações, consulte Processamento multimodal nativo.

    • Configure as permissões do IAM: escolha Criar e usar uma nova função de serviço (recomendado) ou selecione uma função existente.

    • Configure a AWS KMS criptografia para o armazenamento vetorial AWS gerenciado (chave gerenciada por padrão ou selecione uma chave KMS personalizada).

  4. Em Fonte de dados, forneça um nome de fonte de dados.

  5. Selecione seu tipo de fonte de dados no menu suspenso: Amazon S3, Confluence, Custom, Google Drive ou Web OneDrive Crawler SharePoint.

  6. Defina as configurações de conexão da fonte de dados para o tipo de fonte de dados selecionado.

  7. (Opcional) Expanda a análise e fragmentação de conteúdo para configurar o seguinte:

    • A estratégia de análise é definida como Analisador gerenciado por padrão.

    • Selecione uma estratégia de fragmentação de texto no menu suspenso:

      • Fragmentação padrão (recomendada): divide o texto em partes de tamanho fixo.

      • Fixed-size fragmentação: divide o texto no tamanho aproximado do token definido.

      • Sem fragmentação: para documentos pré-processados ou pré-divididos.

  8. (Opcional) Expanda Configurações avançadas para configurar a indexação avançada. Em Indexação de conteúdo, o padrão indexa conteúdo baseado em texto de documentos comuns. Ative a indexação avançada para modalidades adicionais:

    • Conteúdo visual em documentos: processa arquivos de imagem independentes (.png, .jpg, .jpeg, .jpe, .tif, .tiff, .gif, .bmp, .webp, .svg, .jp2, .heic) e imagens incorporadas em arquivos.pdf, .docx, .ppt, .pptx.

    • Arquivos de áudio: processa arquivos.mp3, .wav, .m4a, .flac, .ogg.

    • Arquivos de vídeo: processa arquivos.mp4, .mov, .m4v.

    Opcionalmente, defina um tamanho máximo de arquivo (MB) e configure a proteção de exclusão de documentos.

  9. (Opcional) Configure a entrega de registros para enviar registros de ingestão da base de conhecimento para um destino como CloudWatch Logs, Amazon S3 ou Firehose.

  10. Escolha Criar base de conhecimento.

  11. Aguarde a criação da base de conhecimento e da fonte de dados (2 a 5 minutos). Se você criar uma base de conhecimento gerenciada com uma chave gerenciada pelo cliente, a criação poderá levar mais tempo.

API

Veja a seguir um exemplo de como criar uma base de conhecimento gerenciada e configurar sua fonte de dados usando a API com o SDK compatível AWS CLI ou compatível, como Python. Depois de ligar CreateKnowledgeBase, você liga CreateDataSource para criar sua fonte de dados com as informações de conexãodataSourceConfiguration.

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.

AWS Command Line Interface

Etapa 1: criar a base de conhecimento

Com um modelo de incorporação gerenciado (padrão):

aws bedrock-agent create-knowledge-base \ --name "my-managed-kb" \ --role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \ --description "My managed knowledge base" \ --knowledge-base-configuration file://kb-config.json kb-config.json { "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelType": "MANAGED" } }

Com um modelo de incorporação personalizado (modelo Bedrock fornecido pelo cliente):

aws bedrock-agent create-knowledge-base \ --name "my-custom-embed-kb" \ --role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \ --description "My managed knowledge base with custom embedding" \ --knowledge-base-configuration file://kb-config.json kb-config.json { "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelType": "CUSTOM", "embeddingModelArn": "arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v2:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "dimensions": 1024 } } } }
nota

Quando embeddingModelType é omitido, o padrão é. MANAGED Ao usarMANAGED, você não deve especificar embeddingModelArn ouembeddingModelConfiguration. Ao usarCUSTOM, os dois campos são obrigatórios.

Com um modelo de incorporação multimodal personalizado (): TwelveLabs Marengo Embed 3.0

Um modelo de incorporação multimodal usa o mesmo CUSTOM embeddingModelType que um modelo de incorporação de texto. A diferença é que bedrockEmbeddingModelConfiguration aceita um modelConfiguration campo adicional, no qual você passa configurações específicas do modelo, e precisa especificar um supplementalDataStorageConfiguration para seu destino de armazenamento multimodal.

aws bedrock-agent create-knowledge-base \ --name "my-multimodal-embed-kb" \ --role-arn "arn:aws:iam::123456789012:role/BedrockKBRole" \ --description "My managed knowledge base with multimodal embedding" \ --knowledge-base-configuration file://kb-config.json kb-config.json { "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelType": "CUSTOM", "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/twelvelabs.marengo-embed-3-0-v1:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "embeddingDataType": "FLOAT", "modelConfiguration": { "version": "1", "audio": { "segmentation": { "method": "dynamic", "dynamic": { "minDurationSec": 4 } } }, "video": { "segmentation": { "method": "fixed", "fixed": { "durationSec": 6 } } } } } }, "supplementalDataStorageConfiguration": { "storageLocations": [ { "s3Location": { "uri": "s3://amzn-s3-demo-bucket" }, "type": "S3" } ] } } }

O modelConfiguration campo é um objeto JSON cujo conteúdo é específico para o modelo de incorporação que você escolher. O version campo é obrigatório e deve ser definido como1. Para cada uma das video modalidades audio e, você pode definir um segmentation method dedynamic, que assume um minDurationSec valor, oufixed, que assume um durationSec valor. Para ver as configurações que TwelveLabs Marengo Embed 3.0 aceitam, consulteTwelveLabs Marengo Embed 3.0.

nota

Você deve fornecer um supplementalDataStorageConfiguration ao usar o TwelveLabs Marengo Embed 3.0 modelo.

Etapa 2: criar uma fonte de dados

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://bedrock-s3-managed-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"parsingConfiguration":{"parsingStrategy":"SMART_PARSING"}}' bedrock-s3-managed-connector-configuration.json { "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "mediaExtractionConfiguration": { "imageExtractionConfiguration": { "imageExtractionStatus": "ENABLED" } }, "connectorParameters": { "type": "S3", "version": "1", "connectionConfiguration": { "bucketName": "your-test-s3-bucket", "bucketOwnerAccountId": "123456789012" }, "deletionProtectionConfiguration": { "enableDeletionProtection": false } } } }

Opções de modelo de incorporação

As bases de conhecimento gerenciadas oferecem suporte aos seguintes tipos de modelos de incorporação:

  • Incorporação gerenciada (padrão) — Um modelo de incorporação gerenciado por serviços é usado automaticamente. Você não precisa selecionar um modelo, configurar dimensões ou gerenciar os limites do serviço Bedrock para incorporação. O serviço lida com a seleção de modelos, hospedagem e escalabilidade de forma transparente.

  • Incorporação personalizada — Você fornece seu próprio modelo de incorporação Bedrock ARN. Ao usar um modelo de incorporação personalizado, você deve especificar as dimensões do modelo (1024) e o tipo de dados de incorporação float32. Os seguintes modelos de incorporação Bedrock são suportados:

    • Incorporador de Texto do Amazon Titan v2

    • Cohere Embed English v3

    • Cohere Embed Multilingual v3

    • Cohere Embed v4

    • Incorporações multimodais Amazon Nova

  • Incorporação multimodal personalizada — Você fornece o ARN de um modelo de incorporação multimodal, que processa nativamente arquivos de imagem, áudio e vídeo, além do texto. Atualmente, TwelveLabs Marengo Embed 3.0 (twelvelabs.marengo-embed-3-0-v1:0) é o único modelo de incorporação multimodal suportado. Essa opção requer um destino de armazenamento multimodal.

nota

Você não pode alterar o tipo de modelo de incorporação depois de criar a base de conhecimento. Para alternar entre a incorporação gerenciada e personalizada, você deve criar uma nova base de conhecimento.

Importante

Se você criar uma base de conhecimento com um modelo de incorporação personalizado, o reclassificador gerenciado não estará disponível para essa base de conhecimento. Para usar o reclassificador gerenciado, crie sua base de conhecimento com o modelo padrão de incorporação gerenciada.

Conectores de fonte de dados compatíveis

As bases de conhecimento gerenciadas oferecem suporte aos seguintes conectores de fonte de dados:

  • Amazon S3

  • Box

  • Nuvem do Confluence

  • Data center do Confluence

  • Microsoft SharePoint on-line

  • Google Drive

  • Microsoft OneDrive

  • ServiceNow

  • Web Crawler

  • Conector personalizado

Para obter informações sobre como configurar conectores de fonte de dados, consulte Conectar uma fonte de dados.