本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在连接数据源时,您可以通过在发送请求时修改vectorIngestionConfiguration
字段的值来自定义矢量摄取。 AWS Management Console CreateDataSource
选择一个主题,了解如何在连接到数据源时包含用于自定义摄取的配置:
选择用于解析的工具
您可以自定义数据中文档的解析方式。要了解有关在 Amazon Bedrock 知识库中解析数据的选项,请参阅。数据源的解析选项
在中, AWS Management Console 您可以选择连接到数据源时的解析策略。使用 Amazon Bedrock API,您可以ParsingConfiguration在 “” parsingConfiguration
字段中加入。VectorIngestionConfiguration
注意
如果您省略此配置,Amazon Bedrock 知识库将使用 Amazon Bedrock 默认解析器。
展开与您要使用的解析策略相对应的部分:
要使用默认解析器,请不要在中包含parsingConfiguration
字段。VectorIngestionConfiguration
要使用 Amazon Bedrock 数据自动化解析器,请在的parsingStrategy
字段BEDROCK_DATA_AUTOMATION
中指定,ParsingConfiguration
并在bedrockDataAutomationConfiguration
字段BedrockDataAutomationConfiguration中加入,格式如下:
{
"parsingStrategy": "BEDROCK_DATA_AUTOMATION",
"bedrockDataAutomationConfiguration": {
"parsingModality": "string"
}
}
要使用基础模型作为解析器,请在的parsingStrategy
字段BEDROCK_FOUNDATION_MODEL
中指定,ParsingConfiguration
并在bedrockFoundationModelConfiguration
字段BedrockFoundationModelConfiguration中包含一个,格式如下:
{
"parsingStrategy": "BEDROCK_FOUNDATION_MODEL",
"bedrockFoundationModelConfiguration": {
"modelArn": "string",
"parsingModality": "string",
"parsingPrompt": {
"parsingPromptText": "string"
}
}
}
选择分块策略
您可以自定义如何对数据中的文档进行分块以进行存储和检索。要了解有关在 Amazon Bedrock 知识库中进行数据分块的选项,请参阅。知识库的内容分块工作原理
警告
连接到数据源后,您无法更改分块策略。
在连接数据源时, AWS Management Console 您可以选择分块策略。使用 Amazon Bedrock API,您可以ChunkingConfiguration在 “” chunkingConfiguration
字段中加入。VectorIngestionConfiguration
注意
如果您省略此配置,Amazon Bedrock 会将您的内容分成大约 300 个令牌的块,同时保留句子边界。
展开与您要使用的解析策略相对应的部分:
要将数据源中的每个文档视为单个源区块,请按以下格式NONE
在的chunkingStrategy
ChunkingConfiguration
字段中指定:
{
"chunkingStrategy": "NONE"
}
要将数据源中的每个文档分成大小大致相同的块,请在的chunkingStrategy
字段FIXED_SIZE
中指定,ChunkingConfiguration
并在fixedSizeChunkingConfiguration
字段FixedSizeChunkingConfiguration中包含一个,如下所示:
{
"chunkingStrategy": "FIXED_SIZE",
"fixedSizeChunkingConfiguration": {
"maxTokens": number,
"overlapPercentage": number
}
}
要将数据源中的每个文档分为两个级别,其中第二层包含从第一层派生的较小块,请在chunkingStrategy
字段HIERARCHICAL
中指定ChunkingConfiguration
并包含hierarchicalChunkingConfiguration
字段,如下所示:
{
"chunkingStrategy": "HIERARCHICAL",
"hierarchicalChunkingConfiguration": {
"levelConfigurations": [{
"maxTokens": number
}],
"overlapTokens": number
}
}
要将数据源中的每个文档分成优先于语义含义而不是语法结构的块,请在chunkingStrategy
字段SEMANTIC
中指定ChunkingConfiguration
并包含该semanticChunkingConfiguration
字段,如下所示:
{
"chunkingStrategy": "SEMANTIC",
"semanticChunkingConfiguration": {
"breakpointPercentileThreshold": number,
"bufferSize": number,
"maxTokens": number
}
}
在摄取期间使用 Lambda 函数
您可以通过以下方式使用 Lambda 函数对如何将数据中的源区块写入矢量存储进行后处理:
-
包括分块逻辑以提供自定义分块策略。
-
包括用于指定区块级元数据的逻辑。
要了解如何编写用于摄取的自定义 Lambda 函数,请参阅。使用自定义转换 Lambda 函数来定义数据的提取方式在连接数据源时, AWS Management Console 您可以选择 Lambda 函数。使用 Amazon Bedrock API,您可以在的CustomTransformationConfiguration
字段CustomTransformationConfiguration中加入,VectorIngestionConfiguration并指定 Lambda 的 ARN,格式如下:
{
"transformations": [{
"transformationFunction": {
"transformationLambdaConfiguration": {
"lambdaArn": "string"
}
},
"stepToApply": "POST_CHUNKING"
}],
"intermediateStorage": {
"s3Location": {
"uri": "string"
}
}
}
应用 Lambda 函数后,您还可以指定用于存储输出的 S3 位置。
在应用 Amazon Bedrock 提供的分块选项之一之后,您可以添加用于应用 Lambda 函数的chunkingConfiguration
字段。