

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

# 实时向量嵌入蓝图
实时向量嵌入蓝图

亚马逊 MSK（适用于 Apache Kafka 的托管流媒体）支持适用于 Apache Flink 的亚马逊托管服务 Flink 蓝图，使用亚马逊 Bedrock 生成矢量嵌入，从而简化了构建由上下文数据提供支持的实时人工智能应用程序的流程。 up-to-dateMSF 蓝图简化了将来自 Amazon MSK 流管道的最新数据纳入生成式人工智能模型中的过程，无需编写自定义代码即可集成实时数据流、向量数据库与大型语言模型。

您可以将 MSF 蓝图配置为使用 Bedrock 的嵌入模型持续生成矢量嵌入，然后在 Service 中 OpenSearch 为这些嵌入的 Amazon MSK 数据流编制索引。这使您可以将来自实时数据的上下文与 Bedrock 强大的大型语言模型相结合，无需编写自定义代码即可生成准确的 up-to-date AI 响应。您还可以选择使用开源库中对数据分块技术的内置支持来提高数据检索的效率 LangChain，该库支持用于模型摄取的高质量输入。该蓝图管理 MSK、所选嵌入模型和 OpenSearch 矢量存储之间的数据集成和处理，使您可以专注于构建 AI 应用程序，而不是管理底层集成。

实时矢量嵌入蓝图可在以下 Amazon 区域使用：
+ 弗吉尼亚州北部：us-east-1
+ 俄亥俄州：us-east-2
+ 俄勒冈州：us-west-2
+ 孟买：ap-south-1
+ 首尔：ap-northeast-2
+ 新加坡：ap-southeast-1
+ 悉尼：ap-southeast-2
+ 东京：ap-northeast-1
+ 加拿大（中部）：ca-central-1
+ 法兰克福：eu-central-1
+ 爱尔兰：eu-west-1
+ 伦敦：eu-west-2
+ 巴黎：eu-west-3
+ 圣保罗：sa-east-1

**Topics**
+ [

# 日志和可观测性
](ai-vector-embedding-integration-logging-observability.md)
+ [

# 启用实时向量嵌入蓝图之前的注意事项
](ai-vector-embedding-integration-notes.md)
+ [

# 部署流数据向量化蓝图
](ai-vector-embedding-integration-deploy.md)

# 日志和可观测性
日志和可观测性

可以使用日志启用实时矢量嵌入蓝图的所有 CloudWatch 日志和指标。

