BedrockAgent client

This page contains examples with the BedrockAgent client. See the client introduction for a more detailed description how to use a client. You may also want to consider the authentication documentation to understand the many ways you can authenticate with AWS.

The BedrockAgent package could be installed with Composer.

composer require async-aws/bedrock-agent

A new client object may be instantiated by:

use AsyncAws\BedrockAgent\BedrockAgentClient; $bedrockAgent = new BedrockAgentClient();

The authentication parameters is read from the environment by default. You can also specify a AWS access id and secret:

use AsyncAws\BedrockAgent\BedrockAgentClient; $bedrockAgent = new BedrockAgentClient([ 'accessKeyId' => 'my_access_key', 'accessKeySecret' => 'my_access_secret', 'region' => 'eu-central-1', ]);

For all available options, see the configuration reference.

Usage

Delete knowledge base documents

use AsyncAws\BedrockAgent\BedrockAgentClient; use AsyncAws\BedrockAgent\Enum\ContentDataSourceType; use AsyncAws\BedrockAgent\Input\DeleteKnowledgeBaseDocumentsRequest; use AsyncAws\BedrockAgent\ValueObject\DocumentIdentifier; use AsyncAws\BedrockAgent\ValueObject\S3Location; $bedrockAgent = new BedrockAgentClient(); $request = new DeleteKnowledgeBaseDocumentsRequest([ 'knowledgeBaseId' => 'kb-1234567890abcdef', 'dataSourceId' => 'ds-abcdef1234567890', 'clientToken' => 'token-1234', 'documentIdentifiers' => [new DocumentIdentifier([ 'dataSourceType' => ContentDataSourceType::S3, 's3' => new S3Location([ 'uri' => 's3://my-bucket/documents/', ]), ])], ]); $result = $bedrockAgent->deleteKnowledgeBaseDocuments($request); foreach ($result->getDocumentDetails() as $documentDetail) { echo $documentDetail->getStatus() . PHP_EOL; }

See DeleteKnowledgeBaseDocuments for more information.

Get knowledge base documents

use AsyncAws\BedrockAgent\BedrockAgentClient; use AsyncAws\BedrockAgent\Enum\ContentDataSourceType; use AsyncAws\BedrockAgent\Input\GetKnowledgeBaseDocumentsRequest; use AsyncAws\BedrockAgent\ValueObject\DocumentIdentifier; use AsyncAws\BedrockAgent\ValueObject\S3Location; $bedrockAgent = new BedrockAgentClient(); $request = new GetKnowledgeBaseDocumentsRequest([ 'knowledgeBaseId' => 'kb-1234567890abcdef', 'dataSourceId' => 'ds-abcdef1234567890', 'documentIdentifiers' => [new DocumentIdentifier([ 'dataSourceType' => ContentDataSourceType::S3, 's3' => new S3Location([ 'uri' => 's3://my-bucket/documents/', ]), ])], ]); $result = $bedrockAgent->getKnowledgeBaseDocuments($request); foreach ($result->getDocumentDetails() as $documentDetail) { echo $documentDetail->getIdentifier()->getS3()->getUri() . PHP_EOL; }

See GetKnowledgeBaseDocuments for more information.

Ingest knowledge base documents

use AsyncAws\BedrockAgent\Enum\ContentDataSourceType; use AsyncAws\BedrockAgent\Enum\MetadataSourceType; use AsyncAws\BedrockAgent\Input\IngestKnowledgeBaseDocumentsRequest; use AsyncAws\BedrockAgent\ValueObject\CustomS3Location; use AsyncAws\BedrockAgent\ValueObject\DocumentContent; use AsyncAws\BedrockAgent\ValueObject\DocumentMetadata; use AsyncAws\BedrockAgent\ValueObject\KnowledgeBaseDocument; use AsyncAws\BedrockAgent\ValueObject\S3Content; use AsyncAws\BedrockAgent\ValueObject\S3Location; $bedrockAgent = new BedrockAgentClient(); $request = new IngestKnowledgeBaseDocumentsRequest([ 'knowledgeBaseId' => 'kb-1234567890abcdef', 'dataSourceId' => 'ds-abcdef1234567890', 'clientToken' => 'token-1234', 'documents' => [new KnowledgeBaseDocument([ 'metadata' => new DocumentMetadata([ 'type' => MetadataSourceType::S3_LOCATION, 's3Location' => new CustomS3Location([ 'uri' => 's3://my-bucket/documents/', 'bucketOwnerAccountId' => 'account-1234', ]), ]), 'content' => new DocumentContent([ 'dataSourceType' => ContentDataSourceType::S3, 's3' => new S3Content([ 's3Location' => new S3Location([ 'uri' => 's3://my-bucket/documents/', ]), ]), ]), ])], ]); $result = $bedrockAgent->ingestKnowledgeBaseDocuments($request); foreach ($result->getDocumentDetails() as $documentDetail) { echo $documentDetail->getStatus() . PHP_EOL; echo $documentDetail->getIdentifier()->getS3()->getUri() . PHP_EOL; }

See IngestKnowledgeBaseDocuments for more information.

List knowledge base documents

use AsyncAws\BedrockAgent\BedrockAgentClient; use AsyncAws\BedrockAgent\Input\ListKnowledgeBaseDocumentsRequest; $bedrockAgent = new BedrockAgentClient(); $request = new ListKnowledgeBaseDocumentsRequest([ 'knowledgeBaseId' => 'kb-1234567890abcdef', 'dataSourceId' => 'ds-abcdef1234567890', 'maxResults' => 50, ]); $result = $bedrockAgent->listKnowledgeBaseDocuments($request); foreach ($result->getDocumentDetails() as $documentDetail) { echo $documentDetail->getIdentifier()->getS3()->getUri() . PHP_EOL; }

See ListKnowledgeBaseDocuments for more information.


The source code to this page is found on GitHub.