Come installare CrewAI con la GUI

Le capacità dei modelli di reti neurali crescono di giorno in giorno. Ricercatori e aziende commerciali investono sempre di più nella loro formazione. Ma da soli, questi modelli non possono agire in modo autonomo. Per risolvere compiti specifici, hanno bisogno di una guida: estensione del contesto e definizione della direzione. Questo approccio non è sempre efficiente, soprattutto per problemi complessi.
Ma cosa succederebbe se permettessimo a una rete neurale di agire autonomamente? E se le fornissimo molti strumenti per interagire con il mondo esterno? Si otterrebbe un agente AI in grado di risolvere compiti determinando autonomamente quali strumenti utilizzare. Sembra complicato, ma funziona molto bene. Tuttavia, anche per un utente avanzato, creare un agente AI da zero può essere un compito non banale.
Il motivo è che le librerie più diffuse non dispongono di un'interfaccia grafica. Richiedono l'interazione attraverso un linguaggio di programmazione come Python. Questo innalza drasticamente la soglia di ingresso e rende gli agenti di intelligenza artificiale troppo complessi per un'implementazione indipendente. Questo è esattamente il caso di CrewAI.
Cos'è CrewAI
CrewAI è una libreria molto popolare e comoda, ma non è dotata di un'interfaccia grafica predefinita. Questo ha spinto gli sviluppatori indipendenti a creare un'interfaccia non ufficiale. La natura open source di CrewAI ha reso il compito molto più facile e presto la comunità ha rilasciato il progetto CrewAI Studio.
Sviluppatori e appassionati hanno acquisito una conoscenza più approfondita dell'architettura del sistema e hanno potuto creare strumenti su misura per compiti specifici. Gli utenti abituali potevano creare agenti AI senza scrivere una sola riga di codice. È diventato più facile assegnare compiti e gestire l'accesso alle reti neurali e agli strumenti. È stato inoltre possibile esportare e importare agenti da un server all'altro e condividerli con amici, colleghi o con la comunità open source.
Un altro vantaggio di CrewAI Studio è la sua flessibilità di distribuzione. Può essere installato come una normale applicazione o come un contenitore Docker, il metodo preferito in quanto include tutte le librerie e i componenti necessari per l'esecuzione del sistema.
Installazione
Aggiornare i pacchetti del sistema operativo e le applicazioni installate alle versioni più recenti:
sudo apt update && sudo apt -y upgrade
Utilizzare lo script di installazione automatica dei driver o seguire la nostra guida Installa i driver NVIDIA® in Linux:
sudo ubuntu-drivers autoinstall
Riavviare il server per rendere effettive le modifiche:
sudo shutdown - r now
Dopo la riconnessione via SSH, installare le utility del server web Apache 2, che consentiranno di accedere al generatore di file .htpasswd utilizzato per l'autenticazione di base degli utenti:
sudo apt install -y apache2-utils
Installare Docker Engine utilizzando lo script di shell ufficiale:
curl -sSL https://get.docker.com/ | sh
Aggiungere Docker Compose al sistema:
sudo apt install -y docker-compose
Clonare il repository:
git clone https://github.com/strnad/CrewAI-Studio.git
Navigare nella directory scaricata:
cd CrewAI-Studio
Creare un file .htpasswd per l'utente usergpu. Verrà richiesto di inserire la password due volte:
htpasswd -c .htpasswd usergpu
Ora modificare il file di distribuzione del contenitore. Per impostazione predefinita, ci sono due contenitori:
sudo nano docker-compose.yaml
Cancellare la sezione:
ports:
- "5432:5432"
E aggiungere il seguente servizio:
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 avrà bisogno di un file di configurazione, quindi crearne uno:
sudo nano nginx.conf
Incollare quanto segue:
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;
}
}
}
Tutte le variabili di servizio importanti per CrewAI sono definite nel file .env. Aprire il file .env_example per modificarlo:
nano .env_example
Aggiungere le seguenti righe:
OLLAMA_HOST="http://open-webui:11434"
OLLAMA_MODELS="ollama/llama3.2:latest"
E aggiungere la configurazione di Postgres:
POSTGRES_USER="admin"
POSTGRES_PASSWORD="your_password"
POSTGRES_DB="crewai_db"
AGENTOPS_ENABLED="False"
Ora copiare il file di esempio e rinominarlo in .env, in modo che il sistema possa leggerlo durante la distribuzione del contenitore:
cp .env_example .env
In questo esempio, utilizzeremo modelli locali con inferenza gestita da Ollama. Si consiglia la nostra guida Open WebUI: Tutto in uno, e durante la distribuzione aggiungere -e OLLAMA_HOST=0.0.0.0 per consentire a CrewAI di connettersi direttamente al contenitore Ollama. Scaricare il modello desiderato (per esempio, llama3.2:latest) tramite WebUI o collegandosi alla console del contenitore ed eseguendo:
ollama pull llama3.2:latest
Una volta che tutto è stato configurato, lanciare il deployment:
sudo docker-compose up -d --build
A questo punto, visitando http://[your_server_ip]/ verranno richieste le credenziali di accesso. Una volta inserite correttamente, apparirà l'interfaccia CrewAI.
Caratteristiche
Esploriamo le entità chiave utilizzate da CrewAI. Questo aiuterà a capire come configurare i flussi di lavoro. L'entità centrale di Agent è un task executor autonomo. Ogni agente ha degli attributi che lo aiutano a svolgere i propri compiti:
- Role. Una breve descrizione del lavoro, di 2-3 parole.
- Backstory. Opzionale; aiuta il modello linguistico a capire come l'agente deve comportarsi e su quali esperienze basarsi.
- Goal. L'obiettivo che l'agente deve perseguire.
- Allow delegation. Consente all'agente di delegare compiti (o parti di essi) ad altri.
- Verbose. Indica all'agente di registrare azioni dettagliate.
- LLM Provider and Model. Specifica il modello e il provider da utilizzare.
- Temperature. Determina la creatività della risposta. Più alto = più creativo.
- Max iterations. Numero di tentativi che l'agente ha a disposizione per avere successo, agendo come una salvaguardia (ad esempio, contro i loop infiniti).
Gli agenti operano analizzando iterativamente gli input, ragionando e traendo conclusioni utilizzando gli strumenti disponibili.
L'input è definito da un'entità Task. Ogni compito include una descrizione, un agente assegnato e, facoltativamente, un risultato atteso. Per impostazione predefinita, i compiti vengono eseguiti in modo sequenziale, ma possono essere parallelizzati usando il flag Async execution.
Il lavoro autonomo degli agenti è supportato da Tools che consente l'interazione con il mondo reale. CrewAI include strumenti per la ricerca sul web, il parsing dei siti, le chiamate API e la gestione dei file, migliorando il contesto e aiutando gli agenti a raggiungere gli obiettivi.
Infine, c'è Crew entity che unisce agenti con ruoli diversi in una squadra per affrontare problemi complessi. Possono comunicare, delegare, rivedere e correggere l'un l'altro, formando essenzialmente un'intelligenza collettiva.
Utilizzando
Ora che si ha familiarità con le entità, costruiamo ed eseguiamo un flusso di lavoro minimo di CrewAI. In questo esempio, seguiremo i progressi globali nello sviluppo di farmaci contro il cancro.
Utilizzeremo tre agenti:
- Oncology Drug Pipeline Analyst - segue i nuovi sviluppi dalle fasi iniziali alla sperimentazione clinica.
- Regulatory and Approval Watchdog - monitora le approvazioni di nuovi farmaci e le modifiche normative.
- Scientific Literature and Innovation Scout - analizza le pubblicazioni scientifiche e i brevetti relativi all'oncologia.
Aprire la sezione Agenti e creare il primo agente:

