Comment installer CrewAI avec l'interface graphique

Les capacités des modèles de réseaux neuronaux augmentent chaque jour. Les chercheurs et les entreprises commerciales investissent de plus en plus dans leur formation. Mais ces modèles ne peuvent pas agir de manière autonome. Pour résoudre des tâches spécifiques, ils ont besoin d'être guidés : extension du contexte et définition d'une orientation. Cette approche n'est pas toujours efficace, en particulier pour les problèmes complexes.
Mais que se passerait-il si nous permettions à un réseau neuronal d'agir de manière autonome ? Et si nous lui fournissions de nombreux outils pour interagir avec le monde extérieur ? Vous obtiendriez un agent d'intelligence artificielle capable de résoudre des tâches en déterminant de manière autonome les outils à utiliser. Cela semble compliqué, mais cela fonctionne très bien. Toutefois, même pour un utilisateur expérimenté, la création d'un agent d'intelligence artificielle à partir de zéro peut s'avérer une tâche non triviale.
La raison en est que la plupart des bibliothèques courantes n'ont pas d'interface utilisateur graphique. Elles requièrent une interaction à travers un langage de programmation comme Python. Cela augmente considérablement le seuil d'entrée et rend les agents d'intelligence artificielle trop complexes pour une mise en œuvre indépendante. C'est exactement le cas de CrewAI.
Qu'est-ce que CrewAI ?
CrewAI est une bibliothèque très populaire et pratique, mais elle n'est pas livrée avec une interface graphique par défaut. Cela a incité des développeurs indépendants à créer une interface non officielle. La nature open source de CrewAI a rendu la tâche beaucoup plus facile, et la communauté a rapidement publié le projet CrewAI Studio.
Les développeurs et les passionnés ont acquis une meilleure connaissance de l'architecture du système et ont pu créer des outils adaptés à des tâches spécifiques. Les utilisateurs réguliers pouvaient créer des agents d'intelligence artificielle sans avoir à écrire une seule ligne de code. Il est devenu plus facile d'assigner des tâches et de gérer l'accès aux réseaux neuronaux et aux outils. Il a également permis d'exporter et d'importer des agents d'un serveur à l'autre et de les partager avec des amis, des collègues ou la communauté open source.
Un autre avantage de CrewAI Studio est sa souplesse de déploiement. Il peut être installé comme une application normale ou comme un conteneur Docker - la méthode préférée étant donné qu'elle inclut toutes les bibliothèques et tous les composants nécessaires pour faire fonctionner le système.
Installation de CrewAI Studio
Mettez à jour les paquets de votre système d'exploitation et les applications installées avec les dernières versions :
sudo apt update && sudo apt -y upgrade
Utilisez le script d'installation automatique des pilotes ou suivez notre guide Installer les pilotes NVIDIA® sous Linux:
sudo ubuntu-drivers autoinstall
Redémarrez le serveur pour que les changements soient pris en compte :
sudo shutdown - r now
Après vous être reconnecté via SSH, installez les utilitaires du serveur web Apache 2, qui vous donneront accès au générateur de fichiers .htpasswd utilisé pour l'authentification de base des utilisateurs :
sudo apt install -y apache2-utils
Installez Docker Engine en utilisant le script shell officiel :
curl -sSL https://get.docker.com/ | sh
Ajouter Docker Compose au système :
sudo apt install -y docker-compose
Cloner le dépôt :
git clone https://github.com/strnad/CrewAI-Studio.git
Naviguez jusqu'au répertoire téléchargé :
cd CrewAI-Studio
Créez un fichier .htpasswd pour l'utilisateur usergpu. Vous serez invité à entrer un mot de passe à deux reprises :
htpasswd -c .htpasswd usergpu
Modifiez maintenant le fichier de déploiement du conteneur. Par défaut, il y a deux conteneurs :
sudo nano docker-compose.yaml
Supprimez la section :
ports:
- "5432:5432"
Et ajouter le service suivant :
nginx:
image: nginx:latest
container_name: crewai_nginx
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./.htpasswd:/etc/nginx/.htpasswd:ro
depends_on:
- web
Nginx aura besoin d'un fichier de configuration, alors créez-en un :
sudo nano nginx.conf
Collez ce qui suit :
events {}
http {
server {
listen 80;
location / {
proxy_pass http://web:8501;
# WebSocket headers
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Forward headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
}
Toutes les variables de service importantes pour CrewAI sont définies dans le fichier .env. Ouvrez le fichier .env_example pour l'éditer :
nano .env_example
Ajoutez les lignes suivantes :
OLLAMA_HOST="http://open-webui:11434"
OLLAMA_MODELS="ollama/llama3.2:latest"
Et ajoutez la configuration Postgres :
POSTGRES_USER="admin"
POSTGRES_PASSWORD="your_password"
POSTGRES_DB="crewai_db"
AGENTOPS_ENABLED="False"
Copiez maintenant le fichier exemple et renommez-le en .env pour que le système puisse le lire lors du déploiement du conteneur :
cp .env_example .env
Dans cet exemple, nous utiliserons des modèles locaux dont l'inférence sera gérée par Ollama. Nous recommandons notre guide Open WebUI : Tout en un, et lors du déploiement ajouter -e OLLAMA_HOST=0.0.0.0 pour permettre à CrewAI de se connecter directement au conteneur Ollama. Téléchargez le modèle désiré (par exemple, llama3.2:latest) via WebUI ou en vous connectant à la console du conteneur et exécutez :
ollama pull llama3.2:latest
Une fois que tout est configuré, lancez le déploiement :
sudo docker-compose up -d --build
En visitant le site http://[your_server_ip]/, vous serez invité à saisir vos identifiants de connexion. Une fois les données saisies correctement, l'interface CrewAI s'affichera.
Fonctionnalités
Explorons les entités clés utilisées par CrewAI. Cela vous aidera à comprendre comment configurer les flux de travail. L'entité centrale du site Agent, un exécuteur de tâches autonome. Chaque agent possède des attributs qui l'aident à remplir ses fonctions :
- Role. Une brève description de poste de 2 à 3 mots.
- Backstory. Facultatif ; aide le modèle de langage à comprendre comment l'agent doit se comporter et sur quelles expériences s'appuyer.
- Goal. L'objectif que l'agent doit poursuivre.
- Allow delegation. Permet à l'agent de déléguer des tâches (ou des parties de tâches) à d'autres.
- Verbose. Indique à l'agent d'enregistrer des actions détaillées.
- LLM Provider and Model. Spécifie le modèle et le fournisseur à utiliser.
- Temperature. Détermine la créativité de la réponse. Plus élevée = plus créative.
- Max iterations. Nombre d'essais dont dispose l'agent pour réussir, agissant comme une garantie (par exemple, contre les boucles infinies).
Les agents fonctionnent en analysant les données de manière itérative, en raisonnant et en tirant des conclusions à l'aide des outils disponibles.
Les données d'entrée sont définies par une entité Task. Chaque tâche comprend une description, un agent assigné et, éventuellement, un résultat attendu. Les tâches s'exécutent séquentiellement par défaut mais peuvent être parallélisées en utilisant le drapeau Async execution.
Le travail des agents autonomes est soutenu par Tools qui permet une interaction avec le monde réel. CrewAI comprend des outils pour les recherches sur le web, l'analyse de sites, les appels d'API et la gestion de fichiers, ce qui améliore le contexte et aide les agents à atteindre leurs objectifs.
Enfin, le site Crew entity réunit des agents ayant des rôles différents au sein d'une équipe pour s'attaquer à des problèmes complexes. Ils peuvent communiquer, déléguer, réviser et se corriger mutuellement, formant ainsi une intelligence collective.
L'utilisation de
Maintenant que vous êtes familiarisé avec les entités, construisons et exécutons un flux de travail CrewAI minimal. Dans cet exemple, nous suivrons les progrès réalisés au niveau mondial dans le développement de médicaments contre le cancer.
Nous utiliserons trois agents :
- Oncology Drug Pipeline Analyst - suit les nouveaux développements depuis les premières étapes jusqu'aux essais cliniques.
- Regulatory and Approval Watchdog - suit les nouvelles approbations de médicaments et les changements de réglementation.
- Scientific Literature and Innovation Scout - analyse les publications scientifiques et les brevets liés à l'oncologie.
Ouvrez la section Agents et créez le premier agent :

Pour l'instant, nous utilisons le modèle llama3.2:latest précédemment téléchargé, mais dans un scénario réel, choisissez celui qui correspond le mieux à la tâche. Répétez le processus pour les autres agents et passez à la création de la tâche.

Rassemblez tous les agents en une équipe et assignez-leur la tâche préparée :

Activez les outils nécessaires à partir de la liste :

Enfin, allez sur la page Kickoff! et cliquez sur Run Crew! Après quelques itérations, le système renverra un résultat, tel que :

Avant de terminer, vérifions la section Import/export. Votre flux de travail ou votre équipage peut être exporté sous forme de JSON pour être transféré vers un autre serveur CrewAI. Vous pouvez également créer une application à page unique (SPA) en un seul clic, ce qui est parfait pour un déploiement en production :

Conclusion
CrewAI simplifie considérablement la création d'agents d'intelligence artificielle, permettant l'intégration dans n'importe quelle application ou l'utilisation autonome. La bibliothèque est basée sur l'idée de l'intelligence distribuée, où chaque agent est un expert du domaine, et l'équipe combinée est plus performante qu'un seul agent généraliste.
Comme elle est écrite en Python, CrewAI s'intègre facilement aux plateformes et outils de ML. Sa nature open source permet de l'étendre grâce à des modules tiers. La communication entre agents réduit l'utilisation de jetons en distribuant le traitement du contexte.
Par conséquent, les tâches complexes sont accomplies plus rapidement et plus efficacement. La barrière d'entrée réduite offerte par CrewAI Studio élargit la portée des agents d'IA et des systèmes multi-agents. La prise en charge des modèles locaux garantit un meilleur contrôle des données sensibles.
Voir aussi :
Mis à jour: 12.08.2025
Publié: 23.07.2025