Prompty określają, jak akcja renderuje odpowiedzi użytkowników i jak zachęca do kontynuowania. Podczas tworzenia akcji możesz dodawać prompty do i do różnych miejsc w scenie. Mogą być proste, tekstu lub mowy. Może też być bardziej złożona i zawierać bogatsze treści, kart, obrazów i tabel.
Typy odpowiedzi
W przypadku każdego promptu możesz wybrać jeden z wielu ciekawych typów odpowiedzi na pytania: Asystent do prezentowania użytkownikom:
- Proste odpowiedzi: proste odpowiedzi mają postać dymka czatu. oraz używać funkcji zamiany tekstu na mowę (TTS) lub Speech Synthesis Markup Language (SSML) dźwięk. Proste odpowiedzi to jedyne odpowiedzi obsługiwane na wszystkich typach urządzeń.
- Rozszerzone odpowiedzi: odpowiedzi rozszerzone zawierają elementy wizualne lub funkcjonalne, które interakcji użytkowników z Twoimi akcjami. Dzięki rozbudowanym odpowiedziom możesz też wyświetlać dane w postaci tabeli lub odtwarzać dłuższe treści audio.
- Odpowiedzi wyboru wizualnego: odpowiedzi w formie wizualnej interfejsu, aby umożliwić użytkownikom wybór spośród najprostszych opcji można je odróżnić za pomocą tytułu lub obrazu.
- Odpowiedzi na multimedia: odpowiedzi w ramach multimediów umożliwiają akcjom odtwarzanie dłuższych dźwięków. niż SSML, i udostępnia komponent wizualny z elementami sterującymi multimediami.
- Interaktywne płótno: interaktywne płótno renderuje odpowiedzi na pełnym ekranie. przegląda strony i działa jak interaktywna aplikacja internetowa, którą Asystent wysyła jako odpowiedź użytkownikowi w rozmowie. Canvas używa nieco innego promptu i uwzględniać elastyczność standardów internetowych, takich jak HTML, CSS JavaScriptu.
Każdy z tych typów odpowiedzi wykorzystuje ten sam podstawowy format promptu i ma dostęp do te same ogólne funkcje opisane poniżej.
Format prompta
W projekcie Actions definiujesz prompty w formacie YAML lub JSON. Każdy może zawierać maksymalnie 2 proste odpowiedzi . Odpowiedzi są zdefiniowane w następujący sposób:
first_simple
: pierwsza odpowiedź tekstowa lub głosowa (prosta) wysyłana do użytkownika.content
: dodatkowe, szczegółowe odpowiedzi, które można wysłać po prostych odpowiedziach.last_simple
Ostateczna odpowiedź tekstowa lub głosowa (prosta) wysyłana do użytkownika.canvas
: odwołuje się do aplikacji internetowej, która integruje się z interaktywnym obszarem roboczym.
Domyślnie prompty są dołączane do siebie w prompcie w powyższej kolejności kolejkę. Zanim użytkownik będzie mógł odpowiedzieć, Asystent wyświetla mu wszystkie prompty w kolejce promptów.
Możesz też zapewnić elastyczność promptu, korzystając z tych funkcji:
- Kandydaci: pozwalają zdefiniować odpowiedzi na podstawie do możliwości urządzenia użytkownika. Możesz na przykład włączyć wyświetlanie rozszerzonych elementów Asystenta odpowiedzi tylko wtedy, gdy użytkownik wejdzie w interakcję z Akcją na urządzeniu obsługującym wyświetlacz urządzenia.
- Warianty: warianty to alternatywne odmiany pojedynczej wiadomości. Możesz na przykład poprosić Asystenta o wybranie jednego z 5 różnych powitań. warianty komunikatu za każdym razem, gdy użytkownik wywoła Twoją akcję.
- Sugestie: sugestie, które pozwalają wyświetlać użytkownikom urządzeń z elementami sugestii, gdy Asystent wyświetla prompt.
Domyślny prompt używa 1 kandydu, 1 wariantu i odpowiedzi first_simple
.
Kandydaci
W prompcie obiekt candidates
umożliwia definiowanie odpowiedzi na podstawie
do możliwości urządzenia użytkownika. Możesz na przykład włączyć wyświetlanie rozszerzonych elementów Asystenta
odpowiedzi tylko wtedy, gdy użytkownik wejdzie w interakcję z Akcją na urządzeniu obsługującym wyświetlacz
urządzenia. Aby określić typy urządzeń, na których Asystent może zwrócić propozycję, użyj funkcji
właściwość selector
obiektu candidates
.
W poniższym przykładzie właściwość selector
zawiera możliwości urządzenia
i informacjami o nich. Prompty ustawione w pierwszym kandydacie są wysyłane do użytkowników na urządzeniu
który może renderować rozbudowane odpowiedzi. Druga kandydatura zawiera prompty dla:
którzy mogą otrzymywać tylko odpowiedzi tekstowe i głosowe.
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." }] } }] }
Możesz podać co najmniej 1 wymagania dotyczące możliwości danego kandydata. Poniższa lista zawiera opis wszystkich dostępnych wymagań:
SPEECH
: urządzenie może komunikować się z użytkownikiem za pomocą zamiany tekstu na mowę lub SSML.RICH_RESPONSE
: urządzenie może wyświetlać rozszerzone odpowiedzi, takie jak karty, listy i tabeli.LONG_FORM_AUDIO
: urządzenie może odtwarzać długie multimedia, takie jak muzyka i podcastów.INTERACTIVE_CANVAS
: urządzenie może wyświetlać odpowiedź interaktywnego obszaru roboczego.WEB_LINK
: urządzenie może używać linków internetowych w odpowiedziach rozszerzonych, aby otwierać przeglądarkę.HOME_STORAGE
: urządzenie może zapisywać dane w pamięci domowej i korzystać z nich.
Warianty
Warianty umożliwiają zdefiniowanie wielu wersji odpowiedzi. Gdy Asystent wysyła prompt do użytkownika, jeden z wariantów jest wybierany losowo. Jak najlepsze ćwiczyć projektowanie rozmowy i zapewnić użytkownikom alternatywne odpowiedzi, rozmawiają z Twoją akcją.
Na przykład udostępnij różne warianty wiadomości powitalnej, aby użytkownicy nie słyszeli ta sama odpowiedź przy każdym wywołaniu akcji:
YAML,
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
Sugestie
![Przykład elementów z sugestią na inteligentnym ekranie](https://developers.google.cn/static/assistant/conversational/images/smart-display/chips.png?authuser=6&hl=pl)
Sugestie dają użytkownikom urządzeń z wyświetlaczem elementy z sugestią, gdy Asystent wyświetli prompt. Za pomocą elementów z sugestiami możesz informować użytkowników o odpowiedziach na kontynuować rozmowę lub ją omówić. Po kliknięciu element z sugestią zwraca wyświetlić tekst w rozmowie dosłownie, tak jakby to użytkownik napisał go.
W jednym promptie możesz mieć maksymalnie 8 sugestii, z których każda może mieć 25 znaków.
Aby dodać sugestię, podaj obiekt Suggestion
zawierający wszystkie
w osobnym polu title
. Każdy tytuł musi być niepowtarzalny w obrębie zestawu
elementów z sugestią. W narzędziu Actions Builder ten obiekt jest zapisany w pliku YAML.
JSON jako suggestions
.
Możesz na przykład wpisać „Tak” i „Nie” kilka sugestii obok pytania:
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" }] }] }