Google Dialogflow: Rise of the Machines

Pedro Manuel Ramos Rodríguez

DevFest Las Palmas

@pramos90

Índice de contenidos

  • Sobre mi
  • ¿Qué es Dialogflow?
  • ¿Cómo funciona Dialogflow?
  • ¿Lenguajes para programar con Dialogflow?
  • ¿Cómo empezar?
    • Intenciones
    • Entidades
    • Tipos de respuestas
  • Actions On Google
    • Lenguaje SSML
    • Tipos de respuesta
  • Seguridad
  • Trabajo realizados
  • Empresas y servicios que usan Actions On Google

DevFest Las Palmas

@pramos90

@pramos90

DevFest Las Palmas

Pedro Manuel Ramos Rodríguez

Graduado en Ingeniería Informática ULL.

Full Stack Developer.

Amante de la visualización de datos.

 Aprendiz de data science / machine learning

@pramos90

DevFest Las Palmas

@pramos90

DevFest Las Palmas

¿Qué es Dialogflow?

Herramienta de Google para el desarrollo de agentes o bots

  • Google Assistant.
  • Facebook Messenger.
  • Slack.
  • Viber.
  • Twitter.
  • Telegram.
  • Twilio.
  • LINE.
  • Amazon Alexa.
  • Cortana.

@pramos90

DevFest Las Palmas

¿Qué es Dialogflow?

@pramos90

DevFest Las Palmas

Dialogflow

¿Cómo funciona Dialogflow?

@pramos90

DevFest Las Palmas

Dialogflow

Disponibilidad de múltiples SDK

  • Node Js: npm install dialogflow
  • Python: pip install dialogflow
  • Java
  • Go: go get cloud.google.com/go/dialogflow/apiv2
  • Ruby: gem install api-ai-ruby
  • C#: nuget install Google.Cloud.Dialogflow.V2
  • PHP: composer require google/cloud-dialogflow

¿En qué programar el agente?

@pramos90

DevFest Las Palmas

Dialogflow

  • Intenciones.
  • Entidades.
  • Fulfillment.
  • Integrations.

¿Cómo empezar?

@pramos90

DevFest Las Palmas

Dialogflow

¿Cuando es el DevFest Las Palmas?

Háblame sobre el DevFest Las Palmas

Intents

@pramos90

DevFest Las Palmas

Dialogflow

Quiero un café con dos de azúcar

Entities

@pramos90

DevFest Las Palmas

Dialogflow

  • Text Response.
  • Image Response.
  • Card.
  • Quick replies.
  • Custom playload.

Tipos de respuesta

@pramos90

DevFest Las Palmas

Dialogflow

Tipos de respuesta. Text Response, image response

 

"messages": [
  {
    "platform": "facebook",
    "speech": "Text response",
    "type": 0
  }
]
"messages": [
  {
    "imageUrl": "http://urltoimage.com",
    "platform": "facebook",
    "type": 3
  }
]

@pramos90

DevFest Las Palmas

Dialogflow

Tipos de respuesta. Card response

 

 

"messages": [
  {
    "buttons": [
      {
        "postback": "Card Link URL or text",
        "text": "Card Link Title"
      }
    ],
    "imageUrl": "http://urltoimage.com",
    "platform": "facebook",
    "subtitle": "Card Subtitle",
    "title": "Card Title",
    "type": 1
  }
]

@pramos90

DevFest Las Palmas

Dialogflow

Tipos de respuesta. Quick reply

 

 

"messages": [
  {
    "platform": "facebook",
    "replies": [
      "Quick reply 1",
      "Quick reply 2",
      "Quick reply 3"
    ],
    "title": "Quick Reply Title",
    "type": 2
  }
]

@pramos90

DevFest Las Palmas

Dialogflow

Tipos de respuesta. Custom payload

@pramos90

DevFest Las Palmas

Actions On Google

Tipos de respuesta. Google Assistant

  • Simple Response.
  • Basic Card.
  • Browsing Carousel.
  • Suggestions Chip.
  • Media Responses.
  • Table Card.
  • List.
  • Carousel.

@pramos90

DevFest Las Palmas

Dialogflow

Tipos de respuesta. Google Assistant

<speak>
  Here are <say-as interpret-as="characters">SSML</say-as> samples.
  I can pause <break time="3s"/>.
  I can play a sound
  <audio src="https://www.example.com/MY_MP3_FILE.mp3">didn't get your MP3 audio file</audio>.
  I can speak in cardinals. Your number is <say-as interpret-as="cardinal">10</say-as>.
  Or I can speak in ordinals. You are <say-as interpret-as="ordinal">10</say-as> in line.
  Or I can even speak in digits. The digits for ten are <say-as interpret-as="characters">10</say-as>.
  I can also substitute phrases, like the <sub alias="World Wide Web Consortium">W3C</sub>.
  Finally, I can speak a paragraph with two sentences.
  <p><s>This is sentence one.</s><s>This is sentence two.</s></p>
</speak>

Simple Response usando SSML

@pramos90

DevFest Las Palmas

Dialogflow

Tipos de respuesta. Google Assistant

Basic card, browsing carousel, suggestionchip, media responses y table card.

@pramos90

DevFest Las Palmas

Dialogflow

Tipos de respuesta. Google Assistant

List y carousel.

@pramos90

DevFest Las Palmas

Dialogflow

@pramos90

DevFest Las Palmas

Dialogflow

@pramos90

DevFest Las Palmas

Dialogflow

@pramos90

DevFest Las Palmas

Dialogflow

@pramos90

DevFest Las Palmas

Dialogflow

@pramos90

DevFest Las Palmas

Dialogflow

@pramos90

DevFest Las Palmas

Seguridad en Actions On Google

Account Linking

  • Oauth
    • Oauth 2.0
  • Google Sign-in

@pramos90

DevFest Las Palmas

Seguridad en Actions On Google

Account Linking

@pramos90

DevFest Las Palmas

Trabajos realizados con Dialogflow

  • Agente para videojuego clash royale
  • Agente para buscar ofertas de trabajo para desarrolladores
  • Agente para el evento del Pyday2018

@pramos90

DevFest Las Palmas

Trabajos realizados con Dialogflow

Clash Royale Decks

Buscador Ofertas Trabajo

@pramos90

DevFest Las Palmas

Trabajos realizados con Dialogflow

Agente para el evento Pyday2018

@pramos90

DevFest Las Palmas

Quién usa Action on Google

@pramos90

DevFest Las Palmas

Fin

¿Preguntas?

/PedroRamosRguez

DEVFESTLP

By Pedro Ramos

DEVFESTLP

  • 855