II-Agent est un framework d'assistant intelligent open source conçu pour simplifier et améliorer les flux de travail dans plusieurs domaines, capable d'exécuter des tâches complexes de manière autonome.
Présentation détaillée du projet II-Agent
Aperçu du projet
II-Agent est un assistant intelligent open source conçu pour simplifier et améliorer les flux de travail dans de nombreux domaines. Il représente une avancée significative dans notre façon d'interagir avec la technologie, passant d'outils passifs à des systèmes intelligents capables d'exécuter des tâches complexes de manière autonome.
Adresse du projet : https://github.com/Intelligent-Internet/ii-agent
Caractéristiques principales
II-Agent est construit autour de la fourniture d'une interface d'agent pour les modèles Anthropic Claude, offrant les fonctionnalités suivantes :
- Interface CLI : Interaction directe en ligne de commande
- Serveur WebSocket : Prise en charge d'un frontend React moderne
- Intégration Google Cloud Vertex AI : Accès aux modèles Anthropic via API
Domaines d'application et fonctionnalités
Domaine | Fonctionnalités d'II-Agent |
---|---|
Recherche et vérification des faits | Recherche web en plusieurs étapes, triangulation des sources d'information, notes structurées, résumés rapides |
Génération de contenu | Brouillons de blogs et d'articles, plans de cours, essais créatifs, manuels techniques, création de sites web |
Analyse et visualisation de données | Nettoyage des données, analyse statistique, détection des tendances, création de graphiques, génération automatique de rapports |
Développement logiciel | Synthèse de code, refactoring, débogage, rédaction de tests, tutoriels pas à pas multilingues |
Automatisation des flux de travail | Génération de scripts, automatisation du navigateur, gestion des fichiers, optimisation des processus |
Résolution de problèmes | Décomposition des problèmes, exploration de chemins alternatifs, instructions pas à pas, dépannage |
Architecture du système
Le système II-Agent adopte une approche complexe pour construire un agent d'IA multifonctionnel, avec des méthodes clés comprenant :
1. Architecture de l'agent central et interaction LLM
- Invitations système personnalisées dynamiquement en fonction du contexte
- Gestion complète de l'historique des interactions
- Gestion intelligente du contexte pour gérer les limites de jetons
- Appels LLM systématisés et sélection des fonctionnalités
- Optimisation itérative par cycles d'exécution
2. Planification et réflexion
- Raisonnement structuré pour la résolution de problèmes complexes
- Décomposition des problèmes et réflexion séquentielle
- Processus de décision transparent
- Formation et test d'hypothèses
3. Capacités d'exécution
- Opérations sur le système de fichiers avec édition de code intelligente
- Exécution de ligne de commande dans un environnement sécurisé
- Interaction web avancée et automatisation du navigateur
- Achèvement des tâches et reporting
- Fonctionnalités dédiées pour divers modes (expérimental) : PDF, audio, image, vidéo, diapositives
- Intégration de la recherche approfondie
4. Gestion du contexte
- Estimation et optimisation de l'utilisation des jetons
- Troncation stratégique pour les longues interactions
- Archivage basé sur des fichiers pour les sorties volumineuses
5. Communication en temps réel
- Interface interactive basée sur WebSocket
- Instances d'agent isolées pour chaque client
- Événements de streaming pour une expérience utilisateur réactive
Évaluation des performances
II-Agent a été évalué sur le benchmark GAIA, qui évalue les agents basés sur LLM fonctionnant dans des scénarios réels, couvrant plusieurs dimensions, notamment le traitement multimodal, l'utilisation d'outils et la recherche web.
Plusieurs problèmes ont été identifiés lors de l'évaluation du benchmark GAIA :
- Erreurs d'annotation : Plusieurs annotations incorrectes dans l'ensemble de données
- Informations obsolètes : Certaines questions font référence à des sites web ou à du contenu qui ne sont plus accessibles
- Ambiguïté linguistique : Un libellé peu clair entraînant différentes interprétations des questions
Malgré ces défis, II-Agent a obtenu d'excellents résultats dans le benchmark, en particulier dans les domaines nécessitant un raisonnement complexe, l'utilisation d'outils et une planification en plusieurs étapes.
Installation et configuration
Configuration système requise
- Python 3.10+
- Node.js 18+ (pour le frontend)
- Projet Google Cloud avec l'API Vertex AI activée ou clé API Anthropic
Configuration de l'environnement
Créez un fichier .env
dans le répertoire racine :
# Outils de génération d'images et de vidéos
OPENAI_API_KEY=your_openai_key
OPENAI_AZURE_ENDPOINT=your_azure_endpoint
# Fournisseur de recherche
TAVILY_API_KEY=your_tavily_key
#JINA_API_KEY=your_jina_key
#FIRECRAWL_API_KEY=your_firecrawl_key
# Pour la recherche d'images et de meilleurs résultats de recherche, utilisez SerpAPI
#SERPAPI_API_KEY=your_serpapi_key
STATIC_FILE_BASE_URL=http://localhost:8000/
# Si vous utilisez le client Anthropic
ANTHROPIC_API_KEY=
# Si vous utilisez Google Vertex (recommandé, donne un débit supplémentaire si vous avez les autorisations)
#GOOGLE_APPLICATION_CREDENTIALS=
Configuration de l'environnement frontend, créez un fichier .env
dans le répertoire frontend :
NEXT_PUBLIC_API_URL=http://localhost:8000
Étapes d'installation
Cloner le dépôt
Configurer l'environnement Python :
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
- Configurer le frontend (facultatif) :
cd frontend
npm install
Utilisation
Utilisation de la CLI
Utilisation du client Anthropic :
python cli.py
Utilisation de Vertex :
python cli.py --project-id YOUR_PROJECT_ID --region YOUR_REGION
Options de la CLI :
--project-id
: ID du projet Google Cloud--region
: Région Google Cloud (par exemple, us-east5)--workspace
: Chemin du répertoire de l'espace de travail (par défaut : ./workspace)--needs-permission
: Nécessite une autorisation avant d'exécuter les commandes--minimize-stdout-logs
: Réduit la quantité de logs imprimés sur stdout
Utilisation de l'interface web
- Démarrer le serveur WebSocket :
Utilisation du client Anthropic :
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000
Utilisation de Vertex :
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000 --project-id YOUR_PROJECT_ID --region YOUR_REGION
- Démarrer le frontend (dans un terminal séparé) :
cd frontend
npm run dev
- Ouvrir le navigateur et accéder à http://localhost:3000
Structure du projet
cli.py
: Interface de ligne de commandews_server.py
: Serveur WebSocket du frontendsrc/ii_agent/
: Implémentation de l'agent centralagents/
: Implémentations d'agentsllm/
: Interfaces client LLMtools/
: Implémentations d'outilsutils/
: Fonctions utilitaires
Caractéristiques techniques
Le framework II-Agent est architecturé autour des capacités de raisonnement de grands modèles de langage tels que Claude 3.7 Sonnet, présentant une approche complète et puissante pour la construction d'agents d'IA multifonctionnels. Grâce à une combinaison synergique d'un LLM puissant, d'un riche ensemble de capacités d'exécution, de mécanismes de planification et de réflexion explicites et de stratégies intelligentes de gestion du contexte, II-Agent est capable de gérer un large éventail de tâches complexes en plusieurs étapes.
Conclusion
II-Agent représente une avancée significative dans la technologie des agents intelligents, sa nature open source et sa conception extensible fournissant une base solide pour la recherche et le développement continus dans le domaine en évolution rapide de l'IA des agents. Grâce à ses capacités d'application multi-domaines et à son architecture technique robuste, II-Agent offre aux utilisateurs une plateforme d'assistant intelligent complète et facile à utiliser.