プロンプトでは、アクションがユーザーにレスポンスをレンダリングする方法と、アクションがどのように 続行するよう促されます。アクションの作成中に、プロンプトをアクションに追加できます。 シーン内のさまざまな場所に保存できます。プロンプトは、単純なもので、 より複雑で、次のようなリッチ コンテンツが含まれている場合があります。 カード、画像、表などがあります
レスポンス タイプ
各プロンプトでは、ユーザーの興味を引くさまざまな回答タイプを ユーザーに提示するアシスタント:
- シンプルな返信: シンプルな返信は、視覚的なチャットふきだし形式で表示されます。 テキスト読み上げ(TTS)や音声合成マークアップ言語(SSML)を できます。すべてのデバイスタイプでサポートされているのは、シンプル レスポンスのみです。
- リッチ レスポンス: リッチ レスポンスには、 アクションとユーザー インタラクションを強化できます。リッチ レスポンスでは、 表形式データを表示したり、長時間の音声コンテンツを再生したりできます。
- ビジュアル選択レスポンス: ビジュアル選択レスポンスでは、 ユーザーが複数のオプションから簡単に選択できる 画像で区別できるようにしています。
- メディア レスポンス: メディア レスポンスを使用すると、アクションで長時間の音声を再生できるようになります。 SSML よりもコンテンツであり、メディア コントロールを備えたビジュアル コンポーネントを提供します。
- Interactive Canvas: Interactive Canvas はレスポンスを全画面としてレンダリングします。 ウェブアプリとして機能し、アシスタントが レスポンスが返されます。キャンバスでは若干異なるプロンプトが使用されます のフォーマットを使用して、HTML、CSS、 使用できます。
これらのレスポンス タイプはそれぞれ同じ基本プロンプト形式を使用し、 以下で説明する一般的な機能と同じです。
プロンプトの形式
Actions プロジェクトで、プロンプトを YAML または JSON 形式で定義します。各 最大 2 つの単純なレスポンスを含めることができます。また、必要に応じて、 レスポンスが返されます。レスポンスは次のように定義されます。
first_simple
: ユーザーに送信する最初のテキストまたは音声(シンプル)レスポンス。content
: 単純なレスポンスの後に送信する補足的なリッチ レスポンス コンテンツ。last_simple
ユーザーに送信する最終的なテキストまたは音声(シンプル)レスポンス。canvas
: Interactive Canvas と統合するウェブアプリを参照します。
デフォルトでは、プロンプトは上記の順序でプロンプト同士に追加されます。 表示されます。ユーザーが応答する前に、アシスタントからすべてのプロンプトが提示されます 渡されます。
さらに、次の機能を使用してプロンプトを柔軟に調整できます。
- 候補: 候補を使用すると、 制御することもできます。たとえばアシスタントの ディスプレイリッチや ユーザーがディスプレイ対応モデルでアクションとやり取りした場合のみ ダウンロードします
- バリエーション: 1 通のメッセージのバリエーションです。 たとえば、アシスタントに 5 種類のウェルカム メッセージから選べます。 ユーザーがアクションを呼び出すたびに、メッセージ バリアントが作成されます。
- 候補: ディスプレイ対応ユーザー向けの候補リスト アシスタントがメッセージを表示したときに候補ワードとともに表示されます。
デフォルトのプロンプトでは、1 つの候補、1 つのバリアント、1 つの first_simple
レスポンスを使用します。
受験者
プロンプトで candidates
オブジェクトを使用すると、
制御することもできます。たとえばアシスタントの
ディスプレイリッチや
ユーザーがディスプレイ対応モデルでアクションとやり取りした場合のみ
ダウンロードしますアシスタントが候補を返すことができるデバイスタイプを定義するには、次のコマンドを使用します。
candidates
オブジェクトの selector
プロパティ。
以下の例では、selector
プロパティにデバイス機能が含まれています。
情報です。最初の候補に設定されたプロンプトがデバイスのユーザーに送信される
リッチレスポンスをレンダリングできます2 番目の候補には、プロンプトを
テキストと音声によるレスポンスしか受け取れないユーザーです。
YAML
candidates: - selector: surface_capabilities: capabilities: - RICH_RESPONSE first_simple: variants: - speech: Here's a simple message. content: card: title: Image card title text: Some details about the image image: url: 'https://www.example.com/image/' - first_simple: variants: - speech: Text explains what the image might have shown in more detail.
JSON
{ "candidates": [{ "selector": { "surface_capabilities": { "capabilities": ["RICH_RESPONSE"] } }, "first_simple": { "variants": [{ "speech": "Here's a simple message." }] }, "content": { "card": { "title": "Image card title", "text": "Some details about the image", "image": { "url": "https://www.example.com/image/" } } } }, { "first_simple": { "variants": [{ "speech": "Text explains what the image might have shown in more detail." }] } }] }
特定の受験者に対して 1 つ以上の能力要件を指定できます。「 利用可能な機能要件を、次のリストに示します。
SPEECH
: デバイスはテキスト読み上げまたは SSML でユーザーと会話できます。RICH_RESPONSE
: デバイスはカード、リスト、 表しますLONG_FORM_AUDIO
: デバイスで音楽や音楽などの長時間の音声メディアを再生できます。 ポッドキャスト。INTERACTIVE_CANVAS
: デバイスは Interactive Canvas のレスポンスを表示できます。WEB_LINK
: デバイスはリッチ レスポンスでウェブリンクを使用してウェブブラウザを開くことができます。HOME_STORAGE
: デバイスは家のストレージにデータを保存し、そこからデータにアクセスできます。
パターン
バリアントは、レスポンスの複数のバージョンを定義する手段となります。アシスタントが ユーザーにプロンプトを送信すると、いずれかのパターンがランダムに選択されます。おすすめ 会話デザインの練習をするときに、会話デザインの やり取りできます。
たとえば、ウェルカム メッセージのさまざまなバリエーションを提供し、ユーザーにメッセージが 呼び出すたびに毎回同じレスポンスを返す必要があります。
YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
候補
![スマートディスプレイに表示される候補ワードの例](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/smart-display/chips.png?authuser=19&hl=ja)
候補は、次の場合に候補ワードがディスプレイ対応デバイスに表示されます。 アシスタントがプロンプトを表示します。候補ワードを使用して、ユーザーの応答のヒントを 会話を続行したり、別の方向に移動したりできます。タップすると候補ワードが ユーザーが入力したかのように、テキストをそのまま会話に表示していました。
1 つのプロンプトに入力できる候補は最大 8 つまでです。それぞれの候補には、 最大 25 文字まで使用できます。
候補を追加するには、各候補を含む Suggestion
オブジェクトを指定します。
個別の title
フィールドに入力できます。各タイトルはセット内で一意である必要があります
いくつかあります。Actions Builder では、このオブジェクトは YAML で表され、
suggestions
としての JSON。
たとえば、「はい」と回答できます。と「いいえ」提案が表示されます。
YAML
candidates: - first_simple: variants: - speech: 'Welcome, do you want to play a game?' suggestions: - title: 'Yes' - title: 'No'
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Welcome, do you want to play a game?" }] }, "suggestions": [{ "title": "Yes" }, { "title": "No" }] }] }