Per ora, utilizziamo il modello llama3.2:latest scaricato in precedenza, ma in uno scenario reale, scegliete quello che meglio si adatta all'attività. Ripetere la procedura per gli altri agenti e passare alla creazione dell'attività.

Riunire tutti gli agenti in una squadra e assegnare loro il compito preparato:

Attivare gli strumenti necessari dall'elenco:

Infine, andare alla pagina Kickoff! e fare clic su Run Crew! Dopo alcune iterazioni, il sistema restituirà un risultato, ad esempio:

Prima di concludere, controlliamo la sezione Import/export. Il flusso di lavoro o l'equipaggio possono essere esportati come JSON per essere trasferiti a un altro server CrewAI. È anche possibile creare un'applicazione a pagina singola (SPA) con un solo clic, perfetta per la distribuzione in produzione:

Conclusione
CrewAI semplifica notevolmente la creazione di agenti AI, consentendo l'integrazione in qualsiasi applicazione o l'utilizzo autonomo. La libreria si basa sull'idea di intelligenza distribuita, in cui ogni agente è un esperto di dominio e la squadra combinata supera un singolo agente generalista.
Essendo scritta in Python, CrewAI si integra facilmente con piattaforme e strumenti di ML. La sua natura open source consente l'estensione attraverso moduli di terze parti. La comunicazione tra agenti riduce l'uso di token distribuendo l'elaborazione del contesto.
Di conseguenza, le attività complesse vengono completate in modo più rapido ed efficiente. La barriera d'ingresso più bassa fornita da CrewAI Studio espande la portata degli agenti AI e dei sistemi multi-agente. Il supporto per i modelli locali garantisce un migliore controllo dei dati sensibili.
Vedi anche:
Aggiornato: 12.08.2025
Pubblicato: 23.07.2025