Description
DAGent propose une bibliothèque Python opinionnée pour la création rapide d'agents IA avec une surcharge minimale. Le concept central tourne autour de la structuration de la logique de l'agent IA en un flux de travail, visualisé comme un Graphe Acyclique Dirigé (DAG). Chaque fonction Python au sein de l'agent est traitée comme un nœud dans ce graphe.
Le comportement agentique est obtenu en utilisant des Grands Modèles de Langage (LLM) pour déduire quelle fonction exécuter ensuite. Ce processus d'inférence est géré par un "Nœud de Décision", qui agit comme le point central pour la prise de décision pilotée par LLM. Les outils, qui sont essentiellement des fonctions Python, peuvent être intégrés à l'agent. Il est fortement recommandé de fournir des docstrings claires et des annotations de type pour ces fonctions afin d'aider le LLM à comprendre leur objectif et leurs paramètres, en particulier pour les outils plus complexes.
La bibliothèque distingue entre `FunctionNode` et `DecisionNode`. Un `FunctionNode` exécute une fonction Python, et lorsqu'il est attaché à un `DecisionNode`, il peut être traité comme un outil que le LLM peut sélectionner. Le `DecisionNode` est l'endroit où le LLM choisit parmi un ensemble de fonctions disponibles. La méthode `.compile()` génère et enregistre automatiquement les descriptions d'outils au format JSON sous un dossier `Tool_JSON`, qui peut être modifié manuellement si la fiabilité de l'agent doit être améliorée. Le paramètre `prev_output` est crucial pour passer des données entre les fonctions dans le flux de travail, nécessitant sa présence dans la signature de la fonction. Pour gérer les paramètres inattendus, l'ajout de `**kwargs` aux signatures de fonction est conseillé.
DAGent prend en charge l'utilisation de divers modèles LLM pour l'inférence et la génération de descriptions d'outils. Les utilisateurs peuvent spécifier le modèle souhaité lors de l'appel des fonctions LLM ou lors de la compilation des instances `DecisionNode`, permettant une flexibilité dans le choix des modèles comme ceux de Groq ou Ollama. La bibliothèque facilite la substitution dynamique de paramètres pour les nœuds de fonction, permettant un réglage fin du comportement de l'agent pendant l'exécution. Les retours sur la bibliothèque peuvent être fournis via un formulaire dédié.
Fonctionnalités principales de DAGent
Construire des agents IA en utilisant du code Python existant
Structurer la logique de l'agent comme des Graphes Acycliques Dirigés (DAG)
Sélection de fonctions pilotée par LLM via des Nœuds de Décision
Fonctions traitées comme des outils pour les LLM
Génération automatique de descriptions d'outils (JSON)
Prise en charge de plusieurs modèles LLM (par exemple, Groq, Ollama)
Passer des données entre les fonctions en utilisant le paramètre `prev_output`
Substitution dynamique de paramètres pour les nœuds de fonction
Inclut un exemple d'agent quickstart
Premiers pas avec DAGent
Installer : pip install dagent ou rye add dagent
Configurer : Assurez-vous que votre clé API (par exemple, OPENAI_API_KEY) est disponible
Développer : Définir des fonctions Python pour agir comme nœuds
Intégrer : Utiliser DecisionNode pour permettre aux LLM de sélectionner des fonctions
Compiler : Exécuter `.compile()` pour générer les descriptions d'outils
Exécuter : Lancer votre flux de travail d'agent
Cas d'utilisation de DAGent
- Exécution automatisée de tâches
- Agents d'analyse de données
- Assistants de génération de code
- Automatisation des flux de travail
- Intégration d'outils IA personnalisés
- Scripting alimenté par LLM








