No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de OpenAI API

Curso de OpenAI API

Carlos Gonzales

Carlos Gonzales

Chat Completion API

6/25
Recursos

¿Cómo funcionan los roles en un chatbot impulsado por OpenAI?

OpenAI GPT es una herramienta poderosa que permite desarrollar chatbots personalizados con respuestas más precisas y definidas. La interacción se da entre tres roles principales: el usuario, el asistente y el sistema. Comenzamos con el sistema estableciendo las reglas del asistente, definiendo su comportamiento. Por ejemplo, en un chatbot de Platzi, el rol del sistema puede establecer que el asistente se presente como "PlatziVision". Este enfoque permite que el asistente brinde respuestas específicas en lugar de genéricas, utilizando su conocimiento sobre un producto o servicio específico.

¿Qué es el system prompt y cómo se utiliza?

El system prompt es fundamental para personalizar la interacción dentro del chatbot. Se utiliza para configurar cómo el asistente debe comportarse a lo largo de una conversación. Define la personalidad del asistente y proporciona instrucciones específicas sobre cómo debería responder las consultas del usuario. Esta lógica le da dirección y contexto al asistente, asegurando que las interacciones sean coherentes y personalizadas.

Por ejemplo, podemos incluir un prompt en el código del chatbot que establezca:

{
  "role": "system",
  "content": "Eres un asistente llamado PlatziVision, presentate como tal."
}

¿Cuál es la estructura básica de un mensaje en OpenAI?

La estructura de mensajes en un chatbot con OpenAI abarca el intercambio de mensajes entre el sistema, el usuario y el asistente. Generalmente, la conversación inicia con el sistema, seguido por la interacción entre usuario y asistente.

Los mensajes son definidos en una lista de diccionarios, cada uno acotando el rol (system, user, assistant) y el contenido:

messages = [
  {"role": "system", "content": "Te llamas PlatziVision, presentate como tal."},
  {"role": "user", "content": "Hola, ¿Cómo estás?"}
]

Aquí, el rol system proporciona directrices claras para el asistente, mientras que el rol user permite las interacciones de entrada de los usuarios.

¿Cómo estructurar una API para manejar GPT?

Implementar el Chat Completion API de OpenAI permite controlar el flujo de conversaciones y ajustar respuestas de manera precisa. Para comenzar, necesitarás:

  1. Configuración Inicial: Crea una carpeta para alojar tus archivos y asegúrate de tener una API key de OpenAI, configurando su recogida a través de variables de entorno para mayor seguridad.
  2. Código de Arranque: Importar bibliotecas necesarias y configurar el cliente para interactuar con OpenAI.
  3. Generación de Respuestas: Usando las funciones de creación en la API, especifica el modelo y estructura tu mensaje inicial.

Ejemplo en Python para estructurar un cliente que colabora con OpenAI:

import openai
import os
from dotenv import load_dotenv

load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

def obtener_respuesta(modelo, mensajes):
    respuesta = openai.ChatCompletion.create(
        model=modelo,
        messages=mensajes
    )
    return respuesta.choices[0].message.content

mensajes = [
  {"role": "system", "content": "Te llamas PlatziVision, presentate como tal."},
  {"role": "user", "content": "Hola, ¿Cómo estás?"}
]

print(obtener_respuesta("gpt-4", mensajes))

¿Cómo ajustar las respuestas del modelo?

Personalizar las respuestas de un modelo OpenAI GPT es esencial para responder adecuadamente a los usuarios. Existen varios parámetros importantes:

  1. Máxima cantidad de tokens: Controla la longitud de las respuestas. Se fija un límite máximo de tokens para evitar respuestas excesivamente largas o cortas.
  2. Temperatura: Ajusta la creatividad y previsibilidad de las respuestas. Valores bajos (0.1) priorizan respuestas determinísticas, ideales para contextos estrictos, mientras que valores altos (0.9) permiten mayor creatividad, útil en tareas de generación de contenido o storytelling.

Experimentar modificando estos parámetros permite descubrir cómo el chatbot interactúa bajo diferentes circunstancias, adaptando su comportamiento a las necesidades del proyecto.

Ejemplo del efecto de la temperatura:

  • Temperatura baja: Se busca precisión, como en tareas matemáticas.
  • Temperatura alta: Se fomenta la creatividad, útil para generar historias o contenido más expresivo.

Con esta guía, estás en camino de personalizar y optimizar tus interacciones con OpenAI para maximizar el potencial de tus chatbots. ¡Continúa explorando y desarrollando tus habilidades!

Aportes 12

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

💚 ¡Hola! Puedes revisar el código desarrollado en esta clase en repositorio del curso: <https://github.com/platzi/curso-openaiapi/blob/main/ChatCompletionAPI/script.py>
He intentado ejecutar, primero el script, para posteriormente crear mis propios modelos, no obstante, me geera error. Me encuentro trabajando desde anaconda. ¿por qué puede suceder esto?. Anexo el error en cuestión: NotFoundError: Error code: 404 - {'error': {'message': 'The model `gpt-4o` does not exist or you do not have access to it.', 'type': 'invalid\_request\_error', 'param': None, 'code': 'model\_not\_found'}}
¿Dónde se encuentra la prueba gratuita? No la encuentro. Y me sale el mensaje "You exceeded your current quota, please check your plan and billing details"
Los atributos `max_tokens` y `temperature` son cruciales en la API de OpenAI. * `max_tokens`: Define la cantidad máxima de tokens (palabras o fragmentos de palabras) que puede devolver la respuesta. Controla la longitud de la salida generada. * `temperature`: Ajusta la creatividad de las respuestas. Un valor bajo (cerca de 0.1) produce respuestas más predecibles y deterministas, mientras que un valor alto (cerca de 1) genera respuestas más creativas y variadas.
Estoy usando Jupyter e hice cambios al prompt inicial, este fue el resultado. ![](https://static.platzi.com/media/user_upload/Screenshot_20241229_054530-0f1c6fdf-edba-4127-afc8-3778eea9e9ae.jpg)
Me surge una pregunta, sera que ¿no me funciona por qué debo pagar? agradecería sus respuestas :)
En el contexto de la API de OpenAI, los roles son fundamentales para estructurar las conversaciones. Se definen tres roles principales: 1. **System**: Establece las instrucciones y comportamientos del asistente. Ejemplo: "Eres un asistente llamado PlaxiVision." 2. **User**: Representa a la persona que inicia la conversación o hace preguntas. Ejemplo: "Hola, ¿cómo estás?" 3. **Assistant**: Es el modelo que responde a las preguntas del usuario, basándose en las instrucciones del sistema. Ejemplo: "Hola, soy PlaxiVision, un asistente virtual listo para ayudarte." Estos roles permiten que las interacciones sean más eficientes y personalizadas.
Ya vieron que desde finales de enero de 2025 ya esta disponible para probar el Modelo o3-mini?
Tuve algunos problemas pero alfín se ejecutó correctamente, muchas gracias profe. Muy interesante el curso. <https://github.com/Pablo-app-developer/PlatziVision/blob/main/Script.py>
Inevitablemente tuve que agregar un pago de US $5 para que gpt-4o-mini (que fue el unico que me funcionó) me diera una respuesta diferente a "You exceeded your current quota..." Me toco crear una tarjeta debito con Nequi
alguien sabe como resolver el error que mande de gpt4o por no tener acceso, hay que pagar The model `gpt-4o` does not exist or you do not have access to it.
Para los que quieran utilizar `nodejs` en vez de `python` aquí les dejo mi repo: <https://github.com/willmodev/curso-openia-api.git> Estaré llevando el curso con `javascript` 🚀