Projekt Actions umieszcza wszystkie akcje w jednym kontenerze. Ty opublikować ten projekt w Actions on Google, żeby Asystent Google wiedział, i wywoływać tryby konwersacyjne.
.Do tworzenia projektu w Actions używasz tych komponentów niskiego poziomu:
Ustawienia i zasoby definiują metadane projektu i zasobów takich jak ikony projektów. Google wykorzystuje te informacje do publikowania akcje do katalogu Asystenta, aby użytkownicy mogli je wykrywać i wywoływać .
Intencje reprezentują zadanie do wykonania, na przykład określone dane wejściowe użytkownika lub zdarzenie systemowe, które wymaga przetworzenia. Najczęstszy typ to intencje użytkownika. Te intencje umożliwiają zadeklarowanie trenowania wyrażenia, które są naturalnie rozszerzane przez NLU (rozumienie języka naturalnego). o wiele więcej podobnych wyrażeń. NLU wykorzystuje agregację te wyrażenia do wytrenowania modelu językowego, którego Asystent używa do dopasowywania użytkowników dane wejściowe. jeśli w trakcie rozmowy niektóre dane wejściowe użytkownika są zgodne z językiem intencji. model, środowisko wykonawcze Asystenta wysyła intencję do akcji, dzięki czemu może ona przetwarza je i odpowiada użytkownikowi.
Typy umożliwiają wyodrębnianie uporządkowanych danych z danych wejściowych użytkownika. Według oznaczanie wyrażeń na potrzeby trenowania typami, NLU może wyodrębnić odpowiednie, uporządkowane więc nie musisz analizować tych danych.
Sceny przetwarzają intencje i są głównymi elementami logicznymi tych procesów swoje akcje. Mogą wypełniać przedziały, oceniać logikę warunkową, zwracać użytkownikowi, a nawet wywoływać zewnętrzne usługi internetowe w celu to logika biznesowa. Sceny w połączeniu z intencjami to skuteczny sposób: wykrywać określone dane wejściowe użytkownika lub zdarzenia systemowe i przeprowadzać odpowiednie logikę logiczną.
Prompty definiują odpowiedzi statyczne lub dynamiczne, których używasz do odpowiadać użytkownikom.
Webhooki umożliwiają przekazywanie dodatkowej pracy usługom internetowym. (realizację), takich jak weryfikacja danych lub generowanie promptów. Twoje akcje komunikować się z realizacją za pomocą protokołu webhooka opartego na formacie JSON.
Interaktywny obszar roboczy umożliwia tworzenie bogatych treści i wciągające doświadczenia dzięki aplikacjom internetowym, które korzystają z języków HTML, CSS i JavaScript.
Utwórz projekt
Zanim zaczniesz programować – musisz utworzyć projekt w Konsoli Actions Asystenta Google. Aby utworzyć projekt:
- Otwórz konsolę działań.
- Kliknij Nowy projekt.
- Wpisz nazwę projektu i kliknij Create Project (Utwórz projekt).
- Na ekranie Jakie działanie chcesz utworzyć? wybierz wybierz kategorię, która najlepiej odpowiada Twojemu projektowi, i kliknij Dalej.
- Na ekranie Jak chcesz utworzyć wybierz sposób i kliknij Rozpocznij tworzenie. Możesz np. zacząć od pustego lub przykład.
Tworzenie projektu pakietu SDK Actions
Po utworzeniu projektu w Actions w konsoli Actions możesz zainicjować projekt w lokalnym środowisku programistycznym.
Aby zainicjować projekt pakietu Actions SDK z istniejącego projektu Actions, postępuj zgodnie z instrukcjami wykonaj te czynności:
- Utwórz pusty katalog dla projektu Actions w lokalnym systemie plików.
- W tym pustym katalogu utwórz katalog
sdk
. - Zmień katalog roboczy w terminalu na katalog
sdk
.
Zacznij od pustego projektu
Jeśli chcesz zacząć od pustego projektu utworzonego w konsoli,
uruchom gactions pull --project-id <my-project-id>
.
$ mkdir myAction $ cd myAction $ mkdir sdk $ cd sdk $ gactions pull --project-id my-project-id Pulling your project files from Draft for a project id: "my-project-id" ✔ Done. You should see the files written in path/to/myAction/sdk
Zacznij od przykładowego projektu
Jeśli chcesz zacząć od przykładowego projektu, uruchom gactions init <sample name>
.
$ mkdir actions-test $ cd actions-test $ mkdir sdk $ cd sdk $ gactions init question Writing sample files for question. ✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.
Zdefiniuj informacje o projekcie
Ustawienia i zasoby projektu definiują informacje o nim, takie jak obsługa cech i powierzchni, obsługiwane języki, wyświetlana nazwa, opis logo i inne elementy. W poniższej tabeli opisano główne ustawienia i zasoby podane przez Ciebie. Działanie Actions on Google informacje potrzebne do wdrożenia i opublikowania projektu w Asystencie Katalog.
Nazwa | Opis |
---|---|
Informacje o katalogu | Udostępnia informacje, dzięki którym Actions on Google może opublikować Twoje projekt w katalogu Asystenta. Obejmuje metadane i prześladowania o projekcie oraz zasobach graficznych do logo i obrazów banerów. |
Kierowanie na lokalizację | Konfiguruje języki, w których dostępne są akcje. |
Funkcje interfejsu | Konfiguruje platformy, na których akcje są dostępne. |
Informacje o firmie | Określa dane kontaktowe firmy. |
Weryfikowanie marki | Połącz swoją witrynę lub aplikację na Androida, aby uzyskać dodatkowe korzyści np. zarezerwowane nazwy wywołań i linki do witryn w Akcjach. |
Wersja | Konfiguruje różne wersje testowe i produkcyjne akcji do testowania i produkcji. |
Linki Asystenta | Zezwalaj użytkownikom na wywoływanie akcji z usług internetowych. |
Aby zdefiniować informacje o projekcie:
Określ ustawienia globalne projektu Actions w usłudze
sdk/settings/settings.yaml
. Zobacz Ustawienia dokumentacji dotyczącej obsługiwanych wartości.Ten fragment kodu zawiera przykładowy plik
sdk/settings/settings.yaml
:accountLinking: enableAccountCreation: true linkingType: GOOGLE_SIGN_IN category: GAMES_AND_TRIVIA projectId: my-project-id ...
Określ ustawienia, które mogą się różnić w zależności od regionu użytkownika (na przykład wyrażeń wywołania w różnych językach) w pliku
sdk/settings/<locale>/settings.yaml
, Zastąp język swoim regionem docelowym.Zobacz LocalizedSettings. dokumentacji dotyczącej obsługiwanych wartości.
Ten fragment to przykład ustawień języka angielskiego zdefiniowanych w Plik
sdk/settings/en/settings.yaml
:localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: https://path/to/large/banner privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: https://path/to/small/logo voice: female_1 ...
Dodaj zasoby
W
Projekt Actions i odwoływanie się do nich z plików konfiguracji (np. promptu)
definicje lub warunki) za pomocą zdefiniowanej przez system zmiennej $resources
.
Zasoby projektu są przechowywane w ramach organizacji resources/
, a każdy typ zasobów jest
przypisał(a) folder w katalogu.
Możesz lokalizować zasoby, tworząc foldery dla określonych ustawień regionalnych w zasobie
typu. Na przykład możesz przechowywać hiszpańskie wersje ciągów
resources/strings/es/<filename>.yaml
Obrazy
Pliki graficzne są przechowywane w usłudze resources/images/
, do których możesz się odwołać
dzięki $resources.images.<name of the image file without file extension>
.
Dozwolone rozszerzenia plików to:
gif
png
jpg
jpeg
Jeśli na przykład angielska wersja małego logo jest zapisana w
resources/images/en/square.png
, a duży baner w wersji angielskiej to
zapisano odpowiednio w folderze resources/images/en/landscape.jpg
,
sdk/settings/en/settings.yaml
z poprzedniego przykładu to:
localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: $resources.images.landscape privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: $resources.images.square voice: female_1 ...
Pliki audio
Pliki audio są przechowywane w usłudze resources/audio/
i możesz się do nich odwołać
dzięki $resources.audio.<name of the audio file without file extension>
.
Dozwolone rozszerzenia plików to:
mp3
mpeg
Możesz na przykład odwołać się do nagrań dźwiękowych z promptów:
candidates: - first_simple: variants: - speech: your speech response content: media: mediaType: audio mediaObjects: - name: media name description: media description url: $resources.audio.intro
Strings
Ciągi tekstowe są przechowywane w resources/strings/
jako pliki .yaml
. Każdy plik zawiera
mapa kluczy ciągu znaków i powiązanych z nimi wartości, które mogą być pojedynczymi ciągami znaków lub listami
ciągów tekstowych. Możesz odwołać się do wartości za pomocą
$resources.strings.<name of the image file without file extension>.<key>
dla pojedynczych wartości ciągu lub wybrać losową wartość z listy,
$resources.strings.<name of the image file without file extension>.<key>.<numerical index>
dla określonej wartości ciągu znaków na liście.
Na przykład użycie ciągów zasobów do lokalizacji ciągów znaków
Pole sdk/settings/en/settings.yaml
z poprzedniego przykładu mogłoby wyglądać tak:
localizedSettings: developerEmail: developer@developers.com developerName: $resources.strings.appinfo.developerName displayName: $resources.strings.appinfo.displayName fullDescription: $resources.strings.appinfo.fullDescription largeBannerImage: $resources.images.landscape privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl sampleInvocations: - $resources.strings.invocations.sample shortDescription: $resources.strings.appinfo.shortDescription smallLogoImage: $resources.images.square voice: female_1 ...
Testowanie projektów w symulatorze
W Konsoli Actions znajdziesz symulator do podglądu działań. pozwala wyświetlać dane debugowania, ustawiać możliwości urządzenia, symulować język itp.
Aby przetestować projekt:
- Uruchom
gactions deploy preview
, aby wdrożyć działanie na potrzeby „podglądu” i włącz za pomocą symulatora. - Otwórz adres URL w danych wyjściowych polecenia, aby uzyskać dostęp do symulatora.
$ gactions deploy preview Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes. Sending configuration files Waiting for server to respond. ✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview