Skip to main content

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.

PyPI version License: MIT Python 3.8+

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

num_agents-0.1.2.tar.gz (235.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

num_agents-0.1.2-py3-none-any.whl (192.4 kB view details)

Uploaded Python 3

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

Hashes for num_agents-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0bc10c5dc5c24109fd256c657ba889b703eb52a9d00dcf732cdbc059572f3146
MD5 453a08ef5eeda8cf28e859c3035757b8
BLAKE2b-256 40dd22966d55f0a03c791739c4e6de3171a1c82fac80ad47c40aaacccf463a06

See more details on using hashes here.

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

Hashes for num_agents-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ed83a579a5ee1c9456141fe73aa52ec57b770457acc7d9234a666066487b3841
MD5 f0b133f74713e01b87b2643e4d04d3b3
BLAKE2b-256 92eb6fc03c4303c4fee14c41aa0833e6d90966b17d850a7f86f2d6e573cb7c17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page