Saltearse al contenido

CSVAgent

⚠️ ADVERTENCIA DE DEPRECACIÓN

Este componente está deprecado y será eliminado en una versión futura de Nappai. Por favor, migra a los componentes alternativos recomendados.

El componente CSVAgent te permite crear un agente de IA que puede leer y procesar archivos CSV, utilizando herramientas y un modelo de lenguaje para responder preguntas o realizar tareas basadas en los datos del CSV.

¿Cómo funciona?

CSVAgent se basa en la función create_csv_agent de LangChain. Cuando lo añades a tu flujo de trabajo, debes proporcionar:

  1. Model – El modelo de lenguaje (LLM) que el agente usará para generar respuestas.
  2. File Path – La ruta al archivo CSV que quieres analizar.
  3. Agent Type – El estilo de agente que se empleará (zero-shot-react-description, openai-functions o openai-tools).

Internamente, el componente carga el CSV, crea un agente con las herramientas adecuadas y lo configura para que el LLM pueda consultar los datos. Cuando envías una pregunta al agente, éste procesa la información del CSV y devuelve una respuesta generada por el modelo.

Entradas

  • Model – El modelo de lenguaje que el agente utilizará para generar respuestas.
  • File Path – La ruta al archivo CSV que el agente leerá.
  • Agent Type – El tipo de agente que se empleará para procesar la información.
  • Handle Parse Errors – Indica si el agente debe intentar manejar errores de análisis de CSV.
  • Input – La entrada que el agente recibirá (por ejemplo, una pregunta o instrucción).
  • Max Iterations – Número máximo de iteraciones que el agente puede realizar antes de detenerse.
  • Verbose – Si se activa, el agente mostrará información detallada de su proceso.

Salidas

  • Agent – El objeto AgentExecutor creado por build_agent.
  • Response – El mensaje generado por el agente (Message).

Ejemplo de Uso

Supongamos que tienes un archivo ventas.csv con columnas cliente, producto y monto. Quieres saber quién gastó más en el último trimestre.

  1. Añade el componente CSVAgent al flujo.
  2. Selecciona un modelo de lenguaje (por ejemplo, gpt-4).
  3. Proporciona la ruta al archivo ventas.csv.
  4. Elige openai-tools como tipo de agente.
  5. En la entrada Input, escribe:
    ¿Quién gastó más en el último trimestre?
  6. Ejecuta el flujo.
  7. El componente devolverá el agente y la respuesta, que puedes usar en un bloque de texto o en otro componente.

Componentes Relacionados

  • LCAgentComponent – La clase base que provee la lógica común para agentes.
  • AgentAsyncHandler – Maneja los callbacks y la comunicación asíncrona del agente.
  • create_csv_agent – Función de LangChain que crea el agente a partir de un CSV.

Consejos y Mejores Prácticas

  • Mantén tus CSVs pequeños: Los modelos de lenguaje pueden manejar archivos de hasta unos pocos miles de filas sin problemas.
  • Usa openai-tools cuando necesites una mayor precisión y menos ruido en las respuestas.
  • Activa Verbose solo cuando necesites depurar, ya que genera mucha salida.
  • Gestiona los errores de análisis con Handle Parse Errors para evitar que el flujo se detenga por datos mal formateados.

Consideraciones de Seguridad

  • Datos sensibles: Si tu CSV contiene información confidencial, revisa las políticas de privacidad de tu LLM antes de enviarlo.
  • Control de acceso: Asegúrate de que solo usuarios autorizados puedan cargar archivos CSV en el sistema.
  • Logs: Si Verbose está activado, los logs pueden contener datos sensibles; almacénalos de forma segura.