CrewAI : Modernstes Framework zur Orchestrierung rollenspielender, autonomer KI-Agenten. Durch die Förderung kollaborativer Intelligenz ermöglicht CrewAI den Agenten, nahtlos zusammenzuarbeiten und komplexe Aufgaben zu bewältigen.
Startseite | Dokumentation | Mit Dokumenten chatten | Beispiele | Diskurs
Warum CrewAI?
Erste Schritte
Hauptmerkmale
Beispiele
Kurzanleitung
Schreiben Sie Stellenbeschreibungen
Reiseplaner
Aktienanalyse
Verbinden Sie Ihre Crew mit einem Modell
So vergleicht CrewAI
Beitrag
Telemetrie
Lizenz
Die Leistungsfähigkeit der KI-Zusammenarbeit hat zu viel zu bieten. CrewAI soll es KI-Agenten ermöglichen, Rollen zu übernehmen, Ziele zu teilen und in einer zusammenhängenden Einheit zu agieren – ähnlich wie eine gut eingespielte Crew. Ganz gleich, ob Sie eine intelligente Assistentenplattform, ein automatisiertes Kundenservice-Ensemble oder ein Multi-Agenten-Forschungsteam aufbauen, CrewAI bietet das Rückgrat für anspruchsvolle Multi-Agenten-Interaktionen.
Um mit CrewAI zu beginnen, befolgen Sie diese einfachen Schritte:
Stellen Sie sicher, dass Python >=3.10 <=3.13 auf Ihrem System installiert ist. CrewAI nutzt UV für das Abhängigkeitsmanagement und die Paketverwaltung und bietet so ein nahtloses Setup- und Ausführungserlebnis.
Installieren Sie zunächst CrewAI:
pip install Crewai
Wenn Sie das Paket „crewai“ zusammen mit seinen optionalen Funktionen installieren möchten, zu denen zusätzliche Tools für Agenten gehören, können Sie dies mit dem folgenden Befehl tun:
pip install 'crewai[tools]'
Der obige Befehl installiert das Basispaket und fügt außerdem zusätzliche Komponenten hinzu, für deren Funktion weitere Abhängigkeiten erforderlich sind.
Um ein neues CrewAI-Projekt zu erstellen, führen Sie den folgenden CLI-Befehl (Command Line Interface) aus:
Crewai erstellt Crew <Projektname>
Dieser Befehl erstellt einen neuen Projektordner mit folgender Struktur:
my_project/ ├── .gitignore ├── pyproject.toml ├── README.md ├── .env └── src/ └── my_project/ ├── __init__.py ├── main.py ├── crew.py ├── tools/ │ ├── custom_tool.py │ └── __init__.py └── config/ ├── agents.yaml └── tasks.yaml
Sie können jetzt mit der Entwicklung Ihrer Crew beginnen, indem Sie die Dateien im Ordner src/my_project
bearbeiten. Die Datei main.py
ist der Einstiegspunkt des Projekts, in der Datei crew.py
definieren Sie Ihr Team, in der Datei agents.yaml
definieren Sie Ihre Agenten und in der Datei tasks.yaml
definieren Sie Ihre Aufgaben.
Ändern Sie src/my_project/config/agents.yaml
um Ihre Agenten zu definieren.
Ändern Sie src/my_project/config/tasks.yaml
um Ihre Aufgaben zu definieren.
Ändern Sie src/my_project/crew.py
um Ihre eigene Logik, Tools und spezifische Argumente hinzuzufügen.
Ändern Sie src/my_project/main.py
um benutzerdefinierte Eingaben für Ihre Agenten und Aufgaben hinzuzufügen.
Fügen Sie Ihre Umgebungsvariablen in die .env
Datei ein.
Stellen Sie Ihre Crew ein:
Crewai erstellt Crew, neueste KI-Entwicklung
Ändern Sie die Dateien nach Bedarf, um sie an Ihren Anwendungsfall anzupassen:
agenten.yaml
# src/my_project/config/agents.yamlresearcher: Rolle: > {topic} Senior Data Researcher Ziel: > Aktuelle Entwicklungen in {topic} aufdecken Hintergrundgeschichte: > Sie sind ein erfahrener Forscher mit einem Händchen für die Aufdeckung der neuesten Entwicklungen in {Thema}. Bekannt für Ihre Fähigkeit, die relevantesten Informationen zu finden und sie klar und prägnant darzustellen. reporting_analyst: Rolle: > {topic} Reporting-Analyst-Ziel: > Erstellen Sie detaillierte Berichte basierend auf {topic}-Datenanalysen und Forschungsergebnissen. Hintergrundgeschichte: > Sie sind ein sorgfältiger Analyst mit einem scharfen Auge für Details. Sie sind für Ihre Fähigkeit bekannt, komplexe Daten in klare und prägnante Berichte umzuwandeln, sodass andere die von Ihnen bereitgestellten Informationen leicht verstehen und darauf reagieren können.
task.yaml
# src/my_project/config/tasks.yamlresearch_task: Beschreibung: > Führen Sie eine gründliche Recherche zu {topic} durch. Stellen Sie sicher, dass Sie alle interessanten und relevanten Informationen finden, da das aktuelle Jahr 2024 ist. erwartete_Ausgabe: > Eine Liste mit den 10 Aufzählungspunkten der meisten Relevante Informationen zu {topic} Agent: Researcherreporting_task: Beschreibung: > Überprüfen Sie den Kontext, den Sie erhalten haben, und erweitern Sie jedes Thema zu einem vollständigen Abschnitt für einen Bericht. Stellen Sie sicher, dass der Bericht detailliert ist und alle relevanten Informationen enthält. erwartete_Ausgabe: > Ein vollständiger Bericht mit den Hauptthemen, jeweils mit einem vollständigen Informationsabschnitt. Formatiert als Markdown ohne „“Agent: reporting_analyst“. Ausgabedatei: report.md
Crew.py
# src/my_project/crew.pyfrom Crewai Import Agent, Crew, Process, Taskfrom Crewai.project Import CrewBase, Agent, Crew, Taskfrom Crewai_tools Import SerperDevTool@CrewBaseclass LatestAiDevelopmentCrew(): """LatestAiDevelopment Crew"""@agentdef Researcher(self ) -> Agent: return Agent( config=self.agents_config['researcher'], verbose=True, tools=[SerperDevTool()] ) @agentdef reporting_analyst(self) -> Agent: return Agent( config=self.agents_config['reporting_analyst'], verbose=True ) @taskdef Research_task(self) -> Aufgabe: return Task( config=self.tasks_config['research_task'], ) @taskdef reporting_task(self) -> Aufgabe: return Task( config=self.tasks_config['reporting_task'], output_file='report.md' ) @crewdef Crew(self) -> Crew: """Erstellt die LatestAiDevelopment-Crew"""return Crew( Agents=self.agents, # Automatisch erstellt vom @agent decoratortasks=self.tasks, # Automatisch erstellt vom @task decoratorprocess=Process.sequential, verbose=True, )
main.py
#!/usr/bin/env python# src/my_project/main.pyimport sysfrom Latest_ai_development.crew import LatestAiDevelopmentCrewdef run():""" Führen Sie die Crew aus. """inputs = {'topic': 'AI Agents'}LatestAiDevelopmentCrew ().crew().kickoff(Eingaben=Eingaben)
Bevor Sie Ihre Crew starten, stellen Sie sicher, dass in Ihrer .env
Datei die folgenden Schlüssel als Umgebungsvariablen festgelegt sind:
Ein OpenAI-API-Schlüssel (oder ein anderer LLM-API-Schlüssel): OPENAI_API_KEY=sk-...
Ein Serper.dev-API-Schlüssel: SERPER_API_KEY=YOUR_KEY_HERE
Sperren Sie die Abhängigkeiten und installieren Sie sie mit dem CLI-Befehl. Navigieren Sie jedoch zunächst zu Ihrem Projektverzeichnis:
cd mein_projekt Crewai-Installation (optional)
Um Ihre Crew zu starten, führen Sie den folgenden Befehl im Stammverzeichnis Ihres Projekts aus:
Crewai-Lauf
oder
python src/my_project/main.py
Wenn aufgrund der Verwendung von Poesie ein Fehler auftritt, führen Sie bitte den folgenden Befehl aus, um Ihr Crewai-Paket zu aktualisieren:
Crewai-Update
Sie sollten die Ausgabe in der Konsole sehen und die Datei report.md
sollte im Stammverzeichnis Ihres Projekts mit dem vollständigen Abschlussbericht erstellt werden.
Zusätzlich zum sequenziellen Prozess können Sie den hierarchischen Prozess nutzen, der der definierten Crew automatisch einen Manager zuweist, um die Planung und Ausführung von Aufgaben durch Delegation und Validierung der Ergebnisse ordnungsgemäß zu koordinieren. Mehr zu den Abläufen erfahren Sie hier.
Rollenbasiertes Agentendesign : Passen Sie Agenten mit spezifischen Rollen, Zielen und Tools an.
Autonome Delegation zwischen Agenten : Agenten können Aufgaben autonom delegieren und sich untereinander erkundigen, wodurch die Effizienz bei der Problemlösung gesteigert wird.
Flexibles Aufgabenmanagement : Definieren Sie Aufgaben mit anpassbaren Tools und weisen Sie sie Agenten dynamisch zu.
Prozessgesteuert : Unterstützt derzeit nur sequential
Aufgabenausführung und hierarchical
Prozesse, es wird jedoch an komplexeren Prozessen wie einvernehmlichen und autonomen Prozessen gearbeitet.
Ausgabe als Datei speichern : Speichern Sie die Ausgabe einzelner Aufgaben als Datei, damit Sie sie später verwenden können.
Ausgabe als Pydantic oder Json analysieren : Analysieren Sie die Ausgabe einzelner Aufgaben als Pydantic-Modell oder als Json, wenn Sie möchten.
Funktioniert mit Open-Source-Modellen : Führen Sie Ihre Crew mit Open AI oder Open-Source-Modellen. Weitere Informationen zum Konfigurieren der Verbindungen Ihrer Agenten zu Modellen finden Sie auf der Seite „CrewAI mit LLMs verbinden“, auch zu Modellen, die lokal ausgeführt werden!
Im CrewAI-examples-Repo können Sie verschiedene reale Beispiele von KI-Crews testen:
Landingpage-Generator
Menschlichen Einfluss auf die Ausführung haben
Reiseplaner
Aktienanalyse
Sehen Sie sich den Code für dieses Beispiel an oder sehen Sie sich das folgende Video an:
Sehen Sie sich den Code für dieses Beispiel an oder sehen Sie sich das folgende Video an:
Sehen Sie sich den Code für dieses Beispiel an oder sehen Sie sich das folgende Video an:
CrewAI unterstützt die Nutzung verschiedener LLMs durch eine Vielzahl von Verbindungsoptionen. Standardmäßig verwenden Ihre Agenten beim Abfragen des Modells die OpenAI-API. Es gibt jedoch mehrere andere Möglichkeiten, Ihren Agenten die Verbindung mit Modellen zu ermöglichen. Beispielsweise können Sie Ihre Agenten über das Ollama-Tool so konfigurieren, dass sie ein lokales Modell verwenden.
Weitere Informationen zum Konfigurieren der Verbindungen Ihrer Agenten zu Modellen finden Sie auf der Seite „CrewAI mit LLMs verbinden“.
Der Vorteil von CrewAI : CrewAI wurde speziell für die Produktion entwickelt. Es bietet die Flexibilität der Konversationsagenten von Autogen und den strukturierten Prozessansatz von ChatDev, jedoch ohne die Starrheit. Die Prozesse von CrewAI sind dynamisch und anpassungsfähig und fügen sich nahtlos in Entwicklungs- und Produktionsabläufe ein.
Autogen : Während Autogen gut darin ist, zusammenarbeitende Konversationsagenten zu schaffen, fehlt ihm ein inhärentes Prozesskonzept. In Autogen erfordert die Orchestrierung der Agenteninteraktionen zusätzliche Programmierung, die mit zunehmendem Aufgabenumfang komplex und umständlich werden kann.
ChatDev : ChatDev hat die Idee von Prozessen in den Bereich der KI-Agenten eingeführt, ihre Umsetzung ist jedoch recht starr. Anpassungen in ChatDev sind begrenzt und nicht auf Produktionsumgebungen ausgerichtet, was die Skalierbarkeit und Flexibilität in realen Anwendungen beeinträchtigen kann.
CrewAI ist Open Source und wir freuen uns über Beiträge. Wenn Sie einen Beitrag leisten möchten, wenden Sie sich bitte an:
Forken Sie das Repository.
Erstellen Sie einen neuen Zweig für Ihre Funktion.
Fügen Sie Ihre Funktion oder Verbesserung hinzu.
Senden Sie eine Pull-Anfrage.
Wir freuen uns über Ihren Beitrag!
UV-Sperre UV-Synchronisierung
UV-Venv
Pre-Commit-Installation
uv pytest ausführen.
uvx mypy
UV-Aufbau
pip install dist/*.tar.gz
CrewAI verwendet anonyme Telemetrie, um Nutzungsdaten zu sammeln. Der Hauptzweck besteht darin, uns bei der Verbesserung der Bibliothek zu helfen, indem wir unsere Bemühungen auf die am häufigsten verwendeten Funktionen, Integrationen und Tools konzentrieren.
Es ist wichtig zu verstehen, dass KEINE Daten zu Eingabeaufforderungen, Aufgabenbeschreibungen, Hintergrundgeschichten oder Zielen der Agenten, der Verwendung von Tools, API-Aufrufen, Antworten, von den Agenten verarbeiteten Daten oder Geheimnissen und Umgebungsvariablen erfasst werden , mit Ausnahme der genannten Bedingungen . Wenn die Funktion share_crew
aktiviert ist, werden detaillierte Daten, einschließlich Aufgabenbeschreibungen, Hintergrundgeschichten oder Ziele der Agenten und andere spezifische Attribute, gesammelt, um tiefere Einblicke zu ermöglichen und gleichzeitig die Privatsphäre der Benutzer zu respektieren. Wir bieten derzeit keine Möglichkeit zum Deaktivieren an, werden dies aber in Zukunft tun.
Zu den erfassten Daten gehören:
Version von CrewAI
So können wir nachvollziehen, wie viele Benutzer die neueste Version verwenden
Version von Python
So können wir entscheiden, welche Versionen besser unterstützt werden sollen
Allgemeines Betriebssystem (z. B. Anzahl der CPUs, macOS/Windows/Linux)
Wir wissen also, auf welches Betriebssystem wir uns konzentrieren sollten und ob wir bestimmte Betriebssystemfunktionen entwickeln könnten
Anzahl der Agenten und Aufgaben in einer Crew
Deshalb stellen wir sicher, dass wir intern ähnliche Anwendungsfälle testen und die Mitarbeiter über die Best Practices informieren
Crew-Prozess wird verwendet
Verstehen Sie, worauf wir unsere Bemühungen konzentrieren sollten
Wenn Agenten Speicher verwenden oder Delegierung zulassen
Verstehen Sie, ob wir die Funktionen verbessert oder vielleicht sogar eingestellt haben
Wenn Aufgaben parallel oder nacheinander ausgeführt werden
Verstehen Sie, ob wir uns mehr auf die parallele Ausführung konzentrieren sollten
Verwendetes Sprachmodell
Verbesserte Unterstützung für die am häufigsten verwendeten Sprachen
Rollen von Agenten in einer Crew
Verstehen Sie allgemeine Anwendungsfälle, damit wir bessere Tools, Integrationen und Beispiele dafür entwickeln können
Werkzeugnamen verfügbar
Finden Sie heraus, welche der öffentlich verfügbaren Tools am häufigsten verwendet werden, damit wir sie verbessern können
Benutzer können sich für weitere Telemetrie entscheiden und die vollständigen Telemetriedaten teilen, indem sie das Attribut share_crew
in ihren Crews auf True
setzen. Die Aktivierung von share_crew
führt zur Erfassung detaillierter Crew- und Aufgabenausführungsdaten, einschließlich goal
, backstory
, context
und output
von Aufgaben. Dies ermöglicht einen tieferen Einblick in Nutzungsmuster und respektiert gleichzeitig die Entscheidung des Benutzers, etwas zu teilen.
CrewAI wird unter der MIT-Lizenz veröffentlicht.
A: CrewAI ist ein hochmodernes Framework zur Orchestrierung rollenspielender, autonomer KI-Agenten. Es ermöglicht Agenten, nahtlos zusammenzuarbeiten und komplexe Aufgaben durch kollaborative Intelligenz zu bewältigen.
A: Sie können CrewAI mit pip installieren:
pip install Crewai
Für zusätzliche Werkzeuge verwenden Sie:
pip install 'crewai[tools]'
A: Ja, CrewAI unterstützt verschiedene LLMs, einschließlich lokaler Modelle. Sie können Ihre Agenten über Tools wie Ollama und LM Studio für die Verwendung lokaler Modelle konfigurieren. Weitere Informationen finden Sie in der Dokumentation zu LLM Connections.
A: Zu den Hauptfunktionen gehören rollenbasiertes Agentendesign, autonome Delegation zwischen Agenten, flexibles Aufgabenmanagement, prozessgesteuerte Ausführung, Ausgabespeicherung als Dateien und Kompatibilität sowohl mit Open-Source- als auch mit proprietären Modellen.
A: CrewAI wurde speziell für die Produktion entwickelt und bietet eine ähnliche Flexibilität wie die Konversationsagenten und strukturierten Prozesse von Autogen wie ChatDev, jedoch mit mehr Anpassungsfähigkeit für reale Anwendungen.
A: Ja, CrewAI ist Open Source und freut sich über Beiträge der Community.
A: CrewAI nutzt anonyme Telemetrie, um Nutzungsdaten zu Verbesserungszwecken zu sammeln. Es werden keine sensiblen Daten (wie Eingabeaufforderungen, Aufgabenbeschreibungen oder API-Aufrufe) erfasst. Benutzer können der Freigabe detaillierterer Daten zustimmen, indem sie für ihre Crews share_crew=True
festlegen.
A: Im CrewAI-Beispiel-Repository finden Sie verschiedene Beispiele aus der Praxis, darunter Reiseplaner, Aktienanalysetools und mehr.
A: Beiträge sind willkommen! Sie können das Repository forken, einen neuen Zweig für Ihre Funktion erstellen, Ihre Verbesserung hinzufügen und eine Pull-Anfrage senden. Weitere Einzelheiten finden Sie im Abschnitt „Beitrag“ in der README-Datei.