# 从 Amazon Bedrock - Converse API 连接选择并加载数据

创建连接后，您可以选择数据并将其加载到 Qlik Sense 应用程序或脚本中。在数据加载编辑器或 脚本 中加载数据。

在 数据加载编辑器 或 脚本 中，具有分析连接的基本通信被公式化为至少包含以下组件的脚本：

* 包含要发送到 Amazon Bedrock 的请求字段（数据字段）的表（常驻表）。

* Amazon Bedrock Load 语句，该语句通过您的连接与 Amazon Bedrock 通信。

在高级设置中，技术上可以在包含其他字段的表中定义请求字段和关联字段。但是，请求字段和关联字段必须包含在同一个输入表中。重要的是要注意，当您将这些字段链接到数据模型中的字段时，会为每个字段值生成响应。

## 提示工程

在编写发送给生成式 AI 模型的请求（通常称为提示）时，请遵循与您交互的平台特定的指导方针。有关提示工程的信息以及有关如何构建 Amazon Bedrock 连接器提示的一些指导原则，请参见[提示工程概念](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-engineering-guidelines.html)。

## 正在创建要发送到 Amazon Bedrock 的数据表

首先，必须加载一个表，其中包含您作为请求发送到模型的数据。该表必须由一列数据组成，其中每个单元格表示要由模型补全的文本。关联字段可以有第二个附加字段，但这需要与配置中指定的字段名称相匹配。这是一个特殊的字段，不会发送到 Amazon Bedrock，而是为了将交互数据集成到数据模型中的目的而附加到响应。

### 数据请求量的注意事项

加载数据时，请求字段中的每一行都将被发送到 Amazon Bedrock。在与第三方平台交互之前，请确保您了解请求的数量、请求中包含的数据量以及连接器配置如何影响您与第三方的财务协议和计费安排。外部平台的使用率越高，所产生的成本就越高。

## 创建加载语句Amazon Bedrock

您还需要使用扩展语法创建一个 load 语句来与 Amazon Bedrock 进行通信。脚本的这一部分引用您的 Amazon Bedrock - Converse API 连接，并指定您正在使用发送请求数据的表和字段的名称（请参阅上一节）。它加载一个单独的表，该表将包含模型对请求中每一行的响应以及其他数据。

要生成脚本的这一部分，可以使用正在使用的连接的选择数据向导。这将生成一个模板脚本，其中包括您提供的属性的名称。

在 数据加载编辑器 或 脚本 的数据源面板中找到正在使用的连接，然后单击 the 选择数据 icon。这将打开向导。

使用选择数据向导时，需要提供两个属性：

* 驻留表的名称。这是要将请求发送到 Amazon Bedrock 的表。

* 数据字段的名称。这是包含发送到 Amazon Bedrock 服务的请求数据的字段。

或者，您可以在不使用向导的情况下将其手动添加到脚本编辑器中。

单击插入脚本时，新表将添加到加载脚本中。现在，您可以加载数据，检查生成的数据模型，并使用这些数据在应用程序中创建分析内容。

## 示例

以下加载脚本从 Amazon Bedrock 请求三个补全。

有关编写提示的更多信息，请参阅[提示工程](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-converse-api-load.htm#Prompt)。

以下是它的设置方式：

* 驻留表为 QuestionsTable。

* 具有提示的数据字段为 Question。

* 关联字段为 RowId。

* Amazon Bedrock 的 LOAD 语句包含在名为 Converse 的表中。

```
QuestionsTable:

Load * Inline [

RowId,Question

1,"show me general ways to help boost a company's sales"
2,"what are the core concepts in accounting?"
3,"how large is the sun?"
];

[Converse]:
LOAD
	[text],
	[stopReason],
	[inputTokens],
	[outputTokens],
	[totalTokens],
	[latencyMs],
	[RowId]
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_BedRock_Connection"}}', QuestionsTable);
```