

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将知识库连接到自定义数据来源
<a name="custom-data-source-connector"></a>

您可以不必选择支持的数据来源服务，而是连接到自定义数据来源以获得以下优势：
+ 更好的灵活性，并可控制您希望知识库访问的数据类型。
+ 能够使用 `KnowledgeBaseDocuments` API 操作直接摄取或删除文档而无需同步更改。
+ 能够直接通过 Amazon Bedrock 控制台或 API 查看数据来源中的文档。
+ 能够直接在中将文档上传到数据源 AWS 管理控制台 或以内联方式添加文档。
+ 能够在数据来源中添加或更新文档时，直接向每个文档添加元数据。有关在从数据来源检索信息时如何使用元数据进行筛选的更多信息，请参阅[配置和自定义查询与响应生成](kb-test-config.md)中的**元数据和筛选**标签页。

**多模式内容支持**  
自定义数据源支持多模式内容，包括最大 10MB base64 编码的图像、音频和视频文件。有关使用多式联运内容的全面指导，请参阅[为多模式内容建立知识库](kb-multimodal.md)。

要将知识库连接到自定义数据源，请使用[适用于 Amazon Bedrock 构建时终端节点的代理](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)发送[CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)请求。指定知识库要连接到的 `knowledgeBaseId`，向数据来源提供 `name`，然后将 `dataSourceConfiguration` 中的 `type` 字段指定为 `CUSTOM`。以下是创建此数据来源的极简示例：

```
PUT /knowledgebases/{{KB12345678}}/datasources/ HTTP/1.1
Content-type: application/json

{
    "name": "MyCustomDataSource",
    "dataSourceConfiguration": {
        "type": "CUSTOM"
    }
}
```

您可以包括以下任一可选字段来配置数据来源：


****  

| 字段 | 使用案例 | 
| --- | --- | 
| 描述 | 提供数据来源的描述。 | 
| clientToken | 用于确保 API 请求仅完成一次。有关更多信息，请参阅[确保幂等性](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)。 | 
| 服务器 SideEncryptionConfiguration | 在将数据转换为嵌入时，为临时数据存储指定自定义 KMS 密钥。有关更多信息，请参阅 [加密数据提取期间的临时数据存储](encryption-kb.md#encryption-kb-ingestion)。 | 
| 数据 DeletionPolicy | 配置在删除数据来源后，如何处理向量存储中数据来源的向量嵌入。指定 RETAIN 以便将数据保留在向量存储中，或者使用默认选项 DELETE 来删除这些数据。 | 
| 向量 IngestionConfiguration | 配置数据来源摄取选项。有关更多信息，请参阅下文。 | 

该`vectorIngestionConfiguration`字段映射到包含以下字段的[VectorIngestionConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_VectorIngestionConfiguration.html)对象：
+ chunkingConfiguration – 配置用于对数据来源中的文档进行分块的策略。有关分块策略的更多信息，请参阅[知识库的内容分块是如何运作的](kb-chunking.md)。
+ parsingConfiguration – 配置用于解析数据来源的策略。有关解析选项的更多信息，请参阅[数据来源的解析选项](kb-advanced-parsing.md)。
+ custom TransformationConfiguration -用于自定义数据的转换方式并应用 Lambda 函数以实现更大的自定义。有关如何自定义数据分块和使用 Lambda 函数处理元数据的详细信息，请参阅[使用自定义转换 Lambda 函数定义数据的摄取方式](kb-custom-transformation.md)。

设置自定义数据来源后，您可以向其中添加文档，然后直接将其摄取到知识库中。与其他数据来源不同，您无需同步自定义数据来源。要了解如何直接摄取文档，请参阅[将更改直接摄取到知识库中](kb-direct-ingestion.md)。