AI Personal Learning
und praktische Anleitung
豆包Marscode1

TableGPT Agent: Intelligentes Tool für die Analyse komplexer tabellarischer Daten

Allgemeine Einführung

TableGPT Agent ist ein intelligentes Tool, das auf dem Open-Source-Projekt GitHub basiert und für die Verarbeitung und Analyse von Tabellendaten entwickelt wurde. Es basiert auf dem TableGPT2 Big Language Model, das natürlichsprachliche Interaktionen nutzt, um den Benutzern die Abfrage, Bearbeitung und das Verständnis komplexer Tabelleninhalte zu erleichtern. Ob es um die Extraktion von Daten aus CSV-Dateien, die Erstellung visueller Diagramme oder die Beantwortung spezifischer tabellenbasierter Fragen geht, dieses Tool erledigt die Aufgabe effizient. Es wurde vom tablegpt-Team entwickelt und basiert auf dem Langgraph Es unterstützt eine Vielzahl von tabellenbezogenen Anwendungsszenarien und ist ideal für Benutzer, die Daten analysieren müssen, aber nicht gut im Programmieren sind. Das Projekt ist unter der Apache 2.0-Lizenz lizenziert, und Entwickler werden ermutigt, mit aktiver Unterstützung der Gemeinschaft auf GitHub beizutragen.

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


 

Funktionsliste

  • Lesen und Verarbeiten von TabellendatenLesen und Strukturieren von Tabellendaten aus lokal hochgeladenen CSV-, Excel-Dateien oder Datenbanken.
  • Abfrage in natürlicher Sprache:: Die Nutzer können Fragen in Alltagssprache stellen, z. B. "Wie viele Männer haben überlebt?" oder "Was sind die meistverkauften Produkte?" oder "Welches ist das umsatzstärkste Produkt?". :: Die Nutzer können Fragen in Alltagssprache stellen, z. B. "Wie viele Männer haben überlebt?
  • Automatische CodegenerierungGenerieren von Python-Code auf der Grundlage von Benutzeranforderungen, z. B. Filtern von Daten, Berechnen von Statistiken oder Zeichnen von Diagrammen.
  • Unterstützung bei der DatenvisualisierungArbeiten Sie mit dem Tool, um Liniendiagramme, Balkendiagramme und andere visuelle Ergebnisse zu erstellen, um die Ergebnisse der Datenanalyse visuell darzustellen.
  • Komplexe Formulare Aufgabenunterstützung:: Umgang mit mehrschichtigen Tabellenstrukturen oder unregelmäßigen Daten, um genaue Analysen zu erstellen.
  • SitzungsspeicherfunktionUnterstützung für mehrere aufeinanderfolgende Dialogrunden durch Beibehaltung des Analysekontexts mittels checkpointer und session_id.
  • Skalierbarkeit von Open SourceBietet eine umfangreiche API und Dokumentation, die es Entwicklern ermöglicht, Funktionen anzupassen oder in andere Projekte zu integrieren.

 

Hilfe verwenden

Einbauverfahren

TableGPT Agent ist ein Python-basiertes Tool, das eine bestimmte Umgebungskonfiguration benötigt, um zu laufen. Im Folgenden finden Sie die detaillierten Installationsschritte:

1. die Vorbereitung der Umwelt

  • Installation von PythonVergewissern Sie sich, dass Sie Python 3.8 oder höher auf Ihrem Computer installiert haben. Sie können es von der offiziellen Python-Website herunterladen.
  • Installation von GitGitHub ist ein Klon-Tool für GitHub-Repositories, das für Windows- und Mac-Benutzer auf der Git-Website verfügbar ist.
  • Installation von vLLM: TableGPT Agent empfohlen vLLM Setzen Sie das TableGPT2-Modell ein, um eine effiziente Inferenz zu gewährleisten. Führen Sie den folgenden Befehl aus:
    pip install vllm==0.5.5 --extra-index-url https://download.pytorch.org/whl/cu124

