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 conhecimento do Amazon Bedrock com grafos do Amazon Neptune Analytics
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, a AWS CLI o ou o SDK da AWS.
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.
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
-
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/.
-
No painel de navegação à esquerda, selecione Bases de conhecimento.
-
Na seção Bases de conhecimento, escolha Criar e selecione Base de conhecimento com armazenamento vetorial.
-
(Opcional) Em Detalhes da base de conhecimento, altere o nome padrão e dê uma descrição para a base de conhecimento.
-
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 obter um exemplo, consulte Permissões para acessar o banco de dados de vetores no Amazon Neptune Analytics.
-
Escolha o Amazon S3 como fonte de dados e selecione Próximo para configurar a fonte de dados.
-
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.
-
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.
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.
-
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.
-
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.
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.
-
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.
-
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.
- API
-
Como criar uma base de conhecimento para o Neptune Analytics usando o console
-
Primeiro, crie uma fonte de dados usando a configuração de enriquecimento de contexto. Para realizar essa operação, envie uma solicitação CreateDataSource com um endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock. 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 uma base de conhecimento, envie uma solicitação CreateKnowledgeBase com um endpoint de tempo de compilação do recurso Agentes para Amazon Bedrock. 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"
}
}
}
-
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
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.
Ingerir alterações na base de conhecimento
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.
Testar a base de conhecimento
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.