Tienes una hoja de cálculo con 50.000 filas. La pregunta no es si puedes cargarla en memoria, sino si el LLM puede realmente entender lo que le pides que haga con los datos.
El mes pasado, le proporcioné un CSV a Claude y le pedí que encontrara anomalías. Devolvió un resumen que era técnicamente preciso pero se perdió el pico real que estaba buscando. El problema no era el modelo, sino cómo estructuré la solicitud y qué subconjunto de datos envié.
Configuración: Introduce tus datos en el Modelo
Claude y GPT-4o no pueden abrir archivos directamente. Tienes dos opciones: pegar los datos directamente o usar una API que gestione las cargas de archivos. Para conjuntos de datos pequeños (menos de 10 MB), pegar funciona. Para cualquier cosa más grande, necesitas un enfoque estructurado.
Método 1: Pegar Datos Crudos
Copia tu CSV directamente en la conversación. Esto funciona de manera fiable para conjuntos de datos de menos de 100.000 filas (aproximadamente 50 MB de texto). La ventana de contexto de Claude es actualmente de 200.000 tokens; la de GPT-4o es de 128.000 tokens. Una fila CSV típica tiene entre 50 y 200 tokens, dependiendo del número de columnas y la densidad de los datos.
# Enfoque malo
Usuario: Aquí están mis datos. Analízalos.
[pega 500 filas]
# Enfoque mejor
Usuario: Te envío datos de ventas del Q3: 847 filas, 12 columnas (fecha, producto, región, ingresos, unidades, margen, descuento, nombre_representante, tipo_cliente, método_pago, días_entrega, cliente_recurrente).
Tarea: Identifica qué productos tienen márgenes decrecientes mes a mes y qué regiones tienen la mayor variación en los tiempos de entrega.
Contexto: Lanzamos envío gratuito en agosto, por lo que los tiempos de entrega pueden haber cambiado. Los márgenes suelen rondar el 20-35%.
Por favor, estructura tu salida como:
1. Productos con disminución de margen (nombre del producto, margen Q2, margen Q3, % de cambio)
2. Regiones clasificadas por variación del tiempo de entrega (nombre de la región, días promedio, desviación estándar)
3. Una anomalía que debería investigar inmediatamente
Observa la estructura: qué datos se incluyen, la tarea exacta, el contexto relevante y el formato de salida esperado. Esto reduce las alucinaciones aproximadamente un 40% en comparación con las solicitudes vagas.
Método 2: Usar una API
Para grandes conjuntos de datos, necesitas una API. La mayoría de los LLM ofrecen APIs que puedes usar para enviar datos. Aquí es donde las cosas se ponen un poco más técnicas, ya que tendrás que escribir un poco de código para leer tu archivo y enviarlo a la API del LLM.
Ejemplo de cómo podría verse en Python:
import openai
# Configura tu clave API (asegúrate de no compartirla)
openai.api_key = "TU_CLAVE_API"
def analyze_spreadsheet_with_gpt4o(file_path):
# Leer el archivo CSV
with open(file_path, 'r', encoding='utf-8') as f:
csv_data = f.read()
# Crear el mensaje para la API
# Aquí, la clave es ser específico en la instrucción
messages = [
{"role": "system", "content": "Eres un asistente analista de datos experto."},
{"role": "user", "content": f"Analiza los siguientes datos de ventas:
{csv_data}
Tarea: Identifica los 3 productos con mayores ingresos y los 3 con menores márgenes.
Formato de salida: JSON con dos claves: 'mayores_ingresos' y 'menores_márgenes', cada una una lista de diccionarios."}
]
try:
response = openai.ChatCompletion.create(
model="gpt-4o", # O el modelo que prefieras
messages=messages,
max_tokens=1000 # Ajusta según sea necesario
)
return response.choices[0].message.content
except Exception as e:
return f"Error al llamar a la API: {e}"
# Uso
# print(analyze_spreadsheet_with_gpt4o("ruta/a/tu/archivo.csv"))
¡Asegúrate de reemplazar `»TU_CLAVE_API»` con tu clave real y `»ruta/a/tu/archivo.csv»` con la ruta correcta a tu archivo!
Evitar Alucinaciones y Obtener Resultados Precisos
Los LLM pueden