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.
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:8000
Wenn 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
- Vorbereiten von Dateien: Legen Sie die CSV- oder Excel-Datei in ein lokales Verzeichnis (z. B.
gpt_workspace
(Ordner). - 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")
- 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
- 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"])
- am EndeDer Agent wird eine Antwort wie "Es gibt 100 Datenzeilen" zurückgeben.
Funktion 3: Visualisierungsgrafiken erstellen
- 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"])
- 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 antwortenthread_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!