Beschreibung
DAGent bietet eine meinungsstarke Python-Bibliothek zur schnellen Erstellung von KI-Agenten mit minimalem Overhead. Das Kernkonzept dreht sich um die Strukturierung der Logik von KI-Agenten in einen Workflow, der als gerichteter azyklischer Graph (DAG) visualisiert wird. Jede Python-Funktion innerhalb des Agenten wird als Knoten in diesem Graphen behandelt.
Agentenverhalten wird durch den Einsatz von Large Language Models (LLMs) erreicht, um abzuleiten, welche Funktion als Nächstes ausgeführt werden soll. Dieser Inferenzprozess wird von einem "Decision Node" verwaltet, der als zentraler Punkt für LLM-gesteuerte Entscheidungsfindung fungiert. Werkzeuge, die im Wesentlichen Python-Funktionen sind, können in den Agenten integriert werden. Es wird dringend empfohlen, klare Docstrings und Typannotationen für diese Funktionen bereitzustellen, um dem LLM beim Verständnis ihres Zwecks und ihrer Parameter zu helfen, insbesondere bei komplexeren Werkzeugen.
Die Bibliothek unterscheidet zwischen `FunctionNode` und `DecisionNode`. Ein `FunctionNode` führt eine Python-Funktion aus und kann, wenn er an einen `DecisionNode` angehängt ist, als Werkzeug behandelt werden, das ein LLM auswählen kann. Der `DecisionNode` ist der Ort, an dem das LLM aus einer Reihe verfügbarer Funktionen auswählt. Die Methode `.compile()` generiert und speichert automatisch Werkzeugbeschreibungen im JSON-Format unter einem `Tool_JSON`-Ordner, der manuell bearbeitet werden kann, wenn die Zuverlässigkeit des Agenten verbessert werden muss. Der Parameter `prev_output` ist entscheidend für die Übergabe von Daten zwischen Funktionen im Workflow und erfordert, dass er in der Funktionssignatur vorhanden ist. Für die Handhabung unerwarteter Parameter wird empfohlen, `**kwargs` zu Funktionssignaturen hinzuzufügen.
DAGent unterstützt die Verwendung verschiedener LLM-Modelle für die Inferenz und die Generierung von Werkzeugbeschreibungen. Benutzer können das gewünschte Modell beim Aufrufen von LLM-Funktionen oder beim Kompilieren von `DecisionNode`-Instanzen angeben, was Flexibilität bei der Auswahl von Modellen wie denen von Groq oder Ollama ermöglicht. Die Bibliothek ermöglicht das dynamische Überschreiben von Parametern für Funktionsknoten, was eine Feinabstimmung des Agentenverhaltens während der Ausführung ermöglicht. Feedback zur Bibliothek kann über ein spezielles Formular gegeben werden.
DAGent's Kernfunktionen
KI-Agenten mit bestehendem Python-Code erstellen
Agentenlogik als gerichtete azyklische Graphen (DAGs) strukturieren
LLM-gesteuerte Funktionsauswahl über Decision Nodes
Funktionen als Werkzeuge für LLMs behandeln
Automatische Generierung von Werkzeugbeschreibungen (JSON)
Unterstützung für mehrere LLM-Modelle (z. B. Groq, Ollama)
Daten zwischen Funktionen mit dem Parameter `prev_output` übergeben
Dynamisches Überschreiben von Parametern für Funktionsknoten
Enthält ein Beispiel für einen Quickstart-Agenten
Erste Schritte mit DAGent
Installieren: pip install dagent oder rye add dagent
Konfigurieren: Stellen Sie sicher, dass Ihr API-Schlüssel (z. B. OPENAI_API_KEY) verfügbar ist
Entwickeln: Definieren Sie Python-Funktionen, die als Knoten fungieren
Integrieren: Verwenden Sie DecisionNode, damit LLMs Funktionen auswählen können
Kompilieren: Führen Sie `.compile()` aus, um Werkzeugbeschreibungen zu generieren
Ausführen: Führen Sie Ihren Agenten-Workflow aus
DAGent's Anwendungsfälle
- Automatisierte Aufgabenausführung
- Datenanalyse-Agenten
- Code-Generierungsassistenten
- Workflow-Automatisierung
- Integration benutzerdefinierter KI-Werkzeuge
- LLM-gesteuertes Scripting








