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á.
Ingerir documentos diretamente em uma base de conhecimento
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 |
|
|
| Personalizada |
|
|
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 no Guia de referência da AWS.
Para adicionar ou modificar documentos diretamente noConsole de gerenciamento da AWS, faça o seguinte:
-
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.
-
No painel de navegação à esquerda, selecione Bases de conhecimento.
-
Na seção Bases de conhecimento, selecione a base de conhecimento para ingerir documentos nela.
-
Na seção Fonte de dados, selecione a fonte de dados para a qual você deseja adicionar, modificar ou excluir documentos.
-
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:
-
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.
-
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.
-
(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:
-
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.
-
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.
-
(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.
-
-
-
Para ingerir o documento e todos os metadados associados, escolha Adicionar.
Para ingerir documentos diretamente em uma base de conhecimento usando a API do Amazon Bedrock, envie uma IngestKnowledgeBaseDocumentssolicitação com um endpoint de tempo de construção do Agents for Amazon Bedrock 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 KnowledgeBaseDocumentobjetos, 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 contém os seguintes campos:
-
conteúdo — mapeia para um DocumentContentobjeto contendo informações sobre o conteúdo do documento a ser adicionado.
-
metadados — (Opcional) Mapeia para um DocumentMetadataobjeto 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.
Selecione um tópico para saber como ingerir documentos para diferentes tipos de fonte de dados ou ver exemplos:
Tópicos
Ingerir um documento em uma base de conhecimento conectada a uma fonte de dados personalizada
Se o dataSourceId que você especificar pertencer a uma fonte de dados personalizada, você poderá adicionar conteúdo e metadados para cada KnowledgeBaseDocumentobjeto na documents matriz.
O conteúdo de um documento adicionado a uma fonte de dados personalizada pode ser definido das seguintes maneiras:
É possível definir os seguintes tipos de documento em linha:
Se você estiver ingerindo um documento de um local do S3, o DocumentContentobjeto 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:
Se você definir os metadados em linha, o DocumentMetadataobjeto 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" } }
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.
Se os metadados forem de um arquivo S3, o DocumentMetadataobjeto 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
Se o dataSourceId que você especificar pertencer a uma fonte de dados do S3, você poderá adicionar conteúdo e metadados para cada KnowledgeBaseDocumentobjeto 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 DocumentContentobjeto 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
Expanda as seções a seguir para ver o corpo da solicitação para diferentes casos de uso com IngestKnowledgeBaseDocuments:
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" } } } ] }
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" } } } ] }
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" } } } ] }
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" } } ] }
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" } } ] }