Capítulo 3: Entendiendo y Comparando Modelos de OpenAI
Ejercicios Prácticos — Capítulo 3
¡Felicitaciones por completar el Capítulo 3! Ahora es momento de practicar lo que has aprendido. Estos ejercicios te ayudarán a solidificar tu comprensión de diferentes modelos, sus capacidades, limitaciones, gestión de tokens y consideraciones de precio.
Ejercicio 1: Compara las Respuestas de GPT-3.5-turbo y GPT-4o
Envía la misma pregunta tanto a GPT-3.5-turbo como a GPT-4o, y observa las diferencias en calidad y detalle de las respuestas.
Tarea:
Prompt: "Explica brevemente el concepto de gravedad."
💡 Solución (Ejemplo en Python):
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
response = openai.ChatCompletion.create(
model=model,
messages=[
{"role": "user", "content": "Briefly explain the concept of gravity."}
]
)
print(f"\nResponse from {model}:")
print(response["choices"][0]["message"]["content"])
Revisa la salida de cada modelo y toma nota de las diferencias en claridad, profundidad y precisión.
Ejercicio 2: Prueba de Conteo de Tokens
Escribe un script corto en Python para verificar el número de tokens en un prompt dado, usando la biblioteca tiktoken.
Tarea:
Prompt: "¿Puedes proporcionar tres consejos para mejorar la productividad en la programación?"
💡 Solución:
Primero, asegúrate de que tiktoken
esté instalado:
pip install tiktoken
Luego ejecuta el script:
import tiktoken
encoding = tiktoken.encoding_for_model("gpt-4o")
prompt = "Can you provide three tips for improving coding productivity?"
tokens = encoding.encode(prompt)
print(f"Total tokens in prompt: {len(tokens)}")
Ejercicio 3: Experimenta con o3-mini-high
Usa el modelo o3-mini-high para responder rápidamente a un comando sencillo.
Tarea:
Prompt: "Enumera tres lenguajes de programación populares."
💡 Solución:
response = openai.ChatCompletion.create(
model="o3-mini-high",
messages=[
{"role": "user", "content": "List three popular programming languages."}
]
)
print(response["choices"][0]["message"]["content"])
Verifica la velocidad y simplicidad de la respuesta. Ideal para autocompletado o consultas rápidas.
Ejercicio 4: Analiza la Eficiencia de Costos
Estima el costo mensual si tu aplicación usa GPT-4o y maneja aproximadamente 2 millones de tokens por mes.
Tarea:
Precio de GPT-4o: aproximadamente $5 por millón de tokens.
💡 Solución (Cálculo Manual):
- Tokens mensuales: 2 millones
- Costo por millón de tokens: $5
- Costo mensual total:2 millones de tokens×$5/millón de tokens=$102 \text{ millones de tokens} \times \$5/\text{millón de tokens} = \$10 por mes.
(No se necesita solución en código, pero es crucial para fines presupuestarios.)
Ejercicio 5: Implementa Lógica de Selección de Modelo
Escribe una función en Python que seleccione automáticamente entre GPT-4o-mini y GPT-4o según la complejidad de la tarea.
Tarea:
Usa GPT-4o-mini para tareas simples y GPT-4o para consultas complejas.
💡 Solución:
def select_model(prompt_complexity):
if prompt_complexity == "simple":
return "gpt-4o-mini"
else:
return "gpt-4o"
def get_response(prompt, complexity):
model = select_model(complexity)
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
return response["choices"][0]["message"]["content"]
# Example usage:
simple_prompt = "What day comes after Monday?"
complex_prompt = "Explain quantum computing in simple terms."
print("Simple:", get_response(simple_prompt, "simple"))
print("\nComplex:", get_response(complex_prompt, "complex"))
Esta lógica te ayuda a gestionar eficientemente los costos y el rendimiento.
✅ Ejercicio 6: Manejo de Límites de Tokens
Demuestra cómo manejar los errores de límite de tokens de manera elegante mediante la captura de excepciones en Python.
Tarea:
Envía intencionalmente un prompt de gran tamaño a gpt-3.5-turbo
para provocar un error de límite de tokens.
💡 Solución:
try:
large_text = "word " * 50000 # deliberately oversized prompt
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": large_text}]
)
print(response["choices"][0]["message"]["content"])
except openai.error.InvalidRequestError as e:
print("Token limit exceeded. Please shorten your prompt.")
print("Error details:", e)
El manejo elegante de errores mejora la experiencia y estabilidad del usuario.
Ejercicio 7: Medición de Rendimiento
Mide y compara la latencia de respuesta de la API entre GPT-3.5-turbo y GPT-4o.
Tarea:
Utiliza el módulo time
de Python para medir la velocidad de ejecución.
💡 Solución:
import time
def measure_latency(model, prompt):
start_time = time.time()
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
end_time = time.time()
latency = end_time - start_time
return latency, response["choices"][0]["message"]["content"]
prompt = "What is artificial intelligence?"
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
latency, content = measure_latency(model, prompt)
print(f"\nModel: {model}")
print(f"Latency: {latency:.2f} seconds")
print(f"Response: {content}")
Comprender las diferencias de latencia te ayuda a seleccionar el modelo adecuado para tus necesidades.
Si has completado con éxito estos ejercicios, has dominado los conceptos clave sobre la selección de modelos de OpenAI, el análisis de rendimiento, la estimación de costos y la gestión de tokens. Ahora estás completamente preparado para aplicar con confianza estos conocimientos en proyectos de IA del mundo real.
Ejercicios Prácticos — Capítulo 3
¡Felicitaciones por completar el Capítulo 3! Ahora es momento de practicar lo que has aprendido. Estos ejercicios te ayudarán a solidificar tu comprensión de diferentes modelos, sus capacidades, limitaciones, gestión de tokens y consideraciones de precio.
Ejercicio 1: Compara las Respuestas de GPT-3.5-turbo y GPT-4o
Envía la misma pregunta tanto a GPT-3.5-turbo como a GPT-4o, y observa las diferencias en calidad y detalle de las respuestas.
Tarea:
Prompt: "Explica brevemente el concepto de gravedad."
💡 Solución (Ejemplo en Python):
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
response = openai.ChatCompletion.create(
model=model,
messages=[
{"role": "user", "content": "Briefly explain the concept of gravity."}
]
)
print(f"\nResponse from {model}:")
print(response["choices"][0]["message"]["content"])
Revisa la salida de cada modelo y toma nota de las diferencias en claridad, profundidad y precisión.
Ejercicio 2: Prueba de Conteo de Tokens
Escribe un script corto en Python para verificar el número de tokens en un prompt dado, usando la biblioteca tiktoken.
Tarea:
Prompt: "¿Puedes proporcionar tres consejos para mejorar la productividad en la programación?"
💡 Solución:
Primero, asegúrate de que tiktoken
esté instalado:
pip install tiktoken
Luego ejecuta el script:
import tiktoken
encoding = tiktoken.encoding_for_model("gpt-4o")
prompt = "Can you provide three tips for improving coding productivity?"
tokens = encoding.encode(prompt)
print(f"Total tokens in prompt: {len(tokens)}")
Ejercicio 3: Experimenta con o3-mini-high
Usa el modelo o3-mini-high para responder rápidamente a un comando sencillo.
Tarea:
Prompt: "Enumera tres lenguajes de programación populares."
💡 Solución:
response = openai.ChatCompletion.create(
model="o3-mini-high",
messages=[
{"role": "user", "content": "List three popular programming languages."}
]
)
print(response["choices"][0]["message"]["content"])
Verifica la velocidad y simplicidad de la respuesta. Ideal para autocompletado o consultas rápidas.
Ejercicio 4: Analiza la Eficiencia de Costos
Estima el costo mensual si tu aplicación usa GPT-4o y maneja aproximadamente 2 millones de tokens por mes.
Tarea:
Precio de GPT-4o: aproximadamente $5 por millón de tokens.
💡 Solución (Cálculo Manual):
- Tokens mensuales: 2 millones
- Costo por millón de tokens: $5
- Costo mensual total:2 millones de tokens×$5/millón de tokens=$102 \text{ millones de tokens} \times \$5/\text{millón de tokens} = \$10 por mes.
(No se necesita solución en código, pero es crucial para fines presupuestarios.)
Ejercicio 5: Implementa Lógica de Selección de Modelo
Escribe una función en Python que seleccione automáticamente entre GPT-4o-mini y GPT-4o según la complejidad de la tarea.
Tarea:
Usa GPT-4o-mini para tareas simples y GPT-4o para consultas complejas.
💡 Solución:
def select_model(prompt_complexity):
if prompt_complexity == "simple":
return "gpt-4o-mini"
else:
return "gpt-4o"
def get_response(prompt, complexity):
model = select_model(complexity)
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
return response["choices"][0]["message"]["content"]
# Example usage:
simple_prompt = "What day comes after Monday?"
complex_prompt = "Explain quantum computing in simple terms."
print("Simple:", get_response(simple_prompt, "simple"))
print("\nComplex:", get_response(complex_prompt, "complex"))
Esta lógica te ayuda a gestionar eficientemente los costos y el rendimiento.
✅ Ejercicio 6: Manejo de Límites de Tokens
Demuestra cómo manejar los errores de límite de tokens de manera elegante mediante la captura de excepciones en Python.
Tarea:
Envía intencionalmente un prompt de gran tamaño a gpt-3.5-turbo
para provocar un error de límite de tokens.
💡 Solución:
try:
large_text = "word " * 50000 # deliberately oversized prompt
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": large_text}]
)
print(response["choices"][0]["message"]["content"])
except openai.error.InvalidRequestError as e:
print("Token limit exceeded. Please shorten your prompt.")
print("Error details:", e)
El manejo elegante de errores mejora la experiencia y estabilidad del usuario.
Ejercicio 7: Medición de Rendimiento
Mide y compara la latencia de respuesta de la API entre GPT-3.5-turbo y GPT-4o.
Tarea:
Utiliza el módulo time
de Python para medir la velocidad de ejecución.
💡 Solución:
import time
def measure_latency(model, prompt):
start_time = time.time()
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
end_time = time.time()
latency = end_time - start_time
return latency, response["choices"][0]["message"]["content"]
prompt = "What is artificial intelligence?"
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
latency, content = measure_latency(model, prompt)
print(f"\nModel: {model}")
print(f"Latency: {latency:.2f} seconds")
print(f"Response: {content}")
Comprender las diferencias de latencia te ayuda a seleccionar el modelo adecuado para tus necesidades.
Si has completado con éxito estos ejercicios, has dominado los conceptos clave sobre la selección de modelos de OpenAI, el análisis de rendimiento, la estimación de costos y la gestión de tokens. Ahora estás completamente preparado para aplicar con confianza estos conocimientos en proyectos de IA del mundo real.
Ejercicios Prácticos — Capítulo 3
¡Felicitaciones por completar el Capítulo 3! Ahora es momento de practicar lo que has aprendido. Estos ejercicios te ayudarán a solidificar tu comprensión de diferentes modelos, sus capacidades, limitaciones, gestión de tokens y consideraciones de precio.
Ejercicio 1: Compara las Respuestas de GPT-3.5-turbo y GPT-4o
Envía la misma pregunta tanto a GPT-3.5-turbo como a GPT-4o, y observa las diferencias en calidad y detalle de las respuestas.
Tarea:
Prompt: "Explica brevemente el concepto de gravedad."
💡 Solución (Ejemplo en Python):
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
response = openai.ChatCompletion.create(
model=model,
messages=[
{"role": "user", "content": "Briefly explain the concept of gravity."}
]
)
print(f"\nResponse from {model}:")
print(response["choices"][0]["message"]["content"])
Revisa la salida de cada modelo y toma nota de las diferencias en claridad, profundidad y precisión.
Ejercicio 2: Prueba de Conteo de Tokens
Escribe un script corto en Python para verificar el número de tokens en un prompt dado, usando la biblioteca tiktoken.
Tarea:
Prompt: "¿Puedes proporcionar tres consejos para mejorar la productividad en la programación?"
💡 Solución:
Primero, asegúrate de que tiktoken
esté instalado:
pip install tiktoken
Luego ejecuta el script:
import tiktoken
encoding = tiktoken.encoding_for_model("gpt-4o")
prompt = "Can you provide three tips for improving coding productivity?"
tokens = encoding.encode(prompt)
print(f"Total tokens in prompt: {len(tokens)}")
Ejercicio 3: Experimenta con o3-mini-high
Usa el modelo o3-mini-high para responder rápidamente a un comando sencillo.
Tarea:
Prompt: "Enumera tres lenguajes de programación populares."
💡 Solución:
response = openai.ChatCompletion.create(
model="o3-mini-high",
messages=[
{"role": "user", "content": "List three popular programming languages."}
]
)
print(response["choices"][0]["message"]["content"])
Verifica la velocidad y simplicidad de la respuesta. Ideal para autocompletado o consultas rápidas.
Ejercicio 4: Analiza la Eficiencia de Costos
Estima el costo mensual si tu aplicación usa GPT-4o y maneja aproximadamente 2 millones de tokens por mes.
Tarea:
Precio de GPT-4o: aproximadamente $5 por millón de tokens.
💡 Solución (Cálculo Manual):
- Tokens mensuales: 2 millones
- Costo por millón de tokens: $5
- Costo mensual total:2 millones de tokens×$5/millón de tokens=$102 \text{ millones de tokens} \times \$5/\text{millón de tokens} = \$10 por mes.
(No se necesita solución en código, pero es crucial para fines presupuestarios.)
Ejercicio 5: Implementa Lógica de Selección de Modelo
Escribe una función en Python que seleccione automáticamente entre GPT-4o-mini y GPT-4o según la complejidad de la tarea.
Tarea:
Usa GPT-4o-mini para tareas simples y GPT-4o para consultas complejas.
💡 Solución:
def select_model(prompt_complexity):
if prompt_complexity == "simple":
return "gpt-4o-mini"
else:
return "gpt-4o"
def get_response(prompt, complexity):
model = select_model(complexity)
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
return response["choices"][0]["message"]["content"]
# Example usage:
simple_prompt = "What day comes after Monday?"
complex_prompt = "Explain quantum computing in simple terms."
print("Simple:", get_response(simple_prompt, "simple"))
print("\nComplex:", get_response(complex_prompt, "complex"))
Esta lógica te ayuda a gestionar eficientemente los costos y el rendimiento.
✅ Ejercicio 6: Manejo de Límites de Tokens
Demuestra cómo manejar los errores de límite de tokens de manera elegante mediante la captura de excepciones en Python.
Tarea:
Envía intencionalmente un prompt de gran tamaño a gpt-3.5-turbo
para provocar un error de límite de tokens.
💡 Solución:
try:
large_text = "word " * 50000 # deliberately oversized prompt
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": large_text}]
)
print(response["choices"][0]["message"]["content"])
except openai.error.InvalidRequestError as e:
print("Token limit exceeded. Please shorten your prompt.")
print("Error details:", e)
El manejo elegante de errores mejora la experiencia y estabilidad del usuario.
Ejercicio 7: Medición de Rendimiento
Mide y compara la latencia de respuesta de la API entre GPT-3.5-turbo y GPT-4o.
Tarea:
Utiliza el módulo time
de Python para medir la velocidad de ejecución.
💡 Solución:
import time
def measure_latency(model, prompt):
start_time = time.time()
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
end_time = time.time()
latency = end_time - start_time
return latency, response["choices"][0]["message"]["content"]
prompt = "What is artificial intelligence?"
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
latency, content = measure_latency(model, prompt)
print(f"\nModel: {model}")
print(f"Latency: {latency:.2f} seconds")
print(f"Response: {content}")
Comprender las diferencias de latencia te ayuda a seleccionar el modelo adecuado para tus necesidades.
Si has completado con éxito estos ejercicios, has dominado los conceptos clave sobre la selección de modelos de OpenAI, el análisis de rendimiento, la estimación de costos y la gestión de tokens. Ahora estás completamente preparado para aplicar con confianza estos conocimientos en proyectos de IA del mundo real.
Ejercicios Prácticos — Capítulo 3
¡Felicitaciones por completar el Capítulo 3! Ahora es momento de practicar lo que has aprendido. Estos ejercicios te ayudarán a solidificar tu comprensión de diferentes modelos, sus capacidades, limitaciones, gestión de tokens y consideraciones de precio.
Ejercicio 1: Compara las Respuestas de GPT-3.5-turbo y GPT-4o
Envía la misma pregunta tanto a GPT-3.5-turbo como a GPT-4o, y observa las diferencias en calidad y detalle de las respuestas.
Tarea:
Prompt: "Explica brevemente el concepto de gravedad."
💡 Solución (Ejemplo en Python):
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
response = openai.ChatCompletion.create(
model=model,
messages=[
{"role": "user", "content": "Briefly explain the concept of gravity."}
]
)
print(f"\nResponse from {model}:")
print(response["choices"][0]["message"]["content"])
Revisa la salida de cada modelo y toma nota de las diferencias en claridad, profundidad y precisión.
Ejercicio 2: Prueba de Conteo de Tokens
Escribe un script corto en Python para verificar el número de tokens en un prompt dado, usando la biblioteca tiktoken.
Tarea:
Prompt: "¿Puedes proporcionar tres consejos para mejorar la productividad en la programación?"
💡 Solución:
Primero, asegúrate de que tiktoken
esté instalado:
pip install tiktoken
Luego ejecuta el script:
import tiktoken
encoding = tiktoken.encoding_for_model("gpt-4o")
prompt = "Can you provide three tips for improving coding productivity?"
tokens = encoding.encode(prompt)
print(f"Total tokens in prompt: {len(tokens)}")
Ejercicio 3: Experimenta con o3-mini-high
Usa el modelo o3-mini-high para responder rápidamente a un comando sencillo.
Tarea:
Prompt: "Enumera tres lenguajes de programación populares."
💡 Solución:
response = openai.ChatCompletion.create(
model="o3-mini-high",
messages=[
{"role": "user", "content": "List three popular programming languages."}
]
)
print(response["choices"][0]["message"]["content"])
Verifica la velocidad y simplicidad de la respuesta. Ideal para autocompletado o consultas rápidas.
Ejercicio 4: Analiza la Eficiencia de Costos
Estima el costo mensual si tu aplicación usa GPT-4o y maneja aproximadamente 2 millones de tokens por mes.
Tarea:
Precio de GPT-4o: aproximadamente $5 por millón de tokens.
💡 Solución (Cálculo Manual):
- Tokens mensuales: 2 millones
- Costo por millón de tokens: $5
- Costo mensual total:2 millones de tokens×$5/millón de tokens=$102 \text{ millones de tokens} \times \$5/\text{millón de tokens} = \$10 por mes.
(No se necesita solución en código, pero es crucial para fines presupuestarios.)
Ejercicio 5: Implementa Lógica de Selección de Modelo
Escribe una función en Python que seleccione automáticamente entre GPT-4o-mini y GPT-4o según la complejidad de la tarea.
Tarea:
Usa GPT-4o-mini para tareas simples y GPT-4o para consultas complejas.
💡 Solución:
def select_model(prompt_complexity):
if prompt_complexity == "simple":
return "gpt-4o-mini"
else:
return "gpt-4o"
def get_response(prompt, complexity):
model = select_model(complexity)
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
return response["choices"][0]["message"]["content"]
# Example usage:
simple_prompt = "What day comes after Monday?"
complex_prompt = "Explain quantum computing in simple terms."
print("Simple:", get_response(simple_prompt, "simple"))
print("\nComplex:", get_response(complex_prompt, "complex"))
Esta lógica te ayuda a gestionar eficientemente los costos y el rendimiento.
✅ Ejercicio 6: Manejo de Límites de Tokens
Demuestra cómo manejar los errores de límite de tokens de manera elegante mediante la captura de excepciones en Python.
Tarea:
Envía intencionalmente un prompt de gran tamaño a gpt-3.5-turbo
para provocar un error de límite de tokens.
💡 Solución:
try:
large_text = "word " * 50000 # deliberately oversized prompt
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": large_text}]
)
print(response["choices"][0]["message"]["content"])
except openai.error.InvalidRequestError as e:
print("Token limit exceeded. Please shorten your prompt.")
print("Error details:", e)
El manejo elegante de errores mejora la experiencia y estabilidad del usuario.
Ejercicio 7: Medición de Rendimiento
Mide y compara la latencia de respuesta de la API entre GPT-3.5-turbo y GPT-4o.
Tarea:
Utiliza el módulo time
de Python para medir la velocidad de ejecución.
💡 Solución:
import time
def measure_latency(model, prompt):
start_time = time.time()
response = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
end_time = time.time()
latency = end_time - start_time
return latency, response["choices"][0]["message"]["content"]
prompt = "What is artificial intelligence?"
models = ["gpt-3.5-turbo", "gpt-4o"]
for model in models:
latency, content = measure_latency(model, prompt)
print(f"\nModel: {model}")
print(f"Latency: {latency:.2f} seconds")
print(f"Response: {content}")
Comprender las diferencias de latencia te ayuda a seleccionar el modelo adecuado para tus necesidades.
Si has completado con éxito estos ejercicios, has dominado los conceptos clave sobre la selección de modelos de OpenAI, el análisis de rendimiento, la estimación de costos y la gestión de tokens. Ahora estás completamente preparado para aplicar con confianza estos conocimientos en proyectos de IA del mundo real.