Integra GPT-3 con tu bot de Oct8ne (¡en cinco minutos!)

 In Novedades Oct8ne

GPT-3 (Generative Pre-trained Transformer versión 3) es un modelo de deep learning desarrollado por OpenAI (www.openai.com) enfocado al proceso de lenguaje natural, que ha sido entrenado con una gran cantidad de información y es capaz de “comprender” textos que le suministramos para contestar a preguntas, clasificar datos, detectar intenciones, reescribir textos o traducirlos a otros idiomas, por citar algunas de sus utilidades. 

Esto es lo que tendrás que hacer para integrarlo a Oct8ne: 

  1. Crear una cuenta en OpenAI y obtener una clave de acceso a la API.
  2. Modelar una conversación en el diseñador de Oct8ne que solicite al usuario el texto de entrada al chat GPT3 y mostrar la respuesta obtenida utilizando la API de OpenAI.

Veámoslo paso a paso:

1. Crear una cuenta en OpenAI y obtener una API key

Para tener acceso a la API de OpenAI, basta con visitar su sitio web en https://openai.com/api/ y registrarse como usuario. El registro es gratuito, aunque podremos utilizar la plataforma un número limitado de veces; a partir de ahí, para continuar será necesario contratar una cuenta de pago.

Tras el registro, debemos acceder al menú API keys, donde usaremos el botón “Create a new secret key” para generar una nueva clave de acceso a la API.

Debemos anotar esta clave porque la utilizaremos más adelante.

unnamed 3

2. Modelar la conversación

Usando el diseñador de bots de Oct8ne, vamos a crear una conversación sencilla, en la que únicamente solicitaremos al usuario la consulta a realizar al modelo GPT-3 de OpenAI y mostraremos la respuesta, finalizando la conversación en ese momento.

Para ello, usaremos la acción “Pedir datos” del diseñador del bot para solicitar el texto al usuario. La información introducida la guardaremos en la variable “consulta”:

blogpostes1

A continuación, insertamos en la conversación una acción “Petición HTTP”. Esta acción permite enviar o solicitar información de sistemas externos que dispongan de una API pública, como es el caso de OpenAI.

blogpostes2

La acción “Petición HTTP” debemos configurarla con los siguientes aspectos básicos:

  • El verbo debe ser “POST”
  • La URL debe ser la proporcionada por OpenAI para la API, que en este caso es “https://api.openai.com/v1/completions”.
  • Para el cuerpo de la petición debemos seleccionar la opción “application/json”, y en el área de texto utilizar el siguiente contenido:

{

   «model»: «text-davinci-003»,

   «prompt»: «<var>consulta</var>»,

   «temperature»: 0,

   «max_tokens»: 300

}

Los valores que estamos suministrando indican que el modelo de GPT-3 que vamos a utilizar en la consulta es “text-davinci-003”, que es el más potente de los modelos genéricos de base preentrenados que proporciona OpenAI. Pero podríamos usar otros modelos disponibles o incluso modelos entrenados de forma personalizada, para cubrir escenarios más específicos.

El “prompt” es el texto que vamos a enviar a la API. Como se puede observar, en este caso introducimos el contenido de la variable “consulta”, que es justamente donde hemos almacenado el texto introducido por el usuario.

Con el parámetro “temperature” regulamos el grado de creatividad o aleatoriedad de las respuestas de GPT-3. Podemos indicar valores entre cero y uno, donde cero arrojará resultados más previsibles, mientras que uno permitirá devolver respuestas más creativas (aunque también con más probabilidad de resultar erróneas).

Por último, “max_tokens” permite limitar el tamaño de las respuestas. Hay que tener en cuenta que la API de OpenAI tiene costes en función del tamaño de los textos que enviamos y recibimos, por lo que es una forma de controlar que no se dispare el gasto.

Una vez configurados estos puntos, aún debemos establecer dos configuraciones más en la acción “Petición HTTP”:

  • En la sección “Encabezados petición” debemos añadir un encabezado llamado “Authorization” cuyo valor ha de ser la clave de uso de la API que hemos obtenido anteriormente desde el sitio web de OpenAI.
  • En la sección “Mapeo respuesta”, añadir un mapeo para que la variable “respuesta” se cargue con el contenido del campo “choices[0].text” retornado por la API.

blogpostes3

A continuación, y ya para finalizar, debemos mostrar el resultado al usuario. Esto consiste únicamente en añadir una acción de tipo “Chat” incluyendo el resultado obtenido desde la API en la interfaz de la conversación (ya sea web WhatsApp, Messenger, etc.) Finalmente, enlazaremos una acción “Fin” para que la conversación se dé por finalizada en ese mismo instante, aunque también podríamos optar por volver a la acción “Pedir datos” para permitir que el usuario vuelva a realizar una consulta. Algo más abajo veremos un ejemplo de ello.

blogpostes4

¡Y eso es todo! Si en este momento lanzamos el bot, podremos comprobar que está listo para atender a nuestras consultas, ofreciendo siempre resultados asombrosos.

blogpostes5

Un ejemplo más completo

La siguiente conversación refleja básicamente los pasos que hemos descrito más arriba, aunque hemos añadido un “envoltorio” para hacer el resultado más profesional e interactivo de cara a los usuarios. Comenzamos la conversación saludando al visitante, y luego le indicamos que puede introducir la consulta, o “fin” para finalizar la charla.

En caso de que desee finalizar, simplemente llevaremos el flujo hacia la acción “Fin”, que cerrará la conversación. En otro caso, utilizaremos la acción “Petición HTTP” para enviar el texto introducido a OpenAI y esperar la respuesta, que quedará almacenada en la variable llamada “response”. Luego, volveremos al punto de inicio para volver a solicitar otro texto de entrada al usuario, de nuevo, hasta que introduzca el texto “fin”.

blogpostes6

Al lanzar el bot, podremos tener conversaciones tan interesantes como las siguientes:

blogpostes7

 

Recent Posts
rsz diseno sin titulo 1 1 e1652438987782cover blog entrevista fede caso stikets