Capítulo 5: Ingeniería de Prompts e Instrucciones del Sistema
Ejercicios Prácticos — Capítulo 5
Ejercicio 1: Elaboración de un Prompt Efectivo
Tarea:
Escribe un prompt que pida al modelo explicar el concepto de programación orientada a objetos (POO) en Python. Tu prompt debe ser claro y específico, e incluir un mensaje del sistema que establezca el tono como el de un tutor amigable.
Instrucciones:
- Utiliza un mensaje del sistema para instruir al modelo a adoptar un tono amigable e instructivo.
- Tu prompt de usuario debe solicitar una explicación clara de POO con énfasis en los conceptos clave.
Solución:
import openai
import os
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# Construct the conversation
messages = [
{"role": "system", "content": "You are a friendly and knowledgeable programming tutor."},
{"role": "user", "content": "Can you explain what object-oriented programming (OOP) is in Python, and describe the concepts of classes and objects?"}
]
# Call the API with a moderate token limit
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=messages,
max_tokens=150,
temperature=0.5
)
print("Exercise 1 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 2: Uso de Plantillas de Prompt para una Tarea Específica
Tarea:
Desarrolla una plantilla de prompt para generar una respuesta profesional de atención al cliente que explique cómo restablecer una contraseña. Incluye un ejemplo del formato de correo electrónico esperado.
Instrucciones:
- Utiliza un mensaje del sistema para establecer el tono como un agente de atención al cliente empático y eficiente.
- En el mensaje del usuario, proporciona un ejemplo de escenario y pide a la IA que genere una respuesta siguiendo una estructura similar.
Solución:
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a courteous and efficient customer support assistant."},
{"role": "user", "content": (
"Example email format:\n"
"Subject: Password Reset Assistance\n"
"Dear [Customer],\n"
"Thank you for reaching out. To reset your password, please click on the following link...\n"
"If you have any issues, let us know.\n"
"Best regards,\n"
"Support Team\n\n"
"Now, please generate a similar email response for a customer who has forgotten their password."
)}
],
max_tokens=180,
temperature=0.5
)
print("Exercise 2 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 3: Prompting sin ejemplos versus con pocos ejemplos
Tarea:
Compara el prompting sin ejemplos y con pocos ejemplos para generar un breve resumen de los beneficios del trabajo remoto. Primero, prueba sin ejemplos, luego proporciona dos ejemplos de resúmenes efectivos como parte de un prompt con pocos ejemplos.
Instrucciones:
- Para el prompting sin ejemplos, simplemente proporciona el prompt.
- Para el prompting con pocos ejemplos, incluye dos resúmenes de ejemplo antes de solicitar uno nuevo.
Solución:
# Zero-shot Prompting
response_zero_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize three benefits of remote work."}],
max_tokens=100,
temperature=0.6
)
print("Zero-shot Response:")
print(response_zero_shot["choices"][0]["message"]["content"])
# Few-shot Prompting
response_few_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are an efficient content generator."},
{"role": "user", "content": (
"Example 1: Remote work enhances flexibility by reducing commute time, allows for a better work-life balance, and can lead to increased productivity due to a personalized work environment.\n\n"
"Example 2: The benefits of remote work include the ability to work from anywhere, lower operating costs for businesses, and the opportunity for employees to create a better personal schedule.\n\n"
"Now, please provide a new summary of three benefits of remote work."
)}
],
max_tokens=120,
temperature=0.6
)
print("\nFew-shot Response:")
print(response_few_shot["choices"][0]["message"]["content"])
Ejercicio 4: Aplicación del Prompting con Cadena de Pensamiento
Tarea:
Pide al modelo que resuelva un problema lógico razonando paso a paso. Por ejemplo: "Explica paso a paso cómo determinarías si un número es primo."
Instrucciones:
- Utiliza un mensaje del sistema para indicar al asistente que piense en una cadena de pensamiento.
- Formula el prompt de usuario para solicitar una explicación detallada paso a paso.
Solución:
response_chain = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a logical problem-solving assistant who explains every step in detail."},
{"role": "user", "content": "Explain step-by-step how you would determine if the number 29 is prime."}
],
max_tokens=200,
temperature=0.5
)
print("Chain-of-thought Response:")
print(response_chain["choices"][0]["message"]["content"])
Ejercicio 5: Refinamiento Iterativo de Prompts
Tarea:
Comienza con un prompt básico solicitando un resumen de las últimas tendencias en inteligencia artificial. Luego, refínalo iterativamente para incluir detalles como tecnologías clave e impactos potenciales. Envía tanto el prompt básico como el refinado.
Instrucciones:
- Primero, envía un prompt básico y captura la respuesta.
- Después, actualiza el prompt añadiendo contexto y restricciones adicionales.
- Compara los resultados.
Solución:
# Basic prompt for AI trends
basic_prompt = "Summarize the latest trends in artificial intelligence."
response_basic = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": basic_prompt}],
max_tokens=150,
temperature=0.6
)
print("Basic Prompt Response:")
print(response_basic["choices"][0]["message"]["content"])
# Refined prompt with more context
refined_prompt = (
"Summarize the latest trends in artificial intelligence, including key technologies such as natural language processing, "
"computer vision, and reinforcement learning. Also, discuss potential impacts on industries like healthcare and finance."
)
response_refined = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": refined_prompt}],
max_tokens=200,
temperature=0.6
)
print("\nRefined Prompt Response:")
print(response_refined["choices"][0]["message"]["content"])
Si has completado estos ejercicios exitosamente, ¡felicitaciones! Has practicado una variedad de técnicas de ingeniería de prompts—desde la elaboración de prompts efectivos y la utilización de mensajes del sistema, hasta la experimentación con prompting sin ejemplos, con pocos ejemplos y con cadena de pensamiento. Estos ejercicios te capacitan para crear interacciones refinadas adaptadas a las necesidades de tu aplicación.
Con estas habilidades, estás listo para avanzar y mejorar aún más tus aplicaciones de IA. Continúa experimentando, refinando tus prompts y construyendo interacciones atractivas y eficientes con la API de Chat Completions.
Ejercicios Prácticos — Capítulo 5
Ejercicio 1: Elaboración de un Prompt Efectivo
Tarea:
Escribe un prompt que pida al modelo explicar el concepto de programación orientada a objetos (POO) en Python. Tu prompt debe ser claro y específico, e incluir un mensaje del sistema que establezca el tono como el de un tutor amigable.
Instrucciones:
- Utiliza un mensaje del sistema para instruir al modelo a adoptar un tono amigable e instructivo.
- Tu prompt de usuario debe solicitar una explicación clara de POO con énfasis en los conceptos clave.
Solución:
import openai
import os
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# Construct the conversation
messages = [
{"role": "system", "content": "You are a friendly and knowledgeable programming tutor."},
{"role": "user", "content": "Can you explain what object-oriented programming (OOP) is in Python, and describe the concepts of classes and objects?"}
]
# Call the API with a moderate token limit
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=messages,
max_tokens=150,
temperature=0.5
)
print("Exercise 1 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 2: Uso de Plantillas de Prompt para una Tarea Específica
Tarea:
Desarrolla una plantilla de prompt para generar una respuesta profesional de atención al cliente que explique cómo restablecer una contraseña. Incluye un ejemplo del formato de correo electrónico esperado.
Instrucciones:
- Utiliza un mensaje del sistema para establecer el tono como un agente de atención al cliente empático y eficiente.
- En el mensaje del usuario, proporciona un ejemplo de escenario y pide a la IA que genere una respuesta siguiendo una estructura similar.
Solución:
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a courteous and efficient customer support assistant."},
{"role": "user", "content": (
"Example email format:\n"
"Subject: Password Reset Assistance\n"
"Dear [Customer],\n"
"Thank you for reaching out. To reset your password, please click on the following link...\n"
"If you have any issues, let us know.\n"
"Best regards,\n"
"Support Team\n\n"
"Now, please generate a similar email response for a customer who has forgotten their password."
)}
],
max_tokens=180,
temperature=0.5
)
print("Exercise 2 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 3: Prompting sin ejemplos versus con pocos ejemplos
Tarea:
Compara el prompting sin ejemplos y con pocos ejemplos para generar un breve resumen de los beneficios del trabajo remoto. Primero, prueba sin ejemplos, luego proporciona dos ejemplos de resúmenes efectivos como parte de un prompt con pocos ejemplos.
Instrucciones:
- Para el prompting sin ejemplos, simplemente proporciona el prompt.
- Para el prompting con pocos ejemplos, incluye dos resúmenes de ejemplo antes de solicitar uno nuevo.
Solución:
# Zero-shot Prompting
response_zero_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize three benefits of remote work."}],
max_tokens=100,
temperature=0.6
)
print("Zero-shot Response:")
print(response_zero_shot["choices"][0]["message"]["content"])
# Few-shot Prompting
response_few_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are an efficient content generator."},
{"role": "user", "content": (
"Example 1: Remote work enhances flexibility by reducing commute time, allows for a better work-life balance, and can lead to increased productivity due to a personalized work environment.\n\n"
"Example 2: The benefits of remote work include the ability to work from anywhere, lower operating costs for businesses, and the opportunity for employees to create a better personal schedule.\n\n"
"Now, please provide a new summary of three benefits of remote work."
)}
],
max_tokens=120,
temperature=0.6
)
print("\nFew-shot Response:")
print(response_few_shot["choices"][0]["message"]["content"])
Ejercicio 4: Aplicación del Prompting con Cadena de Pensamiento
Tarea:
Pide al modelo que resuelva un problema lógico razonando paso a paso. Por ejemplo: "Explica paso a paso cómo determinarías si un número es primo."
Instrucciones:
- Utiliza un mensaje del sistema para indicar al asistente que piense en una cadena de pensamiento.
- Formula el prompt de usuario para solicitar una explicación detallada paso a paso.
Solución:
response_chain = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a logical problem-solving assistant who explains every step in detail."},
{"role": "user", "content": "Explain step-by-step how you would determine if the number 29 is prime."}
],
max_tokens=200,
temperature=0.5
)
print("Chain-of-thought Response:")
print(response_chain["choices"][0]["message"]["content"])
Ejercicio 5: Refinamiento Iterativo de Prompts
Tarea:
Comienza con un prompt básico solicitando un resumen de las últimas tendencias en inteligencia artificial. Luego, refínalo iterativamente para incluir detalles como tecnologías clave e impactos potenciales. Envía tanto el prompt básico como el refinado.
Instrucciones:
- Primero, envía un prompt básico y captura la respuesta.
- Después, actualiza el prompt añadiendo contexto y restricciones adicionales.
- Compara los resultados.
Solución:
# Basic prompt for AI trends
basic_prompt = "Summarize the latest trends in artificial intelligence."
response_basic = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": basic_prompt}],
max_tokens=150,
temperature=0.6
)
print("Basic Prompt Response:")
print(response_basic["choices"][0]["message"]["content"])
# Refined prompt with more context
refined_prompt = (
"Summarize the latest trends in artificial intelligence, including key technologies such as natural language processing, "
"computer vision, and reinforcement learning. Also, discuss potential impacts on industries like healthcare and finance."
)
response_refined = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": refined_prompt}],
max_tokens=200,
temperature=0.6
)
print("\nRefined Prompt Response:")
print(response_refined["choices"][0]["message"]["content"])
Si has completado estos ejercicios exitosamente, ¡felicitaciones! Has practicado una variedad de técnicas de ingeniería de prompts—desde la elaboración de prompts efectivos y la utilización de mensajes del sistema, hasta la experimentación con prompting sin ejemplos, con pocos ejemplos y con cadena de pensamiento. Estos ejercicios te capacitan para crear interacciones refinadas adaptadas a las necesidades de tu aplicación.
Con estas habilidades, estás listo para avanzar y mejorar aún más tus aplicaciones de IA. Continúa experimentando, refinando tus prompts y construyendo interacciones atractivas y eficientes con la API de Chat Completions.
Ejercicios Prácticos — Capítulo 5
Ejercicio 1: Elaboración de un Prompt Efectivo
Tarea:
Escribe un prompt que pida al modelo explicar el concepto de programación orientada a objetos (POO) en Python. Tu prompt debe ser claro y específico, e incluir un mensaje del sistema que establezca el tono como el de un tutor amigable.
Instrucciones:
- Utiliza un mensaje del sistema para instruir al modelo a adoptar un tono amigable e instructivo.
- Tu prompt de usuario debe solicitar una explicación clara de POO con énfasis en los conceptos clave.
Solución:
import openai
import os
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# Construct the conversation
messages = [
{"role": "system", "content": "You are a friendly and knowledgeable programming tutor."},
{"role": "user", "content": "Can you explain what object-oriented programming (OOP) is in Python, and describe the concepts of classes and objects?"}
]
# Call the API with a moderate token limit
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=messages,
max_tokens=150,
temperature=0.5
)
print("Exercise 1 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 2: Uso de Plantillas de Prompt para una Tarea Específica
Tarea:
Desarrolla una plantilla de prompt para generar una respuesta profesional de atención al cliente que explique cómo restablecer una contraseña. Incluye un ejemplo del formato de correo electrónico esperado.
Instrucciones:
- Utiliza un mensaje del sistema para establecer el tono como un agente de atención al cliente empático y eficiente.
- En el mensaje del usuario, proporciona un ejemplo de escenario y pide a la IA que genere una respuesta siguiendo una estructura similar.
Solución:
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a courteous and efficient customer support assistant."},
{"role": "user", "content": (
"Example email format:\n"
"Subject: Password Reset Assistance\n"
"Dear [Customer],\n"
"Thank you for reaching out. To reset your password, please click on the following link...\n"
"If you have any issues, let us know.\n"
"Best regards,\n"
"Support Team\n\n"
"Now, please generate a similar email response for a customer who has forgotten their password."
)}
],
max_tokens=180,
temperature=0.5
)
print("Exercise 2 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 3: Prompting sin ejemplos versus con pocos ejemplos
Tarea:
Compara el prompting sin ejemplos y con pocos ejemplos para generar un breve resumen de los beneficios del trabajo remoto. Primero, prueba sin ejemplos, luego proporciona dos ejemplos de resúmenes efectivos como parte de un prompt con pocos ejemplos.
Instrucciones:
- Para el prompting sin ejemplos, simplemente proporciona el prompt.
- Para el prompting con pocos ejemplos, incluye dos resúmenes de ejemplo antes de solicitar uno nuevo.
Solución:
# Zero-shot Prompting
response_zero_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize three benefits of remote work."}],
max_tokens=100,
temperature=0.6
)
print("Zero-shot Response:")
print(response_zero_shot["choices"][0]["message"]["content"])
# Few-shot Prompting
response_few_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are an efficient content generator."},
{"role": "user", "content": (
"Example 1: Remote work enhances flexibility by reducing commute time, allows for a better work-life balance, and can lead to increased productivity due to a personalized work environment.\n\n"
"Example 2: The benefits of remote work include the ability to work from anywhere, lower operating costs for businesses, and the opportunity for employees to create a better personal schedule.\n\n"
"Now, please provide a new summary of three benefits of remote work."
)}
],
max_tokens=120,
temperature=0.6
)
print("\nFew-shot Response:")
print(response_few_shot["choices"][0]["message"]["content"])
Ejercicio 4: Aplicación del Prompting con Cadena de Pensamiento
Tarea:
Pide al modelo que resuelva un problema lógico razonando paso a paso. Por ejemplo: "Explica paso a paso cómo determinarías si un número es primo."
Instrucciones:
- Utiliza un mensaje del sistema para indicar al asistente que piense en una cadena de pensamiento.
- Formula el prompt de usuario para solicitar una explicación detallada paso a paso.
Solución:
response_chain = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a logical problem-solving assistant who explains every step in detail."},
{"role": "user", "content": "Explain step-by-step how you would determine if the number 29 is prime."}
],
max_tokens=200,
temperature=0.5
)
print("Chain-of-thought Response:")
print(response_chain["choices"][0]["message"]["content"])
Ejercicio 5: Refinamiento Iterativo de Prompts
Tarea:
Comienza con un prompt básico solicitando un resumen de las últimas tendencias en inteligencia artificial. Luego, refínalo iterativamente para incluir detalles como tecnologías clave e impactos potenciales. Envía tanto el prompt básico como el refinado.
Instrucciones:
- Primero, envía un prompt básico y captura la respuesta.
- Después, actualiza el prompt añadiendo contexto y restricciones adicionales.
- Compara los resultados.
Solución:
# Basic prompt for AI trends
basic_prompt = "Summarize the latest trends in artificial intelligence."
response_basic = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": basic_prompt}],
max_tokens=150,
temperature=0.6
)
print("Basic Prompt Response:")
print(response_basic["choices"][0]["message"]["content"])
# Refined prompt with more context
refined_prompt = (
"Summarize the latest trends in artificial intelligence, including key technologies such as natural language processing, "
"computer vision, and reinforcement learning. Also, discuss potential impacts on industries like healthcare and finance."
)
response_refined = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": refined_prompt}],
max_tokens=200,
temperature=0.6
)
print("\nRefined Prompt Response:")
print(response_refined["choices"][0]["message"]["content"])
Si has completado estos ejercicios exitosamente, ¡felicitaciones! Has practicado una variedad de técnicas de ingeniería de prompts—desde la elaboración de prompts efectivos y la utilización de mensajes del sistema, hasta la experimentación con prompting sin ejemplos, con pocos ejemplos y con cadena de pensamiento. Estos ejercicios te capacitan para crear interacciones refinadas adaptadas a las necesidades de tu aplicación.
Con estas habilidades, estás listo para avanzar y mejorar aún más tus aplicaciones de IA. Continúa experimentando, refinando tus prompts y construyendo interacciones atractivas y eficientes con la API de Chat Completions.
Ejercicios Prácticos — Capítulo 5
Ejercicio 1: Elaboración de un Prompt Efectivo
Tarea:
Escribe un prompt que pida al modelo explicar el concepto de programación orientada a objetos (POO) en Python. Tu prompt debe ser claro y específico, e incluir un mensaje del sistema que establezca el tono como el de un tutor amigable.
Instrucciones:
- Utiliza un mensaje del sistema para instruir al modelo a adoptar un tono amigable e instructivo.
- Tu prompt de usuario debe solicitar una explicación clara de POO con énfasis en los conceptos clave.
Solución:
import openai
import os
from dotenv import load_dotenv
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# Construct the conversation
messages = [
{"role": "system", "content": "You are a friendly and knowledgeable programming tutor."},
{"role": "user", "content": "Can you explain what object-oriented programming (OOP) is in Python, and describe the concepts of classes and objects?"}
]
# Call the API with a moderate token limit
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=messages,
max_tokens=150,
temperature=0.5
)
print("Exercise 1 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 2: Uso de Plantillas de Prompt para una Tarea Específica
Tarea:
Desarrolla una plantilla de prompt para generar una respuesta profesional de atención al cliente que explique cómo restablecer una contraseña. Incluye un ejemplo del formato de correo electrónico esperado.
Instrucciones:
- Utiliza un mensaje del sistema para establecer el tono como un agente de atención al cliente empático y eficiente.
- En el mensaje del usuario, proporciona un ejemplo de escenario y pide a la IA que genere una respuesta siguiendo una estructura similar.
Solución:
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a courteous and efficient customer support assistant."},
{"role": "user", "content": (
"Example email format:\n"
"Subject: Password Reset Assistance\n"
"Dear [Customer],\n"
"Thank you for reaching out. To reset your password, please click on the following link...\n"
"If you have any issues, let us know.\n"
"Best regards,\n"
"Support Team\n\n"
"Now, please generate a similar email response for a customer who has forgotten their password."
)}
],
max_tokens=180,
temperature=0.5
)
print("Exercise 2 Output:")
print(response["choices"][0]["message"]["content"])
Ejercicio 3: Prompting sin ejemplos versus con pocos ejemplos
Tarea:
Compara el prompting sin ejemplos y con pocos ejemplos para generar un breve resumen de los beneficios del trabajo remoto. Primero, prueba sin ejemplos, luego proporciona dos ejemplos de resúmenes efectivos como parte de un prompt con pocos ejemplos.
Instrucciones:
- Para el prompting sin ejemplos, simplemente proporciona el prompt.
- Para el prompting con pocos ejemplos, incluye dos resúmenes de ejemplo antes de solicitar uno nuevo.
Solución:
# Zero-shot Prompting
response_zero_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize three benefits of remote work."}],
max_tokens=100,
temperature=0.6
)
print("Zero-shot Response:")
print(response_zero_shot["choices"][0]["message"]["content"])
# Few-shot Prompting
response_few_shot = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are an efficient content generator."},
{"role": "user", "content": (
"Example 1: Remote work enhances flexibility by reducing commute time, allows for a better work-life balance, and can lead to increased productivity due to a personalized work environment.\n\n"
"Example 2: The benefits of remote work include the ability to work from anywhere, lower operating costs for businesses, and the opportunity for employees to create a better personal schedule.\n\n"
"Now, please provide a new summary of three benefits of remote work."
)}
],
max_tokens=120,
temperature=0.6
)
print("\nFew-shot Response:")
print(response_few_shot["choices"][0]["message"]["content"])
Ejercicio 4: Aplicación del Prompting con Cadena de Pensamiento
Tarea:
Pide al modelo que resuelva un problema lógico razonando paso a paso. Por ejemplo: "Explica paso a paso cómo determinarías si un número es primo."
Instrucciones:
- Utiliza un mensaje del sistema para indicar al asistente que piense en una cadena de pensamiento.
- Formula el prompt de usuario para solicitar una explicación detallada paso a paso.
Solución:
response_chain = openai.ChatCompletion.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a logical problem-solving assistant who explains every step in detail."},
{"role": "user", "content": "Explain step-by-step how you would determine if the number 29 is prime."}
],
max_tokens=200,
temperature=0.5
)
print("Chain-of-thought Response:")
print(response_chain["choices"][0]["message"]["content"])
Ejercicio 5: Refinamiento Iterativo de Prompts
Tarea:
Comienza con un prompt básico solicitando un resumen de las últimas tendencias en inteligencia artificial. Luego, refínalo iterativamente para incluir detalles como tecnologías clave e impactos potenciales. Envía tanto el prompt básico como el refinado.
Instrucciones:
- Primero, envía un prompt básico y captura la respuesta.
- Después, actualiza el prompt añadiendo contexto y restricciones adicionales.
- Compara los resultados.
Solución:
# Basic prompt for AI trends
basic_prompt = "Summarize the latest trends in artificial intelligence."
response_basic = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": basic_prompt}],
max_tokens=150,
temperature=0.6
)
print("Basic Prompt Response:")
print(response_basic["choices"][0]["message"]["content"])
# Refined prompt with more context
refined_prompt = (
"Summarize the latest trends in artificial intelligence, including key technologies such as natural language processing, "
"computer vision, and reinforcement learning. Also, discuss potential impacts on industries like healthcare and finance."
)
response_refined = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": refined_prompt}],
max_tokens=200,
temperature=0.6
)
print("\nRefined Prompt Response:")
print(response_refined["choices"][0]["message"]["content"])
Si has completado estos ejercicios exitosamente, ¡felicitaciones! Has practicado una variedad de técnicas de ingeniería de prompts—desde la elaboración de prompts efectivos y la utilización de mensajes del sistema, hasta la experimentación con prompting sin ejemplos, con pocos ejemplos y con cadena de pensamiento. Estos ejercicios te capacitan para crear interacciones refinadas adaptadas a las necesidades de tu aplicación.
Con estas habilidades, estás listo para avanzar y mejorar aún más tus aplicaciones de IA. Continúa experimentando, refinando tus prompts y construyendo interacciones atractivas y eficientes con la API de Chat Completions.