- YAML 表現
- スロット
<ph type="x-smartling-placeholder">
- </ph>
- YAML 表現
- PromptSettings
<ph type="x-smartling-placeholder">
- </ph>
- YAML 表現
- CommitBehavior
<ph type="x-smartling-placeholder">
- </ph>
- YAML 表現
- DefaultValue
<ph type="x-smartling-placeholder">
- </ph>
- YAML 表現
シーンは、会話を設計する際の制御フローの基本単位です。他のシーンと連結したり、エンドユーザー向けのプロンプトを生成したり、スロットを定義したりできます。シーン名はファイル名で指定します。
YAML 表現 | |
---|---|
onEnter: object ( |
フィールド | |
---|---|
onEnter |
このシーンへの遷移時に呼び出すハンドラ。 |
intentEvents[] |
インテントに基づいてトリガーされるイベントのリスト。これらのイベントは、on_load ハンドラが呼び出された後、いつでもトリガーできます。重要 - これらのイベントは、このシーンをスコープとするインテントのセットを定義します。同じインテントまたはトリガー フレーズを持つグローバルに定義されたイベントよりも優先されます。インテント名はシーン内で一意である必要があります。 |
conditionalEvents[] |
条件文に基づいてトリガーするイベントのリスト。これらは、フォームが入力された後、またはこのシーンにフォームがない場合は on_load の直後に評価されます(評価は 1 回だけ行われます)。最初に一致したイベントのみがトリガーされます。 |
slots[] |
スロットの順序付きリスト。各スロットでは、解決するデータの種類と、この解決(プロンプトなど)のエクスペリエンスをカスタマイズするための構成を定義します。 |
onSlotUpdated |
別の Handler 内の更新に起因しない、スロットの状態の変化があった場合に呼び出されるハンドラ。これにより、スロットの無効化、シーンの無効化、その他のシーン状態の変更が可能になります。 |
スロット
スロットの構成。スロットとは、自然言語(インテント パラメータなど)、セッション パラメータなどのソースから入力できる単一のデータ単位です。
YAML 表現 | |
---|---|
name: string type: object ( |
フィールド | |
---|---|
name |
必須。スロットの名前。 |
type |
必須。このスロットのデータ型を宣言します。 |
required |
省略可。スロットを進める前にスロットを埋める必要があるかどうかを示します。必須のスロットが埋まっていない場合は、カスタマイズ可能なプロンプトがユーザーに表示されます。 |
promptSettings |
省略可。スロット充填のさまざまな段階のプロンプトを登録します。 |
commitBehavior |
省略可。スロットに関連する commit 動作。 |
config |
省略可。スロットを埋めるために使用される、スロットに関連する追加構成。構成の形式はスロットのタイプに固有です。ユーザー パラメータまたはセッション パラメータへのリソース参照をこの構成に追加できます。この構成は、トランザクションとユーザー エンゲージメントに関連するスロットを埋めるために必要なものです。 例: actions.type.CompletePurchaseValue タイプのスロットの場合、次の構成では、クライアント定義のセッション パラメータ { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company"} } |
defaultValue |
省略可。このスロットにデフォルト値を入力するための構成。 |
PromptSettings
スロット プロンプトを定義する単一の場所。
YAML 表現 | |
---|---|
initialPrompt: object ( |
フィールド | |
---|---|
initialPrompt |
スロット値自体の入力を求めます。例: 「ご希望のサイズを教えていただけますか?」 |
noMatchPrompt1 |
ユーザーの入力が、スロットで期待される値の型と初めて一致しなかった場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」 |
noMatchPrompt2 |
ユーザーの入力がスロットで期待される値の型と 2 回目以降一致しない場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」 |
noMatchFinalPrompt |
前回のスロットで想定される値の型とユーザーの入力が一致しない場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」 |
noInputPrompt1 |
ユーザーが初めて入力を行わなかったときに表示されるプロンプト。例: 「うまく聞き取れませんでした。」 |
noInputPrompt2 |
ユーザーが 2 回目の入力を行わなかったときに表示されるプロンプト。例: 「うまく聞き取れませんでした。」 |
noInputFinalPrompt |
ユーザーが最後に入力しなかった場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」 |
CommitBehavior
スロットに正常に入力された後の、スロットに関連付けられた commit の動作を説明するメッセージ。
YAML 表現 | |
---|---|
writeSessionParam: string |
フィールド | |
---|---|
writeSessionParam |
スロットが埋まった後に値を書き込むセッション パラメータ。ネストされたパスは現在サポートされていません。「$$」は、スロットと同じ名前のセッション パラメータにスロット値を書き込むために使用されます。例: writeSessionParam = "fruit""$session.params.fruit" に対応します。writeSessionParam = "ticket"(チケット)"$session.params.ticket" に対応します。 |
DefaultValue
このスロットにデフォルト値を入力するための構成。
YAML 表現 | |
---|---|
sessionParam: string constant: value |
フィールド | |
---|---|
sessionParam |
省略可。空でない値がある場合に、スロット値を初期化するために使用されるセッション パラメータ。値の型はスロットのタイプと一致する必要があります。ネストされたパスは現在サポートされていません。たとえば、 |
constant |
省略可。スロットの定数のデフォルト値。これは、このスロットの値が |