Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

TableGPT Agent: ferramenta inteligente projetada para analisar dados tabulares complexos

Introdução geral

O TableGPT Agent é uma ferramenta inteligente baseada no projeto de código aberto do GitHub projetado para processar e analisar dados tabulares. Ele se baseia no TableGPT2 Big Language Model, que usa interações de linguagem natural para facilitar aos usuários a consulta, a manipulação e a compreensão do conteúdo de tabelas complexas. Seja para extrair dados de arquivos CSV, gerar gráficos visuais ou responder a perguntas específicas baseadas em tabelas, essa ferramenta realiza o trabalho com eficiência. Ela foi desenvolvida pela equipe do tablegpt e tem como base o Langgraph Ele oferece suporte a uma variedade de cenários de aplicativos relacionados a tabelas e é ideal para usuários que precisam analisar dados, mas não são bons em programação. O projeto está licenciado sob a licença Apache 2.0, e os desenvolvedores são incentivados a contribuir, com suporte ativo da comunidade no GitHub.

TableGPT Agent:专为处理和分析表格数据设计的智能工具-1


 

Lista de funções

  • Leitura e processamento de dados de tabelaSuporte à leitura e à estruturação de dados de tabela a partir de arquivos CSV, Excel ou bancos de dados carregados localmente.
  • consulta em linguagem natural:: Os usuários podem fazer perguntas em linguagem cotidiana, como "Quantos homens sobreviveram?" ou "Quais são os produtos mais vendidos?" ou "Qual é o produto mais vendido?". :: Os usuários podem fazer perguntas em linguagem cotidiana, como "Quantos homens sobreviveram?
  • Geração automática de códigoGeração de código Python com base nas necessidades do usuário, como filtragem de dados, cálculo de estatísticas ou desenho de gráficos.
  • Suporte à visualização de dadosTrabalho com a ferramenta para gerar gráficos de linhas, gráficos de barras e outros resultados visuais para exibir visualmente as conclusões da análise de dados.
  • Suporte a tarefas de formulários complexosDescrição: lidar com estruturas tabulares de várias camadas ou dados irregulares para fornecer análises precisas.
  • função de memória de sessãoSuporte a várias rodadas consecutivas de diálogo, preservando o contexto de análise por meio de checkpointer e session_id.
  • Escalabilidade de código abertoAPI: fornece uma API e documentação avançadas que permitem aos desenvolvedores personalizar recursos ou integrá-los a outros projetos.

 

Usando a Ajuda

Processo de instalação

O TableGPT Agent é uma ferramenta baseada em Python que requer determinadas configurações de ambiente para ser executada. Veja a seguir as etapas detalhadas de instalação:

1. preparação ambiental

  • Instalação do PythonVerifique se você tem o Python 3.8 ou posterior instalado em seu computador, que pode ser baixado do site oficial do Python.
  • Instalação do GitO GitHub é uma ferramenta de clonagem para repositórios do GitHub, disponível para usuários do Windows/Mac no site do Git.
  • Instalação do vLLMTabela: Agente GPT recomendado vLLM Implante o modelo TableGPT2 para garantir uma inferência eficiente. Execute o seguinte comando:
    pip install vllm==0.5.5 --extra-index-url https://download.pytorch.org/whl/cu124

(Ajustado à sua versão CUDA) cu124(Você pode pular esta etapa se não tiver uma GPU, mas precisará implantar o modelo manualmente).

2. clonagem de armazéns

Abra um terminal (CMD ou PowerShell para Windows, Terminal para Mac/Linux) e execute-o:

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

3. instalação de dependências

No diretório do projeto, instale as bibliotecas Python necessárias:

pip install -r requirements.txt

Instale dependências adicionais se você precisar executar a funcionalidade completa localmente:

pip install ".[local]"

4. implementação do modelo TableGPT2

O TableGPT Agent requer suporte ao modelo TableGPT2. Primeiro, baixe o modelo do Hugging Face (por exemplo, TableGPT2-7B) e, em seguida, inicie o serviço usando o vLLM:

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

Quando o serviço é iniciado, ele escuta, por padrão, o endereço http://localhost:8000Se você não quiser usar esse URL, anote o URL.

5. configuração de agentes

Edite o código ou o arquivo de configuração para apontar o endereço da API do LLM para o serviço vLLM que você implantou, por exemplo:

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

Uso

Após a conclusão da instalação, o TableGPT Agent está pronto para ser executado. Veja a seguir o procedimento de operação detalhado das principais funções:

Função 1: Ler dados da tabela

  1. Preparação de arquivos de dadosColoque o arquivo CSV ou Excel em um diretório local (por exemplo gpt_workspace (pasta).
  2. Agente de lançamentoExecute o código a seguir em um ambiente Python para inicializar o 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. Carregamento de arquivosUse o código a seguir para fazer upload de um arquivo e permitir que o agente o leia:
    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"])
    

    O agente retorna uma confirmação de que o arquivo foi lido.

Função 2: Consulta em linguagem natural

  1. fazer perguntasNa mesma sessão, continue a inserir perguntas:
    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. no finalO agente retornará uma resposta como "There are 100 rows of data" (Há 100 linhas de dados).

Função 3: Gerar gráficos de visualização

  1. Gráfico de solicitação:: Digite algo como "Draw a bar graph of sales" (Desenhe um gráfico de barras de vendas):
    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. exportaçõesO agente gera código Python e retorna os resultados do gráfico (com uma biblioteca como a matplotlib em execução local).

Função 4: processamento de tarefas complexas

Para tabelas de várias camadas ou dados irregulares, faça uma pergunta direta, como "Conte a idade média de cada departamento", e o agente analisará e gerará os resultados automaticamente.

advertência

  • dependência ambientalVerifique se a rede está aberta e se o serviço vLLM está sendo executado corretamente.
  • caminho do arquivoForneça o caminho correto ao fazer upload de arquivos.
  • Gerenciamento de sessõesUse o mesmo session_id responder cantando thread_id Manter a continuidade contextual.

Com as etapas acima, você pode começar a usar facilmente o TableGPT Agent e concluir todo o processo, desde a leitura dos dados até a análise!

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " TableGPT Agent: ferramenta inteligente projetada para analisar dados tabulares complexos
pt_BRPortuguês do Brasil