Inhoudsopgave:
- Stap 1: Stel uw Google-accountmachtigingen in
- Stap 2: Creëer uw actie
- Stap 3: Actie-aanroep
- Stap 4: Voeg uw eerste actie toe
- Stap 5: Zinnen trainen voor uw intentie
- Stap 6: Entiteiten
- Stap 7: actie en parameters
- Stap 8: Vervulling
- Stap 9: Welkom Intentie
- Stap 10: Uw Python-webservice
- Stap 11: Test uw actie
- Stap 12: Laat uw actie los
Video: Aangepaste acties maken voor de Google Assistent: 12 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Toen ik het potentieel zag van Google Assistant zoals het werd gepresenteerd in Google I/O 18 en Volvo Cars in hun infotainmentsysteem, kon ik het niet laten om het uit te proberen. Ik heb een van mijn oudere projecten, VasttraPi, opnieuw gebruikt en gekoppeld aan Google Assistant. Als je meer wilt lezen over het project, zou ik het leuk vinden als je een kijkje neemt in het gerelateerde artikel op mijn blog: Aangepaste acties voor Google Assistant.
In deze Instructable bespreken we de stappen die nodig zijn om uw eigen Google Assistent-actie te starten die met uw server zal communiceren en met u zal terugpraten, met vermelding van aanstaande vertrekken. Houd er rekening mee dat we de SDK niet gaan gebruiken, omdat we dit volledig in Google Assistant uitvoeren en niet op ons eigen apparaat. Over het algemeen wordt het simpel gehouden. Je actie is bruikbaar op apparaten die Google Assistent ondersteunen, zoals telefoons, tablets, thuisassistenten en wearables, en je kunt deze zelfs delen zoals je zou doen met een app in de Play Store!
Een van de belangrijkste voordelen van het maken van zoiets ten opzichte van het gebruik van services zoals IFTTT, is dat u aangepaste antwoorden op uw server kunt maken die door Google Assistant worden gelezen. In IFTTT is de communicatie wat mij betreft eenrichtingsverkeer.
De volgende onderwerpen komen aan bod:
- Uw eerste Action-project maken
- Uw aangepaste intentie maken
- Uw aangepaste entiteit maken
- Een webhook instellen om uw actie uit te voeren
- Het opzetten van een eenvoudige REST-server, geschreven in Python met Flask, die de antwoorden of "vervulling" zal bieden
- Uw Action-project testen
- Je Action-project vrijgeven
Hier vind je niet veel details of theorie over de verschillende Google Assistant functies en concepten. Als je hierin geïnteresseerd bent, raad ik je ten zeerste aan de officiële tutorial te volgen of deze video te bekijken.
Stap 1: Stel uw Google-accountmachtigingen in
Voordat we beginnen, moeten we ervoor zorgen dat de Google Assistent over de juiste machtigingen beschikt.
- Ga naar Activiteitsbediening
-
Zorg ervoor dat het volgende is ingeschakeld:
- Web- en app-activiteit
- Apparaat informatie
- Spraak- en audioactiviteit
Stap 2: Creëer uw actie
- Ga naar Actions Console en klik op "Project toevoegen/importeren"
- Laten we dit Actions-project "local-traffic-planner" noemen.
- Klik op "Project maken".
- Kies op de volgende pagina geen categorie en klik op "Overslaan".
- U zou nu op de hoofdpagina van Actions Console moeten zijn.
Stap 3: Actie-aanroep
Bepaal hoe je de Google Assistent wilt activeren om je actie te starten.
- Klik op "Bepalen hoe uw actie wordt aangeroepen" onder "Snelle configuratie".
- Noem het "Mijn lokale verkeersplanner" en klik op "Opslaan".
-
Klik op de prompt "UPDATE SAMPLE INVOCATIONS" die verscheen nadat u op opslaan had geklikt.
U vindt deze optie ook onder "Directory Information"
- Voeg "Vraag het aan mijn lokale verkeersplanner" toe als een nieuwe aanroep en klik op "Opslaan".
Stap 4: Voeg uw eerste actie toe
- Klik op "Acties" in de linkerbalk.
- Klik op "JE EERSTE ACTIE TOEVOEGEN".
- Selecteer "Aangepaste intentie" en klik vervolgens op "Build".
- U wordt naar de Dialogflow-pagina geleid, waar u de hoofdlogica gaat implementeren.
Stap 5: Zinnen trainen voor uw intentie
- Kies uw tijdzone en klik op "Maken".
- Laat op de volgende pagina de bestaande intenties staan en klik op "CREATE INTENT".
- Geef de intentie een redelijke naam, namelijk "vertrek".
- Ga naar "Trainingszinnen" en klik op "Voeg trainingszinnen toe".
-
Gebruik de volgende zinnen om uw model te trainen zodat het kan interpreteren wat u het vertelt:
- Ik ben nu thuis
- Voorlopig ben ik thuis
- Ik ben op dit moment in ons appartement
- ik zit thuis
- Momenteel ben ik bijna aan het werk
- ik ben op mijn werk
- ik ben op kantoor
- Werk
- Huis
Stap 6: Entiteiten
Nu je hebt gespecificeerd wat min of meer als invoer moet worden verwacht, moeten we definiëren welke delen van de invoer van belang zijn voor onze bedrijfslogica, zodat ze kunnen worden geëxtraheerd en naar onze server kunnen worden gemarkeerd. In ons geval willen we weten of de gebruiker thuis of op het werk is, zodat we terug kunnen reageren met de vertrektijden vanaf het specifieke station. Laten we kijken hoe we dat kunnen doen.
- Als u dubbelklikt op een of meer woorden van de trainingsfrases, krijgt u een lijst met vooraf gedefinieerde entiteiten. U kunt hier meer over elk van hen lezen. Over het algemeen zou @sys.location het meest geschikt zijn, maar ik denk dat het het beste en gemakkelijkste is als we onze eigen entiteit creëren die we @current-location zouden moeten noemen.
- Klik op de optie "Entiteiten" aan de linkerkant.
- Klik op "ENTITEIT MAKEN".
-
Stel de naam in op "huidige locatie" en definieer twee referentiewaarden samen met hun synoniemen:
-
huis
thuis, huis, appartement, wieg
-
werk
werk, kantoor, Aptiv, codemijnen (lol grapje)
-
- Klik op 'Opslaan'. Voor extra effect kun je ook op 'Automatische uitbreiding toestaan' klikken om Google Assistent meer vrijheid te geven om te proberen meer synoniemen aan je referentiewaarden te koppelen.
Stap 7: actie en parameters
Tijd om wat betekenis te geven aan de trefwoorden in uw trainingszinnen.
- Klik op "Intenties" en navigeer vervolgens naar uw aangepaste intentie, d.w.z. "vertrekken" als u mijn naamsuggesties hebt gevolgd.
- Scroll naar beneden naar "Trainingzinnen".
- Dubbelklik op de woorden die uw huidige locatie aangeven en kies de tag @current-location in het pop-upvenster.
- Scroll naar beneden naar "Acties en parameters", klik op "beheren"
- Als alles correct is gedaan, ziet u dat uw nieuwe entiteit daar wordt vermeld.
- Vink het vakje "Vereist" aan waardoor een nieuwe kolom "Prompts" verschijnt. Prompts is wat de gebruiker te horen krijgt als er niets is geleverd dat overeenkomt met de verwachting.
- Klik op "Definieer prompts" en voeg iets in als "Ik heb je locatie niet begrepen. Waar ben je op dit moment?".
Stap 8: Vervulling
Nu is het tijd om uw webservice aan de Google Assistant Action te koppelen. Je hook wordt aangeroepen wanneer deze specifieke intentie wordt geactiveerd en zou de vervulling van deze actie moeten opleveren. Daarvoor willen we ook onze intentie stellen om de actie af te ronden nadat deze is vervuld.
- Ga naar "Reacties" en klik op "ANTWOORD TOEVOEGEN".
- Voeg geen reacties toe, schakel gewoon "Stel deze intentie in als einde gesprek" in.
- Scroll naar beneden naar "Fulfillment" klik op "ENABLE FULFILLMENT" en schakel vervolgens de "Enable webhook call for this intent" in.
- Klik op "Opslaan" en ga vervolgens naar de optie "Vervulling" aan de linkerkant.
-
Schakel de optie "Webhook" in en voer de URL in die door uw webserver wordt "geluisterd".
Telkens wanneer de intentie wordt geactiveerd, wordt een POST-verzoek naar uw website verzonden met de hoofdtekst van het verzoek met een JSON-object met de huidige locatie van de gebruiker
- Klik op Opslaan.
- Nu zijn we klaar om onze webservice te maken, maar laten we er eerst voor zorgen dat onze Action ons op een goede manier verwelkomt.
Stap 9: Welkom Intentie
Om de gebruikerservaring aan te passen, moeten we een passende begroeting voor ons creëren wanneer we onze actie activeren.
- Ga naar "Intents" en klik vervolgens op "Default Welcome Intent".
- Scroll naar beneden naar "Reacties", verwijder de bestaande en voeg in wat je wilt, je actie hoe je welkom te heten zodra deze is gestart.
- Klik op "Opslaan".
Stap 10: Uw Python-webservice
Laten we een snelle en vuile Python-server maken met Flask. Geen screenshots voor deze stap, maar het zou vrij eenvoudig moeten zijn.
- Open een nieuw tabblad en maak een account aan op pythonanywhere.com
- Controleer je email.
- Stel uw webapplicatie in door op "Webtabblad openen" te klikken.
- Klik op "Een nieuwe web-app toevoegen" en selecteer "Flask" als uw Python-webframework.
- Selecteer Python 3.6 en klik op "Volgende".
- Kies het pad waarin u uw "flask_app.py" wilt hebben. Ik plaatste het direct in mijn thuismap als "/home/uw-gebruikersnaam/flask_app.py".
- Ga terug naar de hoofdpagina door op het Python-logo in de linkerbovenhoek te klikken.
- Klik onder bestanden op "flask_app.py" om het te bewerken.
- Wanneer de webteksteditor wordt geopend, plakt u de volgende code en klikt u op "Opslaan". Het algemene idee is dat onze server, afhankelijk van de geparseerde JSON die van Google Assistant komt, een actie zal uitvoeren (bijv. lezen of schrijven) en deze als reactie zal rapporteren /fulfillment dat aan de gebruiker moet worden voorgelezen.
- Klik nogmaals op "Webtabblad openen" en vervolgens op de groene "Reload-knop".
- Inmiddels zou je eigen Python-webserver moeten draaien op "https://your-username.pythonanywhere.com/departures".
Stap 11: Test uw actie
Oké, je bent nu zo goed als klaar. Laten we nu de hele stapel testen en dit "Hallo wereld" voorbeeld werkend krijgen!
- Klik op "Integraties" in de linkerzijbalk.
- Klik op "Integratie-instellingen" onder de Google Assistent-optie.
- Voeg onder 'Impliciete aanroeping de naam van uw intentie toe, d.w.z. 'vertrek', zodat deze direct kan worden geactiveerd door iets te zeggen als 'Hey Google, praat met mijn lokale verkeersplanner over vertrek vanaf huis'.
- Schakel "Auto-preview" wijzigingen in.
- Klik op "Test" om een nieuwe pagina te openen.
- Typ "Praat met mijn lokale verkeersplanner".
- Uw actie moet worden aangeroepen, die u zou moeten begroeten met een van de eerder ingestelde welkomstintentiereacties.
- Typ vervolgens "Ik ben aan het werk". Er moet contact worden opgenomen met uw Python-server en het antwoord wordt gelezen door Google Assistant.
Cool is het niet? Stel je nu voor wat je kunt doen met sensoren, actuatoren en andere API's via je Google Assistent.
Stap 12: Laat uw actie los
Nadat je klaar bent met het testen van je Action en het in goede staat is, is het tijd om de liefde met de wereld te delen of, als dat geen zin heeft, met je vrienden en familie.
- Ga terug naar je Actions-console en selecteer je lokale verkeersplanneractie.
- Klik onder "Gereed voor implementatie" op "Voer vereiste informatie in om uw actie op te nemen in de map Acties".
- Voer een korte beschrijving, een langere beschrijving, een klein logo, je contactgegevens, een link naar het privacybeleid in (als je dit niet openbaar gaat delen, plaats dan gewoon een link naar je website of zoiets) en een categorie.
- Scroll naar boven en klik op "Opslaan".
- Klik op de optie "Release" in de linkerzijbalk.
- Hier kun je kiezen in welke staat je Actie zich bevindt. Als je het antwoord "Laten we de testversie van Mijn lokale verkeersplanner ophalen" niet wilt horen, moet je een volwaardige openbare release maken. Dat vereist echter een beoordeling door Google en wordt in deze tutorial niet behandeld. In plaats daarvan kun je dit nog steeds met maximaal 20 mensen delen door een Alpha-release te kiezen en ze toe te voegen als Alpha-testers.
- Voeg alfatesters toe door ze een link te sturen of hun e-mails toe te voegen.
- Klik op "VERZENDEN VOOR ALPHA", vink de vakjes aan, klik op "VERZENDEN" en je bent klaar!
Je actie is nu live en toegankelijk voor jou en je vrienden. Veel plezier!
Als je geïnteresseerd bent in de code die ik heb gebruikt, bekijk dan het project op GitHub.
Aanbevolen:
Aangepaste kaarten maken voor uw Garmin GPS - Ajarnpa
Maak aangepaste kaarten voor uw Garmin GPS: als u een Garmin GPS heeft die is ontworpen voor wandelen en andere buitenactiviteiten (waaronder de GPSMAP-, eTrex-, Colorado-, Dakota-, Oregon- en Montana-serie, onder een paar andere), hoeft u dat niet te doen. genoegen nemen met de kale kaarten die er vooraf op waren geladen. e
Aangepaste LED-strips maken: 4 stappen (met afbeeldingen)
Maak aangepaste LED-strips: ik heb onlangs een infinity-spiegelkubus gemaakt en ik wilde deze een specifieke maat hebben met een specifiek aantal LED's. Geen van de LED-strips die ik kon vinden had de juiste eigenschappen voor wat ik wilde, dus maakte ik er zelf een. Deze strips zijn niet v
Aangepaste PCB-vormen maken (met Inkscape en Fritzing): 4 stappen (met afbeeldingen)
Aangepaste PCB-vormen maken (met Inkscape en Fritzing): Als u een beginner bent en een PCB met aangepaste vorm nodig hebt … en deze in de kortst mogelijke tijd nodig hebt … OF als u geen tijd wilt besteden aan veel tijd om te leren werken met geavanceerde software, omdat je uiteindelijk een bord of andere maakt … deze
Arduino IDE: aangepaste borden maken: 10 stappen
Arduino IDE: aangepaste borden maken: de afgelopen zes maanden heb ik veel tijd besteed aan het overzetten van verschillende bibliotheken naar het Robo HAT MM1-bord, ontwikkeld door Robotics Masters. Dit heeft geleid tot het ontdekken van veel over deze bibliotheken, hoe ze achter de schermen werken en vooral
Google Assistent voor pc/Mac/Linux: 5 stappen
Google Assistant voor pc/Mac/Linux: Google Assistant is Google's antwoord op Amazon's Alexa smart home-assistent. Aanvankelijk alleen beschikbaar met beperkte functionaliteit in de Google Allo-applicatie, Google Assistant later uitgerold met de Google Home- en Pixel-smartphones