Explorando la inteligencia artificial y OpenAI con Python

0 of 25 lessons complete (0%)

Extracción de audio de video.

¿Qué son los roles?

You don’t have access to this lesson

Please register or sign in to access the course content.

En el contexto de la API de OpenAI, los roles “system”, “assistant” y “user” se refieren a los diferentes participantes en una conversación generada por el modelo de lenguaje.

System: El rol de “system” se utiliza para proporcionar instrucciones o establecer el comportamiento global de la conversación. Por ejemplo, el “system” puede proporcionar una introducción inicial, definir reglas o guiar al “assistant” en su respuesta.

Assistant: El rol de “assistant” se refiere al modelo de lenguaje de OpenAI, que es el asistente virtual o agente conversacional desarrollado por OpenAI. El “assistant” genera respuestas en función del contexto de la conversación y las instrucciones que recibe de los roles “system” y “user”.

User: El rol de “user” representa al usuario o interlocutor humano en la conversación. El “user” envía mensajes o preguntas al “assistant” y recibe las respuestas generadas por el modelo.

En la API de OpenAI, la conversación se estructura como una lista de objetos, donde cada objeto tiene una propiedad “role” y una propiedad “content”. El “role” define si el mensaje es del “system”, “user” o “assistant”, y “content” contiene el texto del mensaje correspondiente.

Al especificar la conversación en la API de OpenAI, se pueden alternar entre los roles “user” y “assistant” para simular una interacción en tiempo real.

Documentación | Chat.

Ejemplo simple de un Chatbot interactivo con GPT-3.5-turbo en Python:

import openai

def chat_with_bot():
    # Iniciamos con un mensaje del sistema
    messages = [
        {"role": "system", "content": "You are a helpful assistant."}
    ]

    while True:
        # El usuario ingresa un mensaje
        user_input = input("User: ")
        # Agregamos el mensaje del usuario a la lista de mensajes
        messages.append({"role": "user", "content": user_input})

        # Llamamos a la API de OpenAI para obtener la respuesta del bot
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=messages
        )

        # Obtenemos la respuesta generada por el bot
        bot_response = response['choices'][0]['message']['content']
        # Mostramos la respuesta del bot en la consola
        print("Bot:", bot_response)

        # Agregamos la respuesta del bot a la lista de mensajes
        messages.append({"role": "assistant", "content": bot_response})

# Iniciamos la conversación con el bot
chat_with_bot()

El código utiliza la biblioteca openai para interactuar con el modelo GPT-3.5-turbo de OpenAI y generar respuestas de chat. La función chat_with_bot implementa un bucle infinito donde el usuario puede ingresar mensajes y recibir respuestas del bot.

En cada iteración del bucle:

  • El usuario ingresa un mensaje y se agrega a la lista messages con el rol “user”.
  • Se llama a la API de OpenAI con los mensajes existentes en messages.
  • Se obtiene la respuesta del bot a partir de la respuesta de la API y se muestra en la consola.
  • La respuesta del bot se agrega a messages con el rol “assistant”.

De esta manera, el bucle se repite indefinidamente, permitiendo una conversación fluida con el bot. El contexto de la conversación se mantiene a medida que se agregan mensajes a messages, lo que permite que el bot genere respuestas en función de los mensajes anteriores.

Recuerda que necesitarás tener una cuenta en OpenAI y una clave de API válida para poder utilizar el servicio de completado de chat. Asegúrate de tener una cuenta configurada y una clave de API válida antes de ejecutar el código

Nota del maestro: Recuerda que este curso es gratuito y no cuenta con soporte. Si tienes problemas o dudas, puedes escribirme en Twitter haciendo clic aquí y esperar a que tenga un tiempo libre para poder contestarte. También puedes considerar tomar el curso profesional en nuestra plataforma de Azul School, que incluye soporte prioritario para todos nuestros cursos y muchos más beneficios. Haz clic aquí para comprar tu membresía anual u obtener más información al respecto.