Que fait fabro-workflow-factory ?
Compétence pour utiliser Fabro, l'orchestrateur open source de workflows de codage IA qui permet de définir des pipelines d'agents sous forme de graphes Graphviz DOT avec des portes humaines, un routage multi-modèle et des sandbox cloud.
Aperçu
Fabro vous permet de concevoir des workflows d'agents IA sous forme de graphes orientés. Chaque nœud représente une étape du pipeline, et les arêtes définissent le flux de données et de contrôle. Vous pouvez intégrer des points de décision humains (portes humaines), configurer le routage entre différents modèles d'IA, et exécuter du code dans des environnements sandbox cloud sécurisés.
Fonctionnalités principales
- Définition de pipelines avec Graphviz DOT : Écrivez des graphes au format
.dotpour décrire votre workflow. - Portes humaines : Insérez des points de validation où un humain doit approuver ou modifier la sortie avant de continuer.
- Routage multi-modèle : Aiguillez dynamiquement les tâches vers le modèle d'IA le plus adapté (ex. GPT-4, Claude, etc.).
- Sandbox cloud : Exécutez du code de manière isolée et sécurisée dans des environnements cloud temporaires.
- Open source : Entièrement open source, vous pouvez l'inspecter, le modifier et le déployer.
Utilisation
Pour utiliser cette compétence, vous devez :
- Installer Fabro via
pip install fabroounpm install fabro. - Définir votre pipeline dans un fichier
.dot. Exemple :
digraph workflow {
node [shape=box];
A [label="Générer plan"];
B [label="Porte humaine: approuver plan"];
C [label="Implémenter code"];
D [label="Tester dans sandbox"];
E [label="Finaliser"];
A -> B;
B -> C [label="approuvé"];
B -> A [label="modifications demandées"];
C -> D;
D -> E;
}
- Exécuter le workflow avec
fabro run workflow.dot.
Exemple de workflow avancé
digraph multi_model {
rankdir=LR;
node [style=rounded];
input [label="Entrée utilisateur"];
analyze [label="Analyse avec GPT-4"];
code_gen [label="Génération de code avec Claude"];
review [label="Porte humaine: revue de code"];
test [label="Exécution des tests (sandbox)"];
deploy [label="Déploiement"];
input -> analyze;
analyze -> code_gen [label="spécifications"];
code_gen -> review;
review -> test [label="approuvé"];
review -> code_gen [label="modifications"];
test -> deploy [label="succès"];
}
Configuration
Fabro lit les variables d'environnement pour configurer les modèles et les sandbox :
FABRO_OPENAI_KEY: Clé API OpenAI pour les modèles GPT.FABRO_ANTHROPIC_KEY: Clé API Anthropic pour les modèles Claude.FABRO_SANDBOX_ENV: Environnement sandbox (ex.docker,cloud).FABRO_LOG_LEVEL: Niveau de log (DEBUG,INFO,WARN,ERROR).
Liens utiles
Contribution
Les contributions sont les bienvenues ! Veuillez consulter le fichier CONTRIBUTING.md dans le dépôt GitHub pour les directives de contribution.