(Angepasst an Ihre CUDA-Version) cu124(Sie können diesen Schritt überspringen, wenn Sie keinen Grafikprozessor haben, aber Sie müssen das Modell manuell bereitstellen).

2. das Klonen von Lagern

Öffnen Sie ein Terminal (CMD oder PowerShell für Windows, Terminal für Mac/Linux) und führen Sie es aus:

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

3. die Installation von Abhängigkeiten

Installieren Sie im Projektverzeichnis die erforderlichen Python-Bibliotheken:

pip install -r requirements.txt

Installieren Sie zusätzliche Abhängigkeiten, wenn Sie die volle Funktionalität lokal nutzen möchten:

pip install ".[local]"

4. der Einsatz des TableGPT2-Modells

TableGPT Agent erfordert die Unterstützung des TableGPT2-Modells. Laden Sie zunächst das Modell von Hugging Face herunter (z. B. TableGPT2-7B) und starten Sie dann den Dienst mit vLLM:

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

Wenn der Dienst startet, lauscht er standardmäßig auf die http://localhost:8000Wenn Sie diese URL nicht verwenden möchten, notieren Sie die URL.

5. die Konfiguration von Agenten

Bearbeiten Sie den Code oder die Konfigurationsdatei, um die API-Adresse des LLM auf den vLLM-Dienst zu verweisen, den Sie beispielsweise bereitgestellt haben:

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

Verwendung

Nachdem die Installation abgeschlossen ist, ist TableGPT Agent betriebsbereit. Nachfolgend finden Sie eine detaillierte Beschreibung der Hauptfunktionen:

Funktion 1: Tabellendaten lesen

  1. Vorbereiten von Dateien: Legen Sie die CSV- oder Excel-Datei in ein lokales Verzeichnis (z. B. gpt_workspace (Ordner).
  2. Launch Agent: Führen Sie den folgenden Code in einer Python-Umgebung aus, um den Agenten zu initialisieren:
    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. Hochladen von Dateien: Verwenden Sie den folgenden Code, um eine Datei hochzuladen und den Agenten sie lesen zu lassen:
    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"])
    

    Der Agent gibt eine Bestätigung zurück, dass die Datei gelesen worden ist.

Funktion 2: Abfrage in natürlicher Sprache

  1. Fragen stellenIn derselben Sitzung können Sie weiterhin Fragen eingeben:
    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. am EndeDer Agent wird eine Antwort wie "Es gibt 100 Datenzeilen" zurückgeben.

Funktion 3: Visualisierungsgrafiken erstellen

  1. Tabelle anfordern:: Geben Sie etwas ein wie "Zeichnen Sie ein Balkendiagramm der Verkäufe":
    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. AusfuhrenDer Agent generiert Python-Code und liefert die Diagrammergebnisse (mit einer lokal laufenden Bibliothek wie matplotlib).

Funktion 4: Verarbeitung komplexer Aufgaben

Bei Tabellen mit mehreren Ebenen oder unregelmäßigen Daten können Sie eine direkte Frage stellen, z. B. "Zählen Sie das Durchschnittsalter der einzelnen Abteilungen", und der Agent wird die Ergebnisse automatisch analysieren und generieren.

caveat

  • UmweltabhängigkeitVergewissern Sie sich, dass das Netzwerk offen ist und der vLLM-Dienst ordnungsgemäß ausgeführt wird.
  • Dateipfad: Geben Sie beim Hochladen von Dateien den richtigen Pfad an.
  • Sitzungsmanagement: Verwenden Sie das gleiche session_id im Gesang antworten thread_id Bewahren Sie die kontextuelle Kontinuität.

Mit den oben genannten Schritten können Sie einfach mit TableGPT Agent beginnen und den gesamten Prozess vom Einlesen der Daten bis zur Analyse abschließen!

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " TableGPT Agent: Intelligentes Tool für die Analyse komplexer tabellarischer Daten
de_DEDeutsch