Entwicklung intelligenter Agenten mit CrewAI
Einführung in intelligente Agenten und das CrewAI-Framework
In der Welt der künstlichen Intelligenz gewinnen intelligente Agenten zunehmend an Bedeutung. Diese Agenten können Entscheidungen treffen, aus ihrer Umgebung lernen und Aufgaben von einfacher Automatisierung bis hin zu komplexer Datenanalyse durchführen. Dieses Tutorial führt Sie durch die Erstellung intelligenter Agenten mit CrewAI, einem leistungsstarken Framework, das entwickelt wurde, um die Entwicklung von KI-Agenten zu vereinfachen.
Warum CrewAI und Verständnis von Agentensystemen
CrewAI sticht hervor, indem es viele Komplexitäten bei der Erstellung intelligenter Agenten behandelt, sodass Sie sich auf die Kernlogik und das Verhalten konzentrieren können. Es ist sowohl für Anfänger als auch für erfahrene Entwickler geeignet und erleichtert es, KI-Ideen effizient in die Tat umzusetzen. Ein Agentensystem besteht aus einzelnen Agenten, die mit ihrer Umgebung interagieren, um spezifische Ziele zu erreichen. Jeder Agent nimmt seine Umgebung wahr, trifft Entscheidungen basierend auf Beobachtungen und handelt entsprechend. Einige Agenten können sogar aus vergangenen Erfahrungen lernen und sich im Laufe der Zeit verbessern.
Erste Schritte und Verbesserung von Agenten
Wir beginnen mit der Erstellung eines grundlegenden Agenten, der eine einfache Aufgabe ausführt. Sie lernen, wie Sie den Zweck des Agenten definieren, seine Umgebung einrichten und sein Verhalten basierend auf Eingaben konfigurieren. Als Nächstes integrieren wir Agenten mit großen Sprachmodellen wie GPT-4, damit sie komplexe sprachbasierte Aufgaben übernehmen können. Sie lernen, wie Sie Agenten mit LLMs verbinden und diese Integrationen praktisch anwenden. Wir werden erkunden, wie Sie Ihre Agenten mit externen Ressourcen verknüpfen, um ihre Fähigkeiten zu erweitern und sie leistungsfähiger und nützlicher zu machen. CrewAI ist in verschiedenen Branchen anpassbar, und wir werden besprechen, wie Sie Ihre Agenten für verschiedene Szenarien modifizieren können, um die Vielseitigkeit des Frameworks zu demonstrieren.
Einrichten Ihrer Entwicklungsumgebung
Einrichten einer virtuellen Umgebung
Eine virtuelle Umgebung ist wie ein separater Arbeitsbereich auf Ihrem Computer, der alle Abhängigkeiten und Bibliotheken für Ihr Projekt von anderen isoliert. Diese Isolation hilft, Konflikte zwischen verschiedenen Projekten zu vermeiden und sicherzustellen, dass Ihr Projekt die richtigen Versionen von Bibliotheken verwendet.
Für Windows:
- Öffnen Sie Ihre bevorzugte integrierte Entwicklungsumgebung (IDE) wie PyCharm, VS Code oder auch nur die Eingabeaufforderung.
- Wechseln Sie in das Verzeichnis, in dem Sie Ihr Projekt erstellen möchten, indem Sie den Befehl cd verwenden.
- Führen Sie den folgenden Befehl aus, um eine virtuelle Umgebung zu erstellen:
python -m venv myenv
- Um die virtuelle Umgebung zu aktivieren, führen Sie aus:
myenv\Scripts\activate
Für MacOS:
- Öffnen Sie das Terminal und wechseln Sie in das Verzeichnis, in dem Sie Ihr Projekt haben möchten.
- Führen Sie den folgenden Befehl aus, um eine virtuelle Umgebung zu erstellen:
python3 -m venv myenv
- Um sie zu aktivieren, führen Sie aus:
source myenv/bin/activate
Nachdem die virtuelle Umgebung aktiviert ist, können Sie nun die erforderlichen Bibliotheken installieren, ohne andere Projekte auf Ihrem System zu beeinträchtigen.
Installer CrewAI
Nachdem Ihre virtuelle Umgebung eingerichtet ist, ist der nächste Schritt die Installation von CrewAI, dem Framework, das unsere intelligenten Agenten antreiben wird. Stellen Sie sicher, dass Ihre virtuelle Umgebung aktiv ist (Sie sollten (myenv) in Ihrem Terminal oder Ihrer Eingabeaufforderung sehen). Führen Sie den folgenden Befehl aus, um das Hauptpaket CrewAI zu installieren:
pip install crewai
Um zusätzliche Tools zu installieren, die für Ihre Agenten hilfreich sein werden, können Sie ausführen:pip install 'crewai[tools]'
Alternativ können Sie sowohl das Hauptpaket als auch die Tools zusammen installieren:pip install crewai crewai-tools
Erstellen Ihres Projekts
Jetzt, da CrewAI installiert ist, ist es an der Zeit, Ihr Projekt zu erstellen. CrewAI bietet einen praktischen Befehl, um die grundlegende Struktur Ihres Projekts aufzubauen, was Ihnen Zeit spart und sicherstellt, dass alles von Anfang an korrekt organisiert ist.
Führen Sie den folgenden Befehl in Ihrem Terminal aus:crewai create crew
Ersetzen Sie crew
durch den Namen, den Sie für Ihr Projekt wünschen. Dieser Befehl erstellt einen Ordner mit dem Namen Ihres Projekts und richtet die grundlegende Struktur darin ein.
Verstehen der Projektstruktur
Nachdem Sie den Befehl crewai create crew
ausgeführt haben, werden Sie feststellen, dass eine Projektstruktur für Sie erstellt wurde. So sieht sie aus:
-
.gitignore
: Diese Datei sagt Git (einem Versionskontrollsystem), welche Dateien oder Ordner ignoriert werden sollen. Sie ist nützlich, um unnötige Dateien aus Ihrer Versionsgeschichte fernzuhalten. -
pyproject.toml
: Diese Datei enthält Konfigurationsinformationen für Ihr Projekt, einschließlich Abhängigkeiten und Einstellungen, die erforderlich sind, um Ihr Projekt zu erstellen und auszuführen. -
README.md
: Dies ist eine Markdown-Datei, in der Sie Ihr Projekt beschreiben, Anweisungen geben und wichtige Details dokumentieren können. -
src/
: Dieser Ordner enthält den Hauptquellcode für Ihr Projekt. -
my_project/
: Imsrc/
Ordner befindet sich ein weiterer Ordner mit dem Namen Ihres Projekts. Hier wird der Großteil des Codes Ihres Projekts untergebracht sein. -
__init__.py
: Diese Datei lässt Python das Verzeichnis als Paket behandeln. Sie müssen es normalerweise nicht viel ändern. -
main.py
: Dies ist der Haupt-Einstiegspunkt für Ihr Projekt. Hier definieren Sie, wie Ihre Agenten ausgeführt werden und verwalten den gesamten Ablauf Ihrer Anwendung. -
crew.py
: In dieser Datei definieren Sie die Logik Ihrer Agenten, Tools und Aufgaben. Sie fügen benutzerdefinierte Funktionen, Argumente und jegliche spezifische Logik hinzu, die Ihr Projekt benötigt. -
tools/
: In diesem Verzeichnis können Sie benutzerdefinierte Tools hinzufügen, die Ihre Agenten möglicherweise verwenden. Wenn Sie beispielsweise eine bestimmte Funktion oder Dienstleistung benötigen, die nicht integriert ist, können Sie sie hier definieren. -
custom_tool.py
: Eine Beispiel-Datei, in der Sie beginnen können, Ihre eigenen Tools hinzuzufügen. -
__init__.py
: Wieder macht diese Datei Python das Verzeichnis als Paket behandeln. -
config/
: Dieser Ordner enthält Konfigurationsdateien, wo Sie Ihre Agenten und Aufgaben definieren. -
agents.yaml
: In dieser Datei definieren Sie die Agenten für Ihr Projekt, einschließlich ihrer Rollen, Ziele und spezifischen Konfigurationen, die sie benötigen. -
tasks.yaml
: Diese Datei ist der Ort, wo Sie die Aufgaben definieren, die Ihre Agenten ausführen werden. Sie beschreiben jede Aufgabe, skizzieren das erwartete Ergebnis und verknüpfen es mit dem entsprechenden Agenten.
Anpassen Ihres Projekts
Jetzt, wo Sie die Struktur verstehen, können Sie beginnen, Ihr Projekt anzupassen. Beispielsweise möchten Sie vielleicht einen neuen Agenten in der agents.yaml
Datei definieren, indem Sie seine Rolle und Ziele umreißen. Anschließend würden Sie Aufgaben in der tasks.yaml
Datei definieren, die angeben, was der Agent tun soll. In der crew.py
Datei schreiben Sie die eigentliche Logik, die alles miteinander verbindet. Hier definieren Sie, wie die Agenten mit Aufgaben interagieren, sich mit externen Tools verbinden und Eingaben und Ausgaben verwalten.
Anpassen Ihrer Agenten und Aufgaben
Jetzt, wo wir unser Projekt eingerichtet haben, ist es an der Zeit, die Agenten und Aufgaben zu definieren, die unseren Inhaltserstellungsprozess steuern werden. Dies beinhaltet das Bearbeiten von zwei wichtigen YAML-Dateien: agents.yaml
und tasks.yaml
. In diesen Dateien geben Sie die Rollen, Ziele und Aufgaben für jeden Agenten in Ihrem Projekt an.
Schritt 1: Navigieren zu den YAML-Dateien
Öffnen Sie zuerst das src/my_project/config/
Verzeichnis innerhalb Ihrer Projektstruktur. Hier finden Sie die agents.yaml
und tasks.yaml
Dateien. Diese Dateien sind entscheidend, da sie das Verhalten und die Verantwortlichkeiten Ihrer Agenten definieren.
- Navigieren Sie zu der
agents.yaml
Datei: In dieser Datei definieren Sie die verschiedenen Agenten, die an Ihrem Projekt teilnehmen werden. - Navigieren Sie zu der
tasks.yaml
Datei: In dieser Datei definieren Sie die spezifischen Aufgaben, die jeder Agent ausführen wird.
Schritt 2: Definieren von Agenten in agents.yaml
Öffnen Sie die agents.yaml
Datei in Ihrer IDE oder Ihrem Texteditor. Diese Datei sollte folgendermaßen aussehen:
researcher:
role: "Content Analyst"
goal: "Inhalte von angegebenen URLs analysieren und Erkenntnisse extrahieren"
backstory: "Umfangreiche Erfahrung in der Online-Recherche und Datenanalyse."
planner:
role: "Content Strategist"
goal: "Eine SEO-optimierte Inhaltsgliederung entwickeln"
backstory: "Experte für SEO-Best-Practices und Content-Marketing-Strategien."
writer:
role: "Content Writer"
goal: "Fesselnde und informative Blogbeiträge erstellen"
backstory: "Versiert in verschiedenen Schreibstilen und -formaten."
editor:
role: "Content Editor"
goal: "Inhalte für die Veröffentlichung verfeinern und polieren"
backstory: "Erfahren in der Qualitätssicherung und Marken-Konsistenz."
Lassen Sie uns jeden Teil dieser Datei aufschlüsseln, damit Sie verstehen, was vor sich geht:
-
researcher
: Dies ist der Name des ersten Agenten in Ihrem Projekt. Sie können es als die Kennung für diesen spezifischen Agenten betrachten. -
role
: Dies definiert, welche Rolle der Agent im Projekt hat. Hier wird der Forscher beauftragt, Webinhalte zu analysieren. -
goal
: Dies gibt das Hauptziel des Agenten an. Das Ziel des Forschers ist es, Inhalte von einer bestimmten URL zu analysieren und wichtige Erkenntnisse zu extrahieren. -
backstory
: Dies bietet einen Kontext oder eine Beschreibung der Fähigkeiten des Agenten. Es hilft zu verstehen, was diesen Agenten für seine Rolle geeignet macht. -
planner
: Dieser Agent ist dafür verantwortlich, eine Inhaltsstrategie basierend auf den Erkenntnissen des Forschers zu erstellen. -
role
,goal
,backstory
: Ähnliche Definitionen für die anderen Agenten wie Planner, Writer und Editor.
Schritt 3: Definieren von Aufgaben in tasks.yaml
Öffnen Sie als nächstes die tasks.yaml
Datei im selben Verzeichnis. Diese Datei weist spezifische Aufgaben jedem Agenten zu:
research_task:
description: "Analysieren Sie Webinhalte und erstellen Sie einen Forschungsbericht"
expected_output: "Ein detaillierter Bericht mit wichtigen Erkenntnissen"
agent: "researcher"
planning_task:
description: "Erstellen Sie eine SEO-optimierte Gliederung"
expected_output: "Eine strukturierte Gliederung für den Blogbeitrag"
agent: "planner"
writing_task:
description: "Einen Blogbeitrag basierend auf der Gliederung entwerfen"
expected_output: "Ein wohlformulierter erster Entwurf im Markdown-Format"
agent: "writer"
editing_task:
description: "Den Blogbeitrag für die Veröffentlichung verfeinern"
expected_output: "Ein polierter Blogbeitrag, der zur Veröffentlichung bereit ist"
agent: "editor"
Hier ist, was jeder Teil bedeutet:
-
research_task
: Diese Aufgabe wird dem Forscher-Agenten zugewiesen. Sie beinhaltet die Verwendung eines Tools (wie das FirecrawlScrapeWebsiteTool), um Webinhalte zu analysieren, wichtige Informationen zu extrahieren und einen detaillierten Forschungsbericht zu erstellen. -
description
: Gibt einen klaren Überblick darüber, was die Aufgabe beinhaltet. -
expected_output
: Umreißt, was die Aufgabe produzieren soll – einen umfassenden Forschungsbericht mit spezifischen Abschnitten. -
agent
: Gibt an, welcher Agent für diese Aufgabe verantwortlich ist. - Ähnliche Definitionen für andere Aufgaben, die dem Planner, Writer und Editor-Agenten zugewiesen sind.
Integration von Tools und Schreiben der Logik
Sobald Sie die crew.py und main.py Dateien bereitstellen, werden wir mit der detaillierten Erklärung und Implementierung fortfahren, die alles zusammenbindet, sodass Ihre Agenten die Aufgaben ausführen und die finalen Inhalte erstellen können.
Fazit
Indem Sie dieses Tutorial befolgen, haben Sie ein komplettes Projekt mit CrewAI eingerichtet und ausgeführt, angefangen bei der Definition von Agenten und Aufgaben bis hin zu den finalen Ausgaben, die von Ihren KI-Agenten generiert wurden. Dieser Prozess demonstriert nicht nur die Leistungsfähigkeit von CrewAI, sondern bietet auch ein praktisches Framework zur Entwicklung intelligenter Agenten, die auf verschiedene Szenarien angepasst werden können.
Während Sie weiterhin Ihr Projekt erkunden und verfeinern, können Sie auf diesem Fundament aufbauen, Komplexität hinzufügen oder die Agenten auf spezifische Bedürfnisse anpassen. Egal, ob Sie die Inhaltserstellung automatisieren, Forschungsprozesse rationalisieren oder komplexe Arbeitsabläufe umsetzen möchten, CrewAI bietet die Werkzeuge, um dies zu ermöglichen. Viel Spaß beim Programmieren!
Hinterlasse einen Kommentar
Alle Kommentare werden vor der Veröffentlichung geprüft.
Diese Website ist durch hCaptcha geschützt und es gelten die allgemeinen Geschäftsbedingungen und Datenschutzbestimmungen von hCaptcha.