适用于常规 MSF 应用程序和 Amazon Bedrock 的所有指标均可监控[应用程序](https://docs.amazonaws.cn/managed-flink/latest/java/metrics-dimensions.html)与 [Bedrock](https://docs.amazonaws.cn/bedrock/latest/userguide/monitoring.html#runtime-cloudwatch-metrics) 指标。

另外还有两个监控嵌入生成性能的指标。这些指标是中 EmbeddingGeneration 操作名称的一部分 CloudWatch。
+ **BedrockTitanEmbeddingTokenCount**: 监控向 Bedrock 发出的单个请求中存在的代币数量。
+ **BedrockEmbeddingGenerationLatencyMs**: 报告发送和接收来自 Bedrock 的响应所花费的时间，以毫秒为单位。

对于 OpenSearch 服务，您可以使用以下指标：
+ **OpenSearch 无服务器收集指标**：请参阅《[亚马逊* OpenSearch 服务开发者指南》 CloudWatch中的 “使用亚马逊*监控 OpenSearch 无服务器](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/monitoring-cloudwatch.html)”。
+ **OpenSearch 预配置指标**：请参阅《亚马逊* OpenSearch 服务开发者指南》 CloudWatch中的使用亚马逊*[监控 OpenSearch 集群指标](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/managedomains-cloudwatchmetrics.html)。

# 启用实时向量嵌入蓝图之前的注意事项
启用实时向量嵌入蓝图之前的注意事项

Managed Service for Apache Flink 应用程序仅支持在输入流中使用非结构化文本或 JSON 数据。

支持以下两种输入处理模式：
+ 如果输入数据为**非结构化文本**，则嵌入整条文本消息。向量数据库中包含原始文本和生成的嵌入。
+ 当输入数据为 **JSON** 格式时，应用程序允许您在 JSON 对象值中配置和指定一个或多个键，以用于嵌入过程。如果有多个键，则所有键将共同向量化，并在向量数据库中建立索引。向量数据库将包含原始消息和生成的嵌入。

**嵌入生成**：该应用程序支持专门由 Bedrock 提供的所有文本嵌入模型。

**在矢量数据库存储中保留**：应用程序使用客户账户中的现有 OpenSearch 集群（预配置或无服务器）作为保存嵌入式数据的目的地。使用 Opensearch 无服务器创建向量索引时，请务必使用向量字段名称 `embedded_data`。

与 MSF 蓝图类似，您需要管理基础设施，以运行与实时向量嵌入蓝图相关的代码。

与 MSF 蓝图类似，创建 MSF 应用程序后，必须使用控制台或 CLI 在 Amazon 账户中以独占方式启动该应用程序。 Amazon 不会为您启动 MSF 应用程序。你必须调用 StartApplication API（通过 CLI 或控制台）才能让应用程序运行。

**跨账户移动数据**：该应用程序不允许您在位于不同 Amazon 账户的输入流和矢量目标之间移动数据。

# 部署流数据向量化蓝图
部署流数据向量化蓝图

本主题描述如何部署流数据向量化蓝图。

**部署流数据向量化蓝图**

1. 确保以下资源设置正确：

   1. 预置或无服务器 MSK 集群，其中具有一个或多个包含数据的主题。

1. Bedrock 设置：[访问所需的 Bedrock 模型](https://docs.amazonaws.cn/bedrock/latest/userguide/model-access.html)。目前受支持的 Bedrock 型号如下：
   + Amazon Titan Embeddings G1 - Text
   + Amazon Titan 文本嵌入 V2
   + Amazon Titan Multimodal Embeddings G1
   + Cohere Embed（英文版）
   + Cohere Embed（多语版）

1. Amazon OpenSearch 收藏:
   + 您可以使用预配置或无服务器 OpenSearch 服务集合。
   +  OpenSearch 服务集合必须至少有一个索引。
   + 如果您计划使用**OpenSearch 无服务器集合**，请务必创建矢量搜索集合。有关如何设置向量索引的详细信息，请参阅[知识库中关于创建自有向量存储的先决条件](https://docs.amazonaws.cn/bedrock/latest/userguide/knowledge-base-setup.html)。要了解有关矢量化的更多信息，请参阅 A [mazon Serv OpenSearch ice 的矢量数据库功能说明](https://www.amazonaws.cn/blogs/big-data/amazon-opensearch-services-vector-database-capabilities-explained/)。
**注意**  
创建向量索引时，必须使用向量字段名称 `embedded_data`。
   + 如果您计划使用**OpenSearch 已配置的集合**，则需要将蓝图创建的 MSF 应用程序角色（包含 Opensearch 访问策略）作为主用户添加到您的集合中。 OpenSearch 另外，请确认中的访问策略 OpenSearch 已设置为 “允许” 操作。这是[启用精细访问控制](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/fgac.html#fgac-enabling)所必需的。
   + 或者，您可以启用对 OpenSearch 仪表板的访问权限以查看结果。请参考[启用精细访问控制](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/fgac.html#fgac-enabling)。

1. 使用允许 aws[: CreateStack](https://docs.amazonaws.cn/systems-manager/latest/userguide/automation-action-createstack.html) 权限的角色登录。

1. 前往 MSF 控制台控制面板，选择**创建流应用程序**。

1. 在**选择流处理应用程序的设置方法**中，选择**使用蓝图**。

1. 从蓝图下拉菜单中，选择**实时 AI 应用程序蓝图**。

1. 提供所需的配置。请参阅[创建页面配置](#ai-vector-embedding-integration-create-page-configs)。

1. 选择**部署蓝图**开始部 CloudFormation 署。

1.  CloudFormation 部署完成后，转到已部署的 Flink 应用程序。检查应用程序的运行时属性。

1. 您可以选择应用程序的 change/add 运行时属性。有关配置这些属性的详细信息，请参阅[运行时属性配置](https://docs.amazonaws.cn/managed-flink/latest/java/troubleshooting-blueprints.html)。
**注意**  
注意：  
如果您使用的是 OpenSearch 预配置，请确保已启用[细粒度访问控制](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/fgac.html#fgac-enabling)。  
如果您的预配置集群为私有集群，请`https://`添加到您的 OpenSearch 预配置 VPC 终端节点 URL 并更改`sink.os.endpoint`为指向此终端节点。  
如果预置集群是公有的，请确保 MSF 应用程序可以访问互联网。有关更多信息，请参阅 [>>>>> express-brokers-publication-merge type= “documention” url = “managed-flink/latest/java/vpc-internet.html” >Apache Flink 应用程序连接到 VPC 的托管服务的互联网和服务访问权限]()。

1. 对所有配置感到满意后，选择 `Run`。应用程序将开始运行。

1. 在 MSK 集群中推送消息。

1. 导航到 Opensearch 集群并转到 OpenSearch 控制面板。

1. 在控制面板上，选择左侧菜单中的**发现**。此时应该看到持久保存的文档及其向量嵌入。

1. 要了解如何才能使用索引中存储的向量，请参阅[使用向量搜索集合](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/serverless-vector-search.html)。

## 创建页面配置
创建页面配置

本主题介绍在为实时 AI 应用程序蓝图指定配置时要参考的“创建页面配置”。

**应用程序名称**  
MSF 中的现有字段，请为应用程序提供任何名称。

**MSK 集群**  
从下拉列表中选择设置时创建的 MSK 集群。

**主题**  
添加在设置中创建的主题的名称。

**输入流数据类型**  
如果要向 MSK 流提供字符串输入，请选择**字符串**。  
如果 MSK 流中的输入是 JSON 格式，请选择 **JSON**。在**嵌入的 JSON 键**中，请在输入 JSON 中填写要将其值发送至 Bedrock 以生成嵌入的字段的名称。

**Bedrock 嵌入模型**  
从列表中选择一项。确保您拥有所选模型的模型访问权限，否则该堆栈可能会失败。参阅[添加或删除对 Amazon Bedrock 基础模型的访问权限](https://docs.amazonaws.cn/bedrock/latest/userguide/model-access-modify.html)。

**OpenSearch 集群**  
从下拉列表中选择所创建的集群。

**OpenSearch 向量索引名称**  
选择在上述步骤中创建的向量索引。