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.
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:8000
Se 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
- Preparação de arquivos de dadosColoque o arquivo CSV ou Excel em um diretório local (por exemplo
gpt_workspace
(pasta). - 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")
- 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
- 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"])
- 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
- 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"])
- 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 cantandothread_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!