Dev Assistant ist ein Python-Projekt, das einen intelligenten Agenten demonstriert, der in der Lage ist, Aufgaben auszuführen, von seiner Umgebung zu lernen und seinen Fortschritt in Richtung eines bestimmten Ziels zu bewerten. Der Agent besteht aus mehreren Modulen, von denen jedes für einen bestimmten Aspekt des Verhaltens des Agenten verantwortlich ist.
Der Agent arbeitet auf der Grundlage der vom Benutzer bereitgestellten Eingabeziele und verwendet eine Reihe von Tools, um das gewünschte Ergebnis zu erzielen.
Das Tool ist besonders nützlich für Aufgaben, bei deren Abschluss mehrere Dateien erstellt werden, und ist darauf ausgelegt, den Arbeitsablauf von Entwicklern zu optimieren.
Schlüsselkomponenten
- ReasoningModule: Generiert und priorisiert Aufgaben basierend auf dem Ziel und dem aktuellen Status des Agenten.
- PerceptionModule: Verarbeitet Aufgaben und Ergebnisse, um sie für das Verständnis und die Ausführung des Agenten zu optimieren.
- ExecutionModule: Führt Aufgaben mit verschiedenen Tools aus und gibt die Ergebnisse zurück.
- LearningModule: Lernt aus Beobachtungen und passt das Verhalten des Agenten an, um die Effizienz zu verbessern.
- MemoryModule: Speichert und ruft relevante Informationen basierend auf den Aufgaben und Zielen des Agenten ab.
- EvaluationModule: Bewertet den Fortschritt des Agenten in Richtung seines Ziels und stellt fest, ob das Ziel erreicht wurde.
Verwendung
Um das Projekt einzurichten, gehen Sie folgendermaßen vor:
- Klonen Sie das Repository auf Ihren lokalen Computer.
- Installieren Sie die erforderlichen Abhängigkeiten, indem Sie
make install
ausführen. - Richten Sie die erforderlichen Umgebungsvariablen in einer
.envrc
Datei ein. Sie müssen Ihren OpenAI-API-Schlüssel angeben. - Führen Sie das Projekt mit dem Befehl
make docker
oder make
.
Ausführen des Projekts
Sie können das Projekt in verschiedenen Modi ausführen:
- Um das Projekt mit einem bestimmten Ziel auszuführen, verwenden Sie den Befehl
python -u -m main --obj "Your objective here"
. - Um das Projekt im ausführlichen Modus auszuführen, fügen Sie dem Befehl das Flag
--verbose
hinzu. - Um das Projekt mit einem Visualizer auszuführen, fügen Sie dem Befehl das Flag
--visualizer
hinzu.
WARNUNG:
Der Agent ist mit Werkzeugen ausgestattet, die es ermöglichen, Änderungen an der Maschine vorzunehmen, auf der er gerade arbeitet. Es wird empfohlen, den Agenten im Docker-Container auszuführen. Laufen
Docker machen
Befehl zum Starten eines Containers.
Werkzeuge
Der Assistent nutzt mehrere Tools, um Aufgaben zu erledigen. Zu diesen Tools gehören unter anderem:
- Python REPL
- Bash-Befehle
- Dateimanipulation (Lesen, Schreiben, Löschen usw.)
- GitHub-Integration
- Web-Scraping
Struktur
Das Projekt besteht aus mehreren Python-Dateien, die jeweils ein bestimmtes Modul oder eine bestimmte Klasse enthalten:
- AgentOrchestrator.py: Enthält die Hauptklasse AgentOrchestrator, die die verschiedenen Module koordiniert, um das Ziel des Agenten zu erreichen.
- main.py: Das Hauptskript, das den Agenten ausführt und Befehlszeilenargumente verarbeitet.
Zukünftige Verbesserungen
- Verbessern Sie die Fähigkeit des Agenten, komplexere Ziele und Aufgaben zu bewältigen.
- Fügen Sie dem ExecutionModule weitere Tools und Funktionen hinzu.
- Verbessern Sie die Lern- und Anpassungsfähigkeiten des Agenten.
- Implementieren Sie einen Visualizer, um den Fortschritt und den Entscheidungsprozess des Agenten anzuzeigen.
Mitwirken
Wenn Sie zum Projekt beitragen möchten, können Sie gerne einen Pull-Request einreichen oder ein Issue im Repository öffnen.
Links
- Auto-GPT
- babyAGI
- Lama-Index
- langchain
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.