Saltar al contenido

Comer servicios de API y llamar a libros web desde su chatbot

En este tutorial, creará un chatbot simple para verificar si el usuario ha ingresado un animal o un lugar o ambos: si es un animal, el chatbot mostrará un “hecho divertido” sobre el animal llamando a una API; si es así, el chatbot mostrará un mapa de Google llamando a un libro web.

  • El es Servicio API de consumo se utiliza una opción cuando necesita llamar a un servicio de API y capturar los resultados para usarlos en otras acciones como mensajería u otras llamadas de API. Puede enviar cualquier contenido físico que desee y el JSON se devuelve en el api_service_response variables, que luego puede usar en otras acciones.

  • El es Llamar a Webhook La opción se utiliza cuando necesita crear medios más complejos. De forma predeterminada, se envía el contexto de chat JSON completo (para aplicaciones POST) y el JSON web debe devolver el formato en el formato que se puede mostrar en la interfaz de usuario del chatbot (consulte Obtener una respuesta mediante un webhook). El siguiente tutorial de este grupo le mostrará cómo crear su propio libro web diseñado para una llamada de chatbot.

Desde el punto de vista de la función, las dos formas de llamar a una API son las mismas excepto:

Para obtener más información sobre cómo realizar llamadas desde su chatbot, consulte Póngase en contacto con el servicio externo.


Paso 1: crea un chatbot simple

Crearás un bot muy simple que permitirá al usuario especificar un animal o ubicación.

  1. Crea un nuevo bot y llámalo apidemo. Utilice los siguientes valores:

    Nombre del campoValor
    1. ¿Qué quieres que haga tu chatbot?Tomando acciones
    2. Habilidades predefinidasDadá
    3. Crea tu bot
    • Nombre: apidemo
    • Suelte: Bot para probar API y libros web
    • Idioma: inglés
    4. Política de datosImpersonal y No vulnerable
    5. Visibilidad del botPúblico

    Hacer clic Crear un bot.

  2. Sa Tren pestaña, crea un secreto llamado asky agregue la expresión Estoy interesado en.

    Dado que solo definimos un secreto, este secreto siempre se activará cuando el usuario escriba un mensaje.

  3. Sa Tren pestaña, cree una entidad restringida llamada animal y agregue 4 valores válidos: gato, caballo, Caracol, madra.

  4. Abre el Examen pestaña y prueba el bot. No importa el tipo que escribas ask.

    Ingresar dog y reconocerá el animal entidad.

    Animal

    Ingresar New York City y reconocerá el incorporado location entidad.

    Localización

Hecho

Inicie sesión para responder la pregunta

Paso 2: agregar habilidad

  1. Sa Construcción pestaña, crea una habilidad llamada respondery ábralo.

  2. Sobre Disparadores, establezca la condición en: If @ask is-present.

  3. Sobre Requisitos, especifique ambos #animal y #locationy hacer que el operador sea lógico O.

    Requisitos

    Clickea en el Nuevas respuestasy agregue el siguiente mensaje de texto, y luego haga clic en Salvar y atrás:

    I can give you info on an animal, or a map of a location.
    
    Enter an animal or a location.
    

    Este mensaje se muestra si faltan los requisitos.

  4. Abierto Chatea con tu bot.

    Ingrese cualquier cosa que no sea un sitio o un animal, como Hi. Esto estimulará nuestra habilidad, pero los requisitos no estarán allí, por lo que la respuesta se enviará cuando falten los requisitos.

    Luego entra uno de los animales. Ahora se cumplen los requisitos, pero no definimos una respuesta, por lo que la respuesta predeterminada No responde lanzado.

    Prueba de habilidad

Hecho

Inicie sesión para responder la pregunta

Paso 3: agregar llamada a la API

Ahora llamará a una API para devolver un dato divertido sobre el animal que especifique.

La API que utilizará es sencilla, por lo que podemos centrarnos en el lado de la IA de SAP Chat. Es creado por Alex Wohlbruck y trae un dato divertido sobre los animales. Mira https://alexwohlbruck.github.io/cat-facts/docs/.

  1. Ir a tu answer habilidad, y abra el Comportamiento pestaña.

  2. Hacer clic Agregar nuevo grupo de mensajes.

  3. Hacer clic Agregar condición y arreglar la condición para If #animal is-present.

    Condición de habilidad

  4. Hacer clic Conectar servicio externo Servicio API de consumo.

    • Establezca el modo HTTP en OBTENER.

    • Ingrese la URL:

      https://cat-fact.herokuapp.com/facts/random?animal_type={{memory.animal.raw}}
      

      En la URL usamos la sintaxis de secuencias de comandos para vincular al animal de la memoria. El animal tiene memoria porque tiene todas las entidades esenciales que hemos agregado a las habilidades en la memoria.

    • Sobre Responder, ingrese el espacio de nombres: funfact

    • Hacer clic Salvar.

    Agregar una llamada a la API

  5. Hacer clic Enviar un mensaje, Seleccione Textoy establezca el texto del mensaje en:

    {{api_service_response.funfact.body.text}}
    
  6. Hacer clic Actualizar conversación Reiniciar chaty haga clic en Salvar.

    Reiniciamos la memoria para que puedas ingresar un nuevo animal. De lo contrario, el chatbot usaría el valor existente para la entidad animal.

Para obtener más información sobre la sintaxis del chatbot, consulte Scripting con variables.

Hecho

Inicie sesión para responder la pregunta

Paso 4: prueba la llamada a la API

Abierto Chatea con tu bote ingrese cualquier texto, así como animales.

Prueba de API

Hecho

Inicie sesión para responder la pregunta

Paso 5: haz una llamada web

Ahora llamará a un libro web diseñado para obtener el chat del chatbot (como JSON) y realizar un procesamiento personalizado.

El sitio web que utilizará es una demostración de webhook de Python que se utiliza en SAP Business Technology Platform. Puedes ver el código del libro web aquí. Blog.

  1. Sa answer habilidad, haga clic Agregar nuevo grupo de mensajes.

  2. Hacer clic Agregar condición y arreglar la condición para If #location is-present.

  3. Hacer clic Conectar servicio externo Llamar a Webhook.

  4. Hacer clic Actualizar conversación Reiniciar chaty haga clic en Salvar.

Webhook

Tenga en cuenta que no creó un mensaje para el libro web. Esto se debe a que el servidor web proporciona la respuesta en la sintaxis que entiende SAP Conversational AI; consulte Obtener una respuesta mediante un webhook. Por supuesto, puede proporcionar mensajes adicionales en este grupo de mensajes.

Hecho

Inicie sesión para responder la pregunta

Paso 6: prueba la llamada web

Abierto Chatea con tu bote ingrese una ubicación, como Nueva York.

Prueba de webhook

Una característica más: puede definir la URL inferior que se utilizará en llamadas API y llamadas web. Ir a los chatbots Ajustes Versiones | Generador de bots.

Luego, para la URL de cada API o llamada web, puede ingresar la ruta, comenzando con ella /.

URL Bonn

Hecho

Inicie sesión para responder la pregunta