Programación
Generación de código
Prompt del sistema
Eres un desarrollador de software experimentado. Tu tarea es generar código en Python que resuelva la tarea planteada. Cumple con los estándares de escritura de código y añade comentarios para explicarlo.
Prompt del usuario
Escribe una función en Python que tome una lista de números y devuelva una lista solo con los números pares.
Respuesta del LLM
def filter_even_numbers(numbers):
"""
Filtra los números pares de una lista.
\
:param numbers: Lista de números
:return: Lista de números pares
"""
return [num for num in numbers if num % 2 == 0]
\
# Ejemplo de uso
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter_even_numbers(numbers)
print(even_numbers) # Salida: [2, 4, 6]
Debug
Prompt del sistema
Eres un desarrollador profesional que ayuda a encontrar y corregir errores en el código. Tu tarea es encontrar el error y proponer una corrección.
Prompt del usuario
Aquí hay un código que debería devolver la suma de todos los números en una lista, pero no funciona correctamente:
\
def sum_numbers(numbers):
total = 0
for i in range(1, len(numbers)):
total += numbers[i]
return total
Respuesta del LLM
def sum_numbers(numbers):
"""
Devuelve la suma de todos los números en una lista.
\
:param numbers: Lista de números
:return: Suma de los números
"""
total = 0
for i in range(len(numbers)): # Corregido: el bucle debe comenzar en 0
total += numbers[i]
return total
\
# Ejemplo de uso
numbers = [1, 2, 3, 4]
total_sum = sum_numbers(numbers)
print(total_sum) # Salida: 10
Docstrings
Prompt del sistema
Eres un experto en Python que añade docstrings a las funciones para mejorar la legibilidad y la comprensión del código. Tu tarea es escribir docstrings detallados.
Prompt del usuario
Aquí hay un código de función sin docstring:
\
def multiply(a, b):
return a * b
Respuesta del LLM
def multiply(a, b):
"""
Multiplica dos números.
\
:param a: Primer número
:param b: Segundo número
:return: Producto de a y b
"""
return a * b
Reescribir código (añadir logging)
Prompt del sistema
Eres un programador experimentado que añade logging al código para rastrear la ejecución del programa. Utiliza la biblioteca estándar logging.
Prompt del usuario
Añade logging a la siguiente función:
\
def divide(a, b):
return a / b
Respuesta del LLM
import logging
\
logging.basicConfig(level=logging.INFO)
\
def divide(a, b):
"""
Divide el número a por el número b, añadiendo logging.
\
:param a: Dividendo
:param b: Divisor
:return: Resultado de la división
"""
logging.info(f"División de {a} entre {b}")
if b == 0:
logging.error("Intento de división por cero")
return None
return a / b
\
# Ejemplo de uso
result = divide(10, 2)
print(result) # Salida: 5.0
Análisis de logs
Prompt del sistema
Eres un especialista en análisis de datos que analiza los logs de la aplicación para identificar errores y anomalías. Tu tarea es encontrar y describir los problemas en los logs.
Prompt del usuario
[INFO] 2024-11-22 12:00:00 - Inicio de la aplicación
[ERROR] 2024-11-22 12:01:00 - Error de conexión a la base de datos
[INFO] 2024-11-22 12:02:00 - Reintento de conexión
[ERROR] 2024-11-22 12:03:00 - Error de conexión a la base de datos
[INFO] 2024-11-22 12:04:00 - Conexión exitosa
Respuesta del LLM
En los logs se observan errores repetidos de conexión a la base de datos a las 12:01 y 12:03. Esto puede indicar inestabilidad de la red o problemas con la configuración de la base de datos. Se recomienda verificar la configuración de la conexión y la estabilidad de la red.
Dibujar un gráfico para una tabla
Prompt del sistema
Eres un especialista en visualización de datos que crea gráficos basados en los datos proporcionados. Utiliza la biblioteca matplotlib para construir gráficos.
Prompt del usuario
Construye un gráfico para los siguientes datos de ventas:
\
Mes: ['Enero', 'Febrero', 'Marzo']
Ventas: [100, 150, 200]
Respuesta del LLM
import matplotlib.pyplot as plt
\
months = ['Enero', 'Febrero', 'Marzo']
sales = [100, 150, 200]
\
plt.plot(months, sales, marker='o')
plt.title('Ventas por mes')
plt.xlabel('Mes')
plt.ylabel('Ventas')
plt.grid(True)
plt.show()
Este prompt se puede aplicar más ampliamente dentro de las aplicaciones Chat with Data, que funcionan según el siguiente algoritmo:
- estudiar el archivo del usuario (por ejemplo, preguntando a la persona o mediante código)
- escribir código para obtener los datos necesarios del archivo / construir gráficos
- ejecutar este código en un entorno de ejecución
- interpretar el resultado del código y devolverlo al usuario
Chat with data
Prompt del sistema
Eres un experto en procesamiento de datos que ayuda a extraer e interpretar datos de archivos de texto. Tu tarea es escribir código para extraer información y explicar los resultados.
Prompt del usuario
Escribe código para extraer todas las palabras únicas de un archivo y contar su frecuencia.
Respuesta del LLM
def extract_unique_words(file_path):
"""
Extrae palabras únicas de un archivo y cuenta su frecuencia.
\
:param file_path: Ruta al archivo
:return: Diccionario con palabras únicas y su frecuencia
"""
word_count = {}
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
words = line.split()
for word in words:
word = word.lower().strip('.,!?')
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
return word_count
\
# Ejemplo de uso
# results = extract_unique_words('example.txt')
# print(results)
Generación de código para una solicitud API según la documentación de la API
Prompt del sistema
Eres un desarrollador experimentado que crea código para interactuar con una API basándose en la documentación proporcionada. Utiliza la biblioteca requests para realizar solicitudes HTTP.
Prompt del usuario
Crea código para realizar una solicitud GET a la API en la siguiente URL: "https://api.example.com/data" y procesa la respuesta.
Respuesta del LLM
import requests
\
def fetch_data_from_api():
"""
Realiza una solicitud GET a la API y devuelve los datos.
\
:return: Datos de la API en formato JSON
"""
url = "https://api.example.com/data"
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
print(f"Error: {response.status_code}")
return None
\
# Ejemplo de uso
data = fetch_data_from_api()
if data:
print(data)
En este caso, estamos haciendo un GET simple, sin cuerpo ni encabezados de solicitud. Junto con la instrucción del usuario, podemos pasar la documentación del endpoint de la API para generar una solicitud con una lógica más compleja.