# 在視覺化運算式中使用 Anthropic (Amazon Bedrock) 連線

除了使用載入指令碼將 Anthropic 問題和答案新增至應用程式的資料模型，您也可以直接在分析模式下於應用程式的圖表中執行這些操作。會在您和 Anthropic 之間來回傳送單一欄位的資料。

資訊備註

此 Amazon Bedrock - Converse API 連接器可讓您連線至 Amazon Bedrock 的通用 API，以用於文字生成模型，包括透過此連接器提供的一個或多個模型。建議將 Anthropic (Amazon Bedrock) 連線取代為 Amazon Bedrock - Converse API 連線，以取得更進階的功能。如需詳細資訊，請參閱[Amazon Bedrock - Converse API 分析來源](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-converse-api-overview.htm)。

在許多情況下，用於載入指令碼連線的程式碼可以重新用於圖表，並具有差異。

如果使用案例是根據使用者輸入，您可以在圖表運算式中使用分析連線和對應的伺服器端延伸語法來建立互動式圖表，以視覺化從模型端點接收的資料。

## 資料請求量的考慮事項

在圖表運算式中使用 Anthropic (Amazon Bedrock) 連線建議僅用於一列或幾列資料。不建議使用圖表運算式將大量資料傳送至 Anthropic。

重要的是，應注意您對每個請求傳送多少列。若在圖表運算式中設定 連線時發生錯誤，可能導致意外的大量請求 (例如由於不當使用圖表中的資料模型而出現問題相同的相同列)。在您與第三方平台互動之前，請確認您瞭解欄位在圖表運算式計算的使用方式，及其在資料模型中的位置，會影響與第三方的財務協議和計費安排。較高的外部平台使用率可能會造成較高的費用。

遵守這些準則以節制並限制請求的大小：

* 處理圖表運算式時，僅使用 文字 物件中的連線 (來自 Dashboard bundle)。強烈不建議在表格物件中使用 Anthropic (Amazon Bedrock) 連線，尤其是若您正在將運算式新增至已新增一個或多個維度的表格。

* 若圖表運算式連結至應用程式的資料模型，請在運算式中使用 if 陳述式，以在應用程式中選取單一選項時僅計算圖表。這會在圖表將傳送至 Anthropic 的請求中大幅降低列數。

* 若您正在使用 Anthropic (Amazon Bedrock) 連線傳送大量請求，請在載入指令碼 (而非圖表運算式) 中使用連線，讓資料預先載入到資料模型中。

## 提示設計

寫入您傳送至生成性 AI 模型的請求 (通常稱為提示) 時，請按照特定於與您互動之平台的準則。如需關於提示設計的資訊以及如何為 Amazon Bedrock 連接器結構化提示的準則，請參閱[提示設計概念](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-engineering-guidelines.html)。

### 為 Anthropic - Claude 設定建構提示

您可以使用 Anthropic - Claude 設定連線至多個舊版 Claude 模型。

為此設定撰寫的提示需要特定語法，以便成功傳回完成內容。以下是要求：

* 每個提示必須以文字 Human: 加上前置詞

* 每個提示必須以文字 Assistant: 加上後置詞

* Human: 前置詞最前面必須有兩個歸位字元。方法是將 `chr(10) & chr(10)` 新增至運算式，位於前置詞之前。

* Assistant: 後置詞最前面必須有兩個歸位字元。方法是將 `chr(10) & chr(10)` 新增至運算式，位於後置詞之前。

如需關於如何建構並格式化 Claude 提示的資訊，請參閱[建構提示](https://docs.anthropic.com/claude/docs/constructing-a-prompt)。

如需範例，請參閱 [快速範例](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-anthropic-use.htm#Quick)。

### 為 Anthropic - Claude (Messages API) 設定建構提示

Anthropic - Claude (Messages API) 設定連線至訊息 API。

這些模型的提示不需要任何特定語法。如需範例，請參閱 [快速範例](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-anthropic-use.htm#Quick)。

## 建立圖表運算式

請執行下列動作：

1. 編輯視覺效果時，按一下 the 運算式 icon 進入運算式編輯器。

2. 在運算式編輯器中，在運算式欄位中輸入運算式。必須使用伺服器端延伸語法建構運算式。

## 快速範例

您可在此找到樣本運算式，這可在開始使用 Anthropic (Amazon Bedrock) 連接器時使用。考慮下列詳細資訊：

* 僅搭配文字物件使用運算式 (從 Dashboard bundle)。請參閱 [文字](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/DashboardBundle/text-object.htm)。

* 考慮將 `if` 陳述式新增至您的運算式，以控制圖表何時重新計算，以及根據應用程式中的使用者選項進行更新。

* 為了讓運算式運作，您必須替代 `connectionname` 值和任何欄位名稱，以配合您自己的連線和應用程式。

* 對於此連接器的每個設定，有不同的語法要求。請參閱 [提示設計](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-anthropic-use.htm#Prompt)。

Anthropic (Amazon Bedrock) 分析連接器的圖表運算式範例

Anthropic (Amazon Bedrock)Anthropic (Amazon Bedrock) 分析連接器的圖表運算式範例

| 連接器設定 | 運算式 | 摘要 |
| --- | --- | --- |
| Anthropic - Claude | `endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"completion"}}', chr(10) & chr(10) & 'Human:' & 'Translate this text from English to Spanish: The sun was rising over the new tomorrow with a tinge of excitement.' & chr(10) & chr(10) & 'Assistant:')` | 此陳述式將向已在運算式中輸入的單一問題傳回 Anthropic 回應。<br><br>警告備註<br><br>此運算式不會使用 `if` 陳述式，若繫結至資料模型中的欄位，則不建議使用。這僅適合用於具有單一輸入儲存格 (包含硬式編碼值) 的獨立運算式。 |
| Anthropic - Claude | `if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"completion"}}', chr(10) & chr(10) & 'Human:' & vQuestion & chr(10) & chr(10) & ' Assistant:'))` | 此陳述式可用於連結至變數輸入控制的文字物件 (來自Dashboard bundle)。只有在輸入時才會計算圖表。使用者在物件中輸入內容並按下 Enter 時，圖表會顯示模型對輸入內容的回應。<br><br>請注意，有鑒於 Anthropic 提示要求，使用者必須在輸入內容中手動輸入前置詞和後置詞。<br><br>如需不同連接器的類似逐步說明，請參閱 [練習： 使用變數建立文字輸入方塊](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-openai-tutorial-example-3.htm#Exercise)。 |
| Anthropic - Claude | `if(count(distinct [BusinessTopic]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"completion"}}', chr(10) & chr(10) & 'Human: write me a sample response from a technical support department for a customer complaint about ' & [BusinessTopic] & chr(10) & chr(10) & ' Assistant:'))` | 在此範例中，只有在從應用程式資料模型中的欄位 `IssueCategory` 選取一個相異值時，才會計算圖表。會向模型傳送請求，就一般問題類型從技術支援部門請求樣本回應，這是 `IssueCategory` 欄位中包含的清單。 會根據使用者選取的值更新圖表。 |
| Anthropic - Claude (Messages API) | `endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"text"}}', 'Translate this text from English to Spanish: The sun was rising over the new tomorrow with a tinge of excitement.')` | 此陳述式將向已在運算式中輸入的單一問題傳回 Anthropic 回應。<br><br>警告備註<br><br>此運算式不會使用 `if` 陳述式，若繫結至資料模型中的欄位，則不建議使用。這僅適合用於具有單一輸入儲存格 (包含硬式編碼值) 的獨立運算式。 |
| Anthropic - Claude (Messages API) | `if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"text"}}',vQuestion))` | 此陳述式可用於連結至變數輸入控制的文字物件 (從 Dashboard bundle)。只有在輸入時才會計算圖表。使用者在物件中輸入內容並按下 Enter 時，圖表會顯示模型對輸入內容的回應。<br><br>如需不同連接器的類似逐步說明，請參閱 [練習： 使用變數建立文字輸入方塊](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-openai-tutorial-example-3.htm#Exercise)。 |
| Anthropic - Claude (Messages API) | `if(count(distinct [IssueCategory]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"text"}}', 'Write me a sample response from a technical support department for a customer complaint about ' & [IssueCategory]'))` | 在此範例中，只有在從應用程式資料模型中的欄位 `IssueCategory` 選取一個相異值時，才會計算圖表。會向模型傳送請求，就一般問題類型從技術支援部門請求樣本回應，這是 `IssueCategory` 欄位中包含的清單。 會根據使用者選取的值更新圖表。 |

## 瞭解更多資訊

* [伺服器端延伸語法](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)
* [if 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm)
* [GetSelectedCount - 圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getselectedcount.htm)
* [在運算式中使用變數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Variables/work-with-variables.htm)