Todos los probadores de chatbots sueñan con dos botones. Uno para detectar todos los problemas de un chatbot y otro para solucionarlos todos.
Con OpenAI pudimos agregar algunas características interesantes a Botium Box que van en esa dirección.

  • Estamos usando Open AI para adivinar cuál puede ser el próximo mensaje en la conversación.
  • Integramos un nuevo parafraseador multilingüe que se arriesga al generar nuevas alternativas.

A continuación, te contamos algunos consejos y casos de uso que aprendimos al desarrollar esas funciones.


Tabla de contenidos

Normalizar texto

La documentación de OpenAI dice que es mejor comprobar los errores ortográficos en el texto. Pero podemos continuar. El texto debe ser lo más estricto posible. Algunas muestras:

  • Evita el uso de entra. Por ejemplo, podemos confundir OpenAI si permitimos una nueva línea en la sección «humana» de un chat.
  • Termina las oraciones con puntos. (OpenAI lo tratará como una oración, no lo continuará, por ejemplo)
  • Evita la información innecesaria. Por ejemplo, distinguimos entre el usuario que escribe el texto «pizza», o simplemente presiona el botón «pizza». El segundo es algo como esto: «botón #usuario: pizza» para nosotros. Pero esta información puede ser confusa para OpenAI, es mejor usar solo «#user pizza».

Usa enter al final del mensaje correctamente

Esto:

"Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: Can I ask you"

y esto:

Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: Can I ask you

Es una gran diferencia para OpenAI, pero es solo una entrada adicional. En el primer caso, OpenAI continúa el mensaje humano, en el segundo genera un nuevo mensaje de IA.

Traductor multilingue

Construir un traductor multilingüe no es difícil. Hay una muestra para traductor en el patio de juegos de OpenAI. Podemos utilizar los mismos parámetros y estructura de datos, pero con muestras multilingües:

English: See you later!
French: À tout à l'heure!
German: Ich möchte Geld überweisen.
English: I want to transfer money.
Russian: Я хотел бы заказать пиццу.
German:

Eso funciona bien, pero tenemos que definir explícitamente el idioma del texto fuente. Superaremos esta restricción en el siguiente paso.

Traductor multilingüe, no se especifica el idioma básico

Para hacerlo, tenemos que reestructurar un poco el prompt:

Text: See you later!
LanguageOfResult: French
Result: À tout à l'heure!
Text: Ich möchte Geld überweisen.
LanguageOfResult: English
Result: I want to transfer money.
Text: Я хотел бы заказать пиццу.
LanguageOfResult: German
Result:

Pero juguemos con eso un poco más.

Traductor multilingüe y detector de idiomas

Si agregamos un nuevo campo, entonces podemos pedirle a OpenAI que detecte el idioma:

Text: See you later!
LanguageOfResult: French
Result: À tout à l'heure!
LanguageOfText: English

Text: Ich möchte Geld überweisen.
LanguageOfResult: English
Result: I want to transfer money.
LanguageOfText: German
Text: Я хотел бы заказать пиццу.
LanguageOfResult: German
Result:

Es un buen experimento. Lamentablemente no reconoce el lenguaje siempre bueno, pero nos revela algunos hechos:

  • Es posible enseñar parámetros de OpenAI (Text, LanguageOfResult) y valores de retorno (Result, LanguageOfText) Por supuesto, no son parámetros y valores de retorno para OpenAI, sino para nosotros.
  • OpenAI puede resolver tareas más complejas. Lo que es una solución de dos pasos para nosotros, tal vez no lo sea para OpenAI.

Conclusiones

Claro, hay más formas de crear un mensaje para un parapraser. No existe la mejor solución, cada uno tiene sus pros y sus contras. Nuestro parafraseador es muy simple, pero hace lo que necesitamos.

Pros:

  • Está abierto, encuentra nuevas alternativas realmente agradables.
  • Prompt tiene solo 2 filas (menos costo)
  • No está pegado a ningún idioma. (Algunas indicaciones, como nuestro traductor, tienen una sección de formación y una sección de solicitud. Si creamos algunas secciones de formación «codificadas de forma rígida» para parafrasear en inglés, recibimos una solicitud para parafrasear oraciones en alemán y tendremos una indicación en varios idiomas. Puede ser engañoso para OpenAI)

Contras:

  • Aproximadamente la mitad del resultado no es una buena paráfrasis. ¡Pero no significa que sea inútil! Si aparece el mensaje «¿Puedo reemplazar mi tarjeta si se pierde o me la roban?» para «¡Alguien se llevó mi tarjeta!» y «¿Cuál es el procedimiento para denunciar el robo de una tarjeta?» luego vemos que no encaja. Pero en nuestro caso para un chatbot bancario, puede indicar un nuevo caso de uso.

Por Attila Ujj

Developer at Botium GmbH. Un desarrollador que siente curiosidad por el futuro de la IA y el presente del hombre.

Un comentario en «Trucos y consejos de OpenAI GPT-3»
  1. He pensado que haría mucho mas cool a gpt, a pesar de que lo es, lo siguiente:
    que haya la posibilidad de que chat gpt maneje acceso a imágenes , videos, y que si es posible las cree, también que nosotros los usuarios podamos enviar imágenes para que nos pueda ayudar en trabajos con información requerida. también de que en algún momento cuando se pida lea lo que le pedimos y que tengamos acceso a un dictador de voz para que sea mas sencillo.
    Espero que se tenga en cuenta. 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *