本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以在 中連接資料來源時自訂向量擷取, AWS Management Console 或在傳送 CreateDataSource 請求時修改 vectorIngestionConfiguration
欄位的值。
選取主題,了解如何在連線至資料來源時包含用於自訂擷取的組態:
選擇要用於剖析的工具
您可以自訂如何剖析資料中的文件。若要了解在 Amazon Bedrock 知識庫中剖析資料的選項,請參閱 剖析資料來源的選項。
警告
連線到資料來源後,您無法變更剖析策略。若要使用不同的剖析策略,您可以新增新的資料來源。
建立知識庫之後,您無法新增 S3 位置來存放多模態資料 (包括影像、圖表、圖表和資料表)。如果您想要包含多模式資料並使用支援它的剖析器,您必須建立新的知識庫。
選擇剖析策略所涉及的步驟取決於您使用的是 AWS Management Console 或 Amazon Bedrock API,以及您選擇的剖析方法。如果您選擇支援多模態資料的剖析方法,則必須指定要在其中存放從文件中擷取之多模態資料的 S3 URI。此資料可在知識庫查詢中傳回。
-
在 中 AWS Management Console,執行下列動作:
-
當您在設定知識庫時,或在現有知識庫中新增資料來源時,選取剖析策略。
-
(如果您選擇 Amazon Bedrock Data Automation 或基礎模型作為剖析策略) 當您選取內嵌模型並設定向量存放區時,指定要在多模型儲存目的地區段中存放從文件擷取之多模型資料的 S3 URI。您也可以在此步驟中選擇性地使用客戶受管金鑰來加密 S3 資料。
-
-
在 Amazon Bedrock API 中,執行下列動作:
-
(如果您計劃使用 Amazon Bedrock Data Automation 或基礎模型作為剖析策略) 在 CreateKnowledgeBase 請求的 VectorKnowledgeBaseConfiguration 中包含 SupplementalDataStorageLocation。
-
在 CreateDataSource 請求的 VectorIngestionConfiguration
parsingConfiguration
欄位中包含 ParsingConfiguration。 VectorIngestionConfiguration注意
如果您省略此組態,Amazon Bedrock 知識庫會使用 Amazon Bedrock 預設剖析器。
-
如需如何在 API 中指定剖析策略的詳細資訊,請展開對應至您要使用的剖析策略的區段:
若要使用預設剖析器,請勿在 中包含 parsingConfiguration
欄位VectorIngestionConfiguration
。
若要使用 Amazon Bedrock Data Automation 剖析器,BEDROCK_DATA_AUTOMATION
請在 的 parsingStrategy
欄位中指定 ,ParsingConfiguration
並在 bedrockDataAutomationConfiguration
欄位中包含 BedrockDataAutomationConfiguration,格式如下:
{
"parsingStrategy": "BEDROCK_DATA_AUTOMATION",
"bedrockDataAutomationConfiguration": {
"parsingModality": "string"
}
}
若要使用基礎模型做為剖析器,BEDROCK_FOUNDATION_MODEL
請在 的 parsingStrategy
欄位中指定 ,ParsingConfiguration
並在 bedrockFoundationModelConfiguration
欄位中包含 BedrockFoundationModelConfiguration,格式如下:
{
"parsingStrategy": "BEDROCK_FOUNDATION_MODEL",
"bedrockFoundationModelConfiguration": {
"modelArn": "string",
"parsingModality": "string",
"parsingPrompt": {
"parsingPromptText": "string"
}
}
}
選擇區塊策略
您可以自訂資料中文件的區塊方式,以進行儲存和擷取。若要了解在 Amazon Bedrock 知識庫中區塊資料的選項,請參閱 內容區塊如何適用於知識庫。
警告
連線到資料來源後,您無法變更區塊策略。
在 中 AWS Management Console ,您會在連線至資料來源時選擇區塊策略。使用 Amazon Bedrock API,您可以在 VectorIngestionConfiguration 的 欄位中包含 ChunkingConfiguration。 chunkingConfiguration
VectorIngestionConfiguration
注意
如果您省略此組態,Amazon Bedrock 會將您的內容分割成大約 300 個字符的區塊,同時保留句子邊界。
展開對應至您要使用的剖析策略的區段:
若要將資料來源中的每個文件視為單一來源區塊,NONE
請在 的 chunkingStrategy
欄位中指定 ChunkingConfiguration
,如下列格式所示:
{
"chunkingStrategy": "NONE"
}
若要將資料來源中的每個文件分成大約相同大小的區塊,請在 FIXED_SIZE
的 chunkingStrategy
欄位中指定 ,ChunkingConfiguration
並在 fixedSizeChunkingConfiguration
欄位中包含 FixedSizeChunkingConfiguration,如下所示:
{
"chunkingStrategy": "FIXED_SIZE",
"fixedSizeChunkingConfiguration": {
"maxTokens": number,
"overlapPercentage": number
}
}
若要將資料來源中的每個文件分成兩個層級,其中第二層包含衍生自第一層的較小區塊,請在 HIERARCHICAL
的 chunkingStrategy
欄位中指定 ,ChunkingConfiguration
並包含 hierarchicalChunkingConfiguration
欄位,如下所示:
{
"chunkingStrategy": "HIERARCHICAL",
"hierarchicalChunkingConfiguration": {
"levelConfigurations": [{
"maxTokens": number
}],
"overlapTokens": number
}
}
若要將資料來源中的每個文件分割為以語意意義優先於語法結構的區塊,請在 SEMANTIC
的 chunkingStrategy
欄位中指定 ,ChunkingConfiguration
並包含 semanticChunkingConfiguration
欄位,如下所示:
{
"chunkingStrategy": "SEMANTIC",
"semanticChunkingConfiguration": {
"breakpointPercentileThreshold": number,
"bufferSize": number,
"maxTokens": number
}
}
在擷取期間使用 Lambda 函數
您可以透過下列方式,使用 Lambda 函數將資料中的來源區塊寫入向量存放區:
-
包含區塊邏輯以提供自訂區塊策略。
-
包含邏輯以指定區塊層級中繼資料。
若要了解如何撰寫用於擷取的自訂 Lambda 函數,請參閱 使用自訂轉換 Lambda 函數來定義如何擷取您的資料。在 中, AWS Management Console 您在連線至資料來源時選擇 Lambda 函數。使用 Amazon Bedrock API,您可以在 VectorIngestionConfiguration 的 欄位中包含 CustomTransformationConfiguration,並指定 Lambda 的 ARN,格式如下: CustomTransformationConfiguration
VectorIngestionConfiguration
{
"transformations": [{
"transformationFunction": {
"transformationLambdaConfiguration": {
"lambdaArn": "string"
}
},
"stepToApply": "POST_CHUNKING"
}],
"intermediateStorage": {
"s3Location": {
"uri": "string"
}
}
}
您也可以在套用 Lambda 函數之後,指定要存放輸出的 S3 位置。
您可以在套用 Amazon Bedrock 提供的其中一個區塊選項之後,包含要套用 Lambda 函數的 chunkingConfiguration
欄位。