Nüm Agents: A dynamic agent orchestration framework
Project description
Nüm Agents SDK
Un framework d'orchestration d'agents dynamiques pour construire des systèmes d'agents IA modulaires et évolutifs.
Vue d'ensemble
Nüm Agents est un SDK puissant pour créer, gérer et déployer des agents IA avec une architecture modulaire basée sur des univers fonctionnels. Il permet aux développeurs de construire rapidement des systèmes d'agents en déclarant simplement les univers fonctionnels dont ils ont besoin, plutôt que de coder manuellement chaque composant.
Version 0.1.0 - Voir le changelog
Fonctionnalités clés
- Architecture basée sur des univers: Activez des modules fonctionnels en déclarant simplement les univers dont votre agent a besoin
- Génération dynamique d'agents: Générez automatiquement du code d'agent complet à partir de spécifications YAML simples
- Analyse de graphes logiques: Visualisez les dépendances et interactions entre composants d'agents
- Méta-orchestration: Capacités de supervision intégrées pour valider et améliorer les conceptions d'agents
- Framework extensible: Ajoutez facilement des univers, modules et types de nœuds personnalisés
- Tableau de bord interactif: Visualisez et analysez les performances de vos agents avec des graphiques avancés, exportez les données et modifiez les configurations en temps réel
Démarrage rapide
# Installer le SDK
pip install num-agents
# Générer un agent à partir d'une spécification
num-agents generate --spec agent.yaml --catalog univers_catalog.yaml
Configuration d'agents
Agent unique
# agent_simple.yaml
agent:
name: "SimpleAgent"
description: "Agent unique avec fonctionnalités de base"
univers:
- PocketFlowCore
protocol: N2A
llm: gemini-2.0-flash
memory: false
eventbus: false
scheduler: false
metrics: true
tracing: false
num-agents generate --spec agent_simple.yaml --catalog univers_catalog.yaml
Agent avec multi-expertise
# agent_expert.yaml
agent:
name: "ExpertAgent"
description: "Agent avec capacités de raisonnement multi-expertise"
univers:
- PocketFlowCore
- ReasoningLayer
protocol: N2A
llm: gemini-2.0-pro
memory: true
eventbus: true
scheduler: false
metrics: true
tracing: true
reasoning:
expertise_weighting: true
dynamic_strategy: true
num-agents generate --spec agent_expert.yaml --catalog univers_catalog.yaml
Système multi-agents
# multi_agent_system.yaml
system:
name: "MultiAgentSystem"
description: "Système avec plusieurs agents collaboratifs"
agents:
- name: "ManagerAgent"
univers:
- PocketFlowCore
- ManagerLayer
protocol: N2A
llm: gemini-2.0-pro
memory: true
eventbus: true
- name: "SpecialistAgent"
univers:
- PocketFlowCore
- KnowledgeLayer
protocol: N2A
llm: gemini-2.0-flash
memory: false
eventbus: true
coordination:
type: "eventbus"
shared_memory: true
Commandes CLI disponibles
# Générer un agent à partir d'une spécification
num-agents generate --spec agent.yaml --catalog univers_catalog.yaml
# Générer un système multi-agents à partir d'une spécification
num-agents generate-system --spec multi_agent_system.yaml --catalog univers_catalog.yaml
# Exécuter un agent avec visualisation du graphe logique en temps réel
num-agents run ./NomDuDossierAgent --live-graph
# Lancer le tableau de bord pour un agent ou un système multi-agents
num-agents dashboard --agent-dir ./NomDuDossierAgent --port 8080
num-agents dashboard --system-dir ./NomDuDossierSysteme --port 8080
# Générer un graphe logique pour un agent existant
num-agents graph --agent-dir ./SimpleAgent --output-mermaid graph.mmd
# Générer un audit pour un agent existant
num-agents audit --agent-dir ./SimpleAgent --output-path audit.md
# Générer des suggestions pour améliorer le fichier agent.yaml
num-agents suggest-yaml --agent-dir ./SimpleAgent --output-path suggestions.yaml
# Générer un manifeste des fichiers d'un projet d'agent
num-agents generate-manifest ./SimpleAgent --format markdown --output manifest.md
Génération de systèmes multi-agents
Le SDK permet de générer automatiquement toute la structure d'un système multi-agents à partir d'un fichier YAML de spécification :
# multi_agent_system.yaml
system:
name: "MultiAgentSystem"
description: "Système avec plusieurs agents collaboratifs"
agents:
- name: "ManagerAgent"
univers:
- PocketFlowCore
- ManagerLayer
protocol: N2A
llm: gemini-2.0-pro
memory: true
eventbus: true
- name: "SpecialistAgent"
univers:
- PocketFlowCore
- KnowledgeLayer
protocol: N2A
llm: gemini-2.0-flash
memory: false
eventbus: true
coordination:
type: "eventbus"
shared_memory: true
Génération automatique :
num-agents generate-system --spec multi_agent_system.yaml --catalog univers_catalog.yaml
Chaque agent est généré dans son propre dossier, avec la coordination et les ressources partagées au niveau du système.
Tableau de bord interactif
Nüm Agents SDK inclut un tableau de bord Streamlit puissant pour surveiller et gérer vos agents :
# Lancer le tableau de bord avec des données d'exemple
python -m num_agents.dashboard.app --target ./examples/dashboard_demo --generate-data
# Visualiser un agent en cours d'exécution
python -m num_agents.dashboard.app --agent-dir ./SimpleAgent --port 8080
# Visualiser plusieurs agents sur le même tableau de bord
python -m num_agents.dashboard.app --system-dir ./MultiAgentSystem --port 8080
Fonctionnalités du tableau de bord
- Vue des agents : Configuration et statut des agents en temps réel
- Vue des graphes logiques : Visualisation interactive des flux de données et dépendances
- Vue de la mémoire : Exploration des croyances et connaissances des agents
- Vue des métriques : Graphiques avancés pour analyser les performances
- Performance des nœuds avec visualisations temporelles
- Utilisation des modèles LLM avec statistiques de coût
- Temps de réponse avec analyses statistiques
- Vue des traces : Journaux d'exécution avec chronologie interactive et filtres
Fonctionnalités avancées
- Visualisations interactives : Chronologies, diagrammes de Gantt, cartes de chaleur, graphiques radar
- Exportation de données : Export en CSV, JSON et Excel pour analyse externe
- Édition de configuration : Modification des paramètres d'agent en temps réel
- Contrôle d'exécution : Démarrage et arrêt des agents directement depuis l'interface
Structure du projet
Le SDK Nüm Agents suit une architecture modulaire:
num-agents-sdk/
│── num_agents/
│ │── composer/ # Génération et composition d'agents
│ │── dashboard/ # Tableau de bord interactif Streamlit
│ │── graph/ # Génération de graphes logiques
│ │── orchestrator/ # Méta-orchestration et validation
│ │── univers/ # Gestion du catalogue d'univers
│ └── utils/ # Fonctions utilitaires
│── config/ # Fichiers de configuration
│── examples/ # Exemples de spécifications d'agents
│── tests/ # Suite de tests
└── docs/ # Documentation
État de développement
Le SDK Nüm Agents est actuellement en version alpha (v0.1.0). Nous développons activement les fonctionnalités de base et accueillons les contributions.
Licence
Propriétaire - Tous droits réservés
Copyright (c) 2025 Lionel TAGNE. La copie, la modification, la distribution ou l'utilisation non autorisée de ce logiciel est strictement interdite.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file num_agents-0.1.2.tar.gz.
File metadata
- Download URL: num_agents-0.1.2.tar.gz
- Upload date:
- Size: 235.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bc10c5dc5c24109fd256c657ba889b703eb52a9d00dcf732cdbc059572f3146
|
|
| MD5 |
453a08ef5eeda8cf28e859c3035757b8
|
|
| BLAKE2b-256 |
40dd22966d55f0a03c791739c4e6de3171a1c82fac80ad47c40aaacccf463a06
|
File details
Details for the file num_agents-0.1.2-py3-none-any.whl.
File metadata
- Download URL: num_agents-0.1.2-py3-none-any.whl
- Upload date:
- Size: 192.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed83a579a5ee1c9456141fe73aa52ec57b770457acc7d9234a666066487b3841
|
|
| MD5 |
f0b133f74713e01b87b2643e4d04d3b3
|
|
| BLAKE2b-256 |
92eb6fc03c4303c4fee14c41aa0833e6d90966b17d850a7f86f2d6e573cb7c17
|