TableGPT Agent: herramienta inteligente diseñada para analizar datos tabulares complejos

Introducción general

TableGPT Agent es una herramienta inteligente basada en el proyecto de código abierto GitHub diseñada para procesar y analizar datos tabulares. Se basa en el modelo TableGPT2 Big Language Model, que utiliza interacciones de lenguaje natural para facilitar a los usuarios la consulta, manipulación y comprensión del contenido de tablas complejas. Ya se trate de extraer datos de archivos CSV, generar gráficos visuales o responder a preguntas específicas basadas en tablas, esta herramienta realiza el trabajo con eficacia. Ha sido desarrollada por el equipo de tablegpt y está basada en la plataforma Langgraph Soporta una variedad de escenarios de aplicación relacionados con tablas sobre la biblioteca, lo que es ideal para usuarios que necesitan análisis de datos pero no son buenos programando. El proyecto se rige por la licencia Apache 2.0 y se anima a los desarrolladores a contribuir, con el apoyo activo de la comunidad en GitHub.

TableGPT Agent:专为分析复杂表格数据设计的智能工具

 

Lista de funciones

  • Lectura y tratamiento de datos de tablas: Admite la lectura y estructuración de datos de tablas a partir de archivos CSV, Excel o bases de datos cargados localmente.
  • consulta en lenguaje natural:: Los usuarios pueden formular preguntas en lenguaje cotidiano, como "¿Cuántos hombres han sobrevivido?" o "¿Cuáles son los productos más vendidos?". o "¿Cuál es el producto más vendido?". : Los usuarios pueden hacer preguntas en lenguaje cotidiano, como "¿Cuántos hombres sobrevivieron?
  • Generación automática de códigoGeneración de código Python basado en las necesidades del usuario, como filtrar datos, calcular estadísticas o dibujar gráficos.
  • Visualización de datos: Trabaje con la herramienta para generar gráficos de líneas, diagramas de barras y otros resultados visuales para mostrar visualmente las conclusiones del análisis de datos.
  • Apoyo a tareas de formularios complejos:: Maneje estructuras tabulares de varias capas o datos irregulares para proporcionar análisis precisos.
  • función de memoria de sesiónSoporte para múltiples rondas consecutivas de diálogo preservando el contexto de análisis a través de checkpointer y session_id.
  • Escalabilidad de código abierto: Proporciona una rica API y documentación que permite a los desarrolladores personalizar funciones o integrarlas en otros proyectos.

 

Utilizar la ayuda

Proceso de instalación

TableGPT Agent es una herramienta basada en Python que requiere cierta configuración del entorno para ejecutarse. A continuación se detallan los pasos de instalación:

1. Preparación medioambiental

  • Instalación de PythonAsegúrate de que tienes Python 3.8 o posterior instalado en tu ordenador, que puedes descargar de la página web de Python.
  • Instalación de GitGitHub es una herramienta de clonación para los repositorios de GitHub, y está disponible para que los usuarios de Windows/Mac la descarguen del sitio web de Git.
  • Instalación de vLLMTableGPT Agente recomendado vLLM Despliegue el modelo TableGPT2 para garantizar una inferencia eficaz. Ejecute el siguiente comando:
    pip install vllm==0.5.5 --extra-index-url https://download.pytorch.org/whl/cu124

(Ajustado a su versión CUDA) cu124(Puede omitir este paso si no dispone de GPU, pero tendrá que desplegar el modelo manualmente).

2. Clonación de almacenes

Abra un terminal (CMD o PowerShell para Windows, Terminal para Mac/Linux) y ejecútelo:

git clone https://github.com/tablegpt/tablegpt-agent.git
cd tablegpt-agent

3. Instalación de dependencias

En el directorio del proyecto, instale las bibliotecas Python necesarias:

pip install -r requirements.txt

Instale dependencias adicionales si necesita ejecutar la funcionalidad completa localmente:

pip install ".[local]"

4. Despliegue del modelo TableGPT2

El Agente TableGPT requiere el soporte del modelo TableGPT2. En primer lugar, descargue el modelo de Hugging Face (por ejemplo, TableGPT2-7B) y, a continuación, inicie el servicio mediante vLLM:

python -m vllm.entrypoints.openai.api_server --served-model-name TableGPT2-7B --model path/to/weights

Cuando el servicio se inicia, escucha por defecto la dirección http://localhost:8000Si no desea utilizar esta URL, escríbala.

5. Configuración de los agentes

Edite el código o el archivo de configuración para que la dirección API del LLM apunte al servicio vLLM que ha desplegado, por ejemplo:

llm = ChatOpenAI(openai_api_base="http://localhost:8000/v1", openai_api_key="whatever", model_name="TableGPT2-7B")

Utilización

Una vez finalizada la instalación, TableGPT Agent está listo para funcionar. A continuación se detalla el procedimiento de funcionamiento de las funciones principales:

Función 1: Leer datos de la tabla

  1. Preparación de ficheros de datosColoque el archivo CSV o Excel en un directorio local (p. ej. gpt_workspace (carpeta).
  2. Agente de lanzamientoEjecuta el siguiente código en un entorno Python para inicializar el agente:
    from langchain_openai import ChatOpenAI
    from langgraph.checkpoint.memory import MemorySaver
    from pybox import LocalPyBoxManager
    from tablegpt.agent import create_tablegpt_graph
    llm = ChatOpenAI(openai_api_base="http://localhost:8000/v1", openai_api_key="whatever", model_name="TableGPT2-7B")
    pybox_manager = LocalPyBoxManager()
    checkpointer = MemorySaver()
    agent = create_tablegpt_graph(llm=llm, pybox_manager=pybox_manager, checkpointer=checkpointer, session_id="my-session")
    
  3. Cargar archivos: Utilice el siguiente código para cargar un archivo y permitir que el agente lo lea:
    from datetime import date
    from tablegpt.agent.file_reading import Stage
    from langchain_core.messages import HumanMessage
    attachment_msg = HumanMessage(content="请读取文件 data.csv", additional_kwargs={"file_path": "path/to/data.csv"})
    response = await agent.ainvoke(
    input={"entry_message": attachment_msg, "processing_stage": Stage.UPLOADED, "messages": [attachment_msg], "date": date.today()},
    config={"configurable": {"thread_id": "my-thread"}}
    )
    print(response["messages"])
    

    El agente devuelve un acuse de recibo de que el fichero ha sido leído.

Función 2: Consulta en lenguaje natural

  1. hacer preguntasEn la misma sesión, siga introduciendo preguntas:
    human_message = HumanMessage(content="有多少行数据?")
    response = await agent.ainvoke(
    input={"messages": [human_message], "date": date.today()},
    config={"configurable": {"thread_id": "my-thread"}}
    )
    print(response["messages"])
    
  2. al finalEl agente devolverá una respuesta del tipo "Hay 100 filas de datos".

Función 3: Generar gráficos de visualización

  1. Solicitar gráfico:: Escriba algo como "Dibujar un gráfico de barras de las ventas":
    human_message = HumanMessage(content="绘制销售额的柱状图")
    async for event in agent.astream_events(
    input={"messages": [human_message], "date": date.today()},
    config={"configurable": {"thread_id": "my-thread"}},
    version="v2"
    ):
    if event["event"] == "on_chat_model_end":
    print(event["data"]["output"])
    
  2. exportacionesEl agente genera código Python y devuelve los resultados del gráfico (con una librería como matplotlib ejecutándose localmente).

Función 4: Procesamiento de tareas complejas

Para tablas de varios niveles o datos irregulares, formule una pregunta directa como "Cuente la edad media de cada departamento" y el agente analizará y generará automáticamente los resultados.

advertencia

  • dependencia medioambientalAsegúrese de que la red no está obstruida y de que el servicio vLLM funciona correctamente.
  • ruta del archivo: Proporcione la ruta correcta al cargar archivos.
  • Gestión de sesiones: Utiliza el mismo session_id responder cantando thread_id Mantener la continuidad contextual.

Con los pasos anteriores, puede empezar a utilizar fácilmente TableGPT Agent y completar todo el proceso, desde la lectura de datos hasta el análisis.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...