Tworzenie projektów

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.

komponenty projektu działań
Rysunek 1. Struktura projektu w Actions
.

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:

  1. Otwórz konsolę działań.
  2. Kliknij Nowy projekt.
  3. Wpisz nazwę projektu i kliknij Create Project (Utwórz projekt).
  4. Na ekranie Jakie działanie chcesz utworzyć? wybierz wybierz kategorię, która najlepiej odpowiada Twojemu projektowi, i kliknij Dalej.
  5. 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:

  1. Utwórz pusty katalog dla projektu Actions w lokalnym systemie plików.
  2. W tym pustym katalogu utwórz katalog sdk.
  3. 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:

  1. 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
    ...
    

  2. 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.

Rysunek 3. Główne obszary symulatora: (1) dane wejściowe użytkownika, (2) widok urządzenia, (3) opcje i ustawienia oraz (4) dziennik rozmowy.

Aby przetestować projekt:

  1. Uruchom gactions deploy preview, aby wdrożyć działanie na potrzeby „podglądu” i włącz za pomocą symulatora.
  2. 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