# ビジュアライゼーション数式での Cohere (Amazon Bedrock) 接続の使用

ロード スクリプトを使用してアプリケーションのデータ モデルに Cohere の質問と回答を追加するだけでなく、分析モードのアプリケーションのチャートで直接これらの操作を実行することもできます。単一項目のデータは、ユーザーと Cohere 間で行ったり来たりします。

情報メモ

Amazon Bedrock - Converse API コネクタを使用すると、このコネクタで利用可能な 1 つまたは複数のモデルを含む、テキスト生成モデル用の Amazon Bedrock のユニバーサル API に接続できます。 より高度な機能を利用するには、この接続の Cohere - Generate 構成を使用する接続を Amazon Bedrock - Converse API 接続に置き換えることを検討してください。

詳細については、「[Amazon Bedrock - Converse API 分析ソース](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-converse-api-overview.htm)」を参照してください。

多くの場合、ロード スクリプト接続に使用されるコードは、いくつかの相違点はあるものの、チャートで再利用することができます。

使用例がユーザー入力に基づくものである場合は、チャートの数式で分析接続および対応するサーバーサイド拡張構文を使用して、モデルのエンドポイントから受信したデータを視覚化するインタラクティブ チャートを作成できます。

## データ リクエスト ボリュームに関する注意事項

Cohere (Amazon Bedrock) 接続は、データ行が 1 行または少数のチャートの数式でのみ使用することをお勧めします。チャートの数式を使用して Cohere に大量のデータを送信することは推奨されていません。

各リクエストで送信する行数を把握しておくことが重要です。チャートの数式での接続の設定に誤りがあると、想定外の大きいリクエストが発生する可能性があります (例: チャートでのデータモデルの使用が不適切なため、同じ質問で同じ行が表示される)。サードパーティのプラットフォームとやり取りする前に、チャートの数式の計算で使用される項目と、データ モデルにおけるそれらの位置づけが、サードパーティとの財務契約や請求の取り決めにどのような影響を与えるかを必ず認識してください。外部プラットフォームの使用量が増えると、発生するコストも高くなる可能性があります。

次のガイドラインに従って、リクエストのサイズを軽減および制限してください。

* チャートの数式を操作するときは、テキスト オブジェクト (Dashboard bundle から) 内の接続のみを使用します。特に 1 つ以上の軸がすでに追加されているテーブルに式を追加する場合は、テーブル オブジェクトで Cohere (Amazon Bedrock) 接続を使用しないことを強く推奨します。

* チャートの数式がアプリケーションのデータ モデルにリンクされている場合、アプリケーションで 1 つの選択が行われたときだけチャートを計算するように、式の中で if 文を使用します。これにより、チャートが Cohere に送信するリクエストの行数が大幅に削減されます。

* Cohere (Amazon Bedrock) 接続を使用して大きなリクエストを送信する場合、チャートの数式ではなくロード スクリプトで接続を使用し、データがデータ モデルに事前にロードされるようにします。

## プロンプト エンジニアリング

生成 AI モデルに送信するリクエスト (プロンプトとも呼ばれる) を記述するときは、相互作用するプラットフォームに固有のガイドラインに従ってください。プロンプト エンジニアリングの詳細と、Amazon Bedrock コネクタのプロンプトを構成する方法に関するガイドラインについては、「[プロンプト エンジニアリングのコンセプト](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-engineering-guidelines.html)」を参照してください。

標準的な文章またはテキストの書式設定を使用して、Cohere (Amazon Bedrock) コネクタとやり取りできます。プロンプトの前に特別なキーワードや文字列を付ける必要はありません。「[簡単な例](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-cohere-use.htm#Quick)」を参照してください。

## チャートの数式の作成

次の手順を実行します。

1. ビジュアライゼーションを編集する際は、 [the 式 icon] をクリックして数式エディタに入ります。

2. 数式エディタでは、数式項目に数式を入力します。数式は、サーバーサイド拡張構文を使用して作成する必要があります。

## 簡単な例

ここでは、Cohere (Amazon Bedrock) コネクタを使い始めるときに使用できるサンプル式を見つけることができます。次の詳細を考慮してください。

* 式は [テキストと画像] オブジェクトでのみ使用します。

* `if` ステートメントを式に追加して、チャートが再計算されるタイミングを制御し、アプリケーションでのユーザーの選択に応じて更新することを検討します。

* 式が機能するには、`connectionname` 値と項目名を独自の接続とアプリケーションに一致するように置き換える必要があります。

Cohere (Amazon Bedrock) 分析コネクタのチャートの数式の例

Cohere (Amazon Bedrock)Cohere (Amazon Bedrock) 分析コネクタのチャートの数式の例

| コネクタの構成 | 式 | 概要 |
| --- | --- | --- |
| Cohere - Generate | `endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Cohere_(Amazon_Bedrock)","column":"text"}}', 'Translate this text from english to spanish: The sun was rising over the new tomorrow with a tinge of excitement.')` | このステートメントは、式に入力された 1 つの質問に対する Cohere の応答を返します。<br><br>警告メモ<br><br>この式は `if` ステートメントを使用しないため、データ モデルの項目に関連付けられている場合は使用を推奨しません。これは、ハードコードされた値を含む単一の入力セルを含むスタンドアロン式での使用にのみ適しています。 |
| Cohere - Generate | `if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Cohere_(Amazon_Bedrock)","column":"text"}}',vQuestion))` | これは、変数入力コントロールにリンクされた [テキストと画像] オブジェクトで使用できるステートメントです。チャートに入力された場合にのみ計算されます。ユーザーがオブジェクトに入力して Enter キーを押すと、その入力に対するモデルの応答がチャートに表示されます。 |
| Cohere - Generate | `if(GetSelectedCount(BusinessTopic)=1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Cohere_(Amazon_Bedrock)", "column":"text"}}', 'What are people saying about ' & 'BusinessTopic'), 'Please select a single value for BusinessTopic.')` | これは、ユーザーが項目 `BusinessTopic` に 1 つの値を選択した場合にのみチャートが計算される複雑な `if` ステートメントです。ユーザーがアプリケーションでこの選択を行っている場合にのみチャートが更新され、選択していない場合は代替メッセージの「`Please select a single value for BusinessTopic`」が表示されます。 |
| Cohere - Generate | `if(count(distinct [IssueCategory]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Cohere_(Amazon_Bedrock)","column":"text"}}', 'write me a sample response from a technical support department for a customer complaint about ' & [IssueCategory]))` | この例では、アプリケーションのデータ モデルの項目 `IssueCategory` から 1 つの個別の値が選択された場合にのみチャートが計算されます。一般的な種類の問題についてテクニカル サポート部門からのサンプル応答を求めるリクエストが OpenAI に送信されます。そのリストは `IssueCategory` 項目に含まれています。 チャートはユーザーが選択した値に応じて更新されます。 |

## 詳細を見る

* [サーバーサイド拡張構文](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)
* [if スクリプトおよびチャート関数](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm)
* [GetSelectedCount - チャート関数](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getselectedcount.htm)
* [数式での変数の使用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Variables/work-with-variables.htm)