このコンポーネントは、大規模言語モデル (LLM) とのやり取りにおいて、MO (Mobile Originated) メッセージ (ユーザー入力) を順次受信・処理します。各入力を順番に LLM へ渡し、会話のコンテキストを使用して一貫性のある応答を生成することで、マルチターン対話の連続性を維持します。
コンポーネント情報
アイコン | 名前 |
| 自然言語対話 |
前提条件
このコンポーネントを設定するには、既存のフローを使用するか、新しいフローを作成して、フローのキャンバスにアクセスしてください。
既存のフローのキャンバスに移動する
新しいフローを作成して、そのキャンバスを開きます。詳細については、「フローの作成」をご参照ください。
操作手順
キャンバスで、[自然言語対話] コンポーネントのアイコンをクリックすると、右側にその設定パネルが開きます。
チャットフローキャンバスでは、フローは [開始]、[自然言語対話]、および [終了] ノードで構成されます。[自然言語対話] ノードを選択します。設定パネルで、モデルパラメーターを設定します。たとえば、[実装タイプ] を [モデル] に、[プロトコル] を [OpenAI] に設定します。次に、[baseUrl] (たとえばhttps://api.demo.com/v1)、[APIキー]、[モデル名] を入力します。[初期プロンプト] テキストエリアに、システムロールの説明を入力します。必要に応じてコンポーネントを設定します。詳細なパラメーターの説明については、「設定」セクションをご参照ください。
設定が完了したら、保存 をクリックします。表示されるダイアログボックスで、保存 をクリックします。
設定
1. モデル設定
実装タイプ をクリックし、 モデル または アプリケーション を選択します。選択に応じてパラメーターが異なります。
[Model]
|
パラメーター |
説明 |
|
[プロトコル] |
実装タイプが [Model] の場合、 [OpenAI] のみがサポートされています。 |
|
[baseUrl] |
|
|
[API キー] |
モデルサービスの API キーです。 |
|
[モデル名] |
|
|
[初期プロンプト] |
モデルのセッションのコンテキストを設定し、出力をガイドします。例: "You are a witty comedian. Use humorous language in your responses." |
|
[モデル入力] |
現在の会話ターンの入力です。変数を直接参照するか、テキストに埋め込むことができます。例: |
|
[モデル出力変数名] |
モデル出力の変数名です。後続の手順や返信として使用します。 |
|
[フォールバックテキスト] |
モデルサービスが利用できない場合の出力です。例: "Sorry, I am unable to answer your question at the moment." |
[アプリケーション]
|
パラメーター |
説明 |
|
[プロトコル] |
実装タイプが [アプリケーション] の場合、 Dashscope のみがサポートされています。 説明
アプリケーションの構築方法については、「Application development」をご参照ください。 |
|
[API キー] |
アプリケーションサービスの API キーです。 説明
「Obtain an API Key」をご参照ください。 |
|
[ワークスペース ID] |
アプリケーション (エージェントまたはワークフロー) を含むワークスペース ID です。サブワークスペースでは必須で、デフォルトのワークスペースでは任意です。 説明
「Workspace permission management」をご参照ください。 |
|
[appId] |
アプリケーション ID です。 |
|
[アプリケーション入力] |
現在の会話ターンの入力です。変数を直接参照するか、テキストに埋め込むことができます。例: |
|
[カスタムパススルーパラメータ] |
アプリケーションに渡すカスタムパラメーターです。例: |
|
[アプリケーション出力変数名] |
アプリケーション出力の変数名です。後続の手順や返信として使用します。 |
|
[フォールバックテキスト] |
アプリケーションサービスが利用できない場合の出力です。例: "Sorry, I am unable to answer your question at the moment." |
2. リクエストヘッダー設定
実装タイプ が アプリケーション に設定されている場合、リクエストヘッダーの設定はサポートされていません。
パラメーター | 説明 |
request header | HTTP リクエストヘッダー設定。以下の情報を入力します。
|
3. メッセージ設定
LLM が応答を生成した後のメッセージ配信を設定します。
パラメーター | 説明 |
[チャンネル] | メッセージを送信するチャネル。 説明 現在、WhatsApp チャネルのみがサポートされています。 |
Enable WhatsApp typing indicator | 現在の会話で入力インジケーターを表示し、応答が準備中であることをユーザーに通知します。 |
[操作] | メッセージアクション。現在、"reply" のみがサポートされており、ユーザーの MO (Mobile Originated) メッセージへの返信を送信します。 |
[メッセージタイプ] | 送信するメッセージのタイプ。現在、プレーンテキストの返信のみがサポートされています。 |
長文分割 | LLM によって生成された長いメッセージを、指定された区切り文字に基づいて複数の短いメッセージに分割します。
|
メッセージ送信間隔 | 長文分割が有効な場合にのみ使用できます。分割されたメッセージの各部分を送信する間の遅延を設定します。
|
4. タイムアウト設定
パラメーター | 説明 |
[待ち時間] | ユーザーからの MO (Mobile Originated) メッセージを待機するタイムアウト期間。この時間を超えると、マルチターン対話は自動的に終了します。現在、セッションはタイムアウトによってのみ終了でき、手動で終了することはできません。 |
自然言語対話 vs. 自然言語生成
どちらのコンポーネントも大規模言語モデル (LLM) を使用してインテリジェントなコンテンツを自動生成し、ユーザーメッセージに応答します。ただし、メッセージ処理メカニズムとユースケースが異なります。
自然言語対話 コンポーネントは、マルチターン対話向けに設計されています。ユーザーが MO メッセージを送信すると、コンポーネントはそれを LLM に送信して応答を生成します。モデルが処理中にユーザーがさらにメッセージを送信した場合、これらの新しいメッセージは破棄されません。代わりに、内部キューに追加されます。モデルが現在の応答を完了した後、キューに入れられたメッセージが順番に処理され、会話のコンテキストの連続性と完全性が保証されます。
自然言語生成 コンポーネントは、シングルターンでコンテキストに依存しないタスクに最適です。フローからの変数 (ユーザー入力やシステムパラメーターなど) を LLM に渡して、一度限りの応答を生成します。その結果は、後続の使用または配信のためにビジネスフローに返されます。このコンポーネントは、モデルが応答した後に受信した最新の MO メッセージのみを処理し、処理中に到着した新しいメッセージをキューに入れません。
観点 |
|
|
コンポーネントの役割 | フローで定義された変数を LLM に渡して応答を生成します。応答は、配信または後続のノードでの使用のためにコンポーネントに返されます。 |
|
入力処理の範囲 | モデルが応答した後に受信した最新の MO メッセージのみを処理します。 | 最初の MO メッセージを処理し、その後、最初の応答が生成されている間にキューに入れられたすべての MO メッセージを処理し続けます。 |
応答生成中の新しい MO メッセージの処理 | 無視されます (処理されません)。 | キューに入れられ、後で順次処理されます。 |
インタラクションモデル | 固定された予測可能なフローによるシングルターン生成。 | 連続するユーザーの発言を処理できる継続的な会話。 |
ユーザーエクスペリエンスの特性 | より安定的で制御可能。 ユーザーの中断は現在の生成サイクルに影響しません。 | 人間の会話のように感じられます。 ユーザーの入力を見逃しません。 |
一般的な用途 | 構造化された情報の説明、要約、書き換え、または自然言語への変換。 | 継続的な Q&A、フォローアップ質問の処理、補足情報の処理、その他のマルチターン対話。 |
ユースケース | 厳格な制御と固定されたステップを必要とし、マルチターンキューイングによる中断が望ましくないプロセス駆動型シナリオ:
| ユーザーが連続してメッセージを送信することが多く、すべてのメッセージが処理されることを期待する対話中心のシナリオ:
|
