Utilisation de l'IA
Développement
Dans le cadre du développement, l'utilisation des assistants de codage (LLM) est autorisée :
- Pour la génération de texte de commit Git ;
- Pour la traduction ;
- Pour la synthèse de changelog de release ;
- Pour l'auto-completion simple (noms de variables, documentation de fonction, messages d'erreurs) ;
- Et le temps d'avoir plusieurs contributeurs actifs sur le projet
- Pour aider à questionner des choix techniques ;
- Pour la relecture a posteori de code et les recommandations d'améliorations.
L'utilisation des assistants de codage (LLM) est interdite :
- Pour toute forme de génération automatique de code (vibe coding). Les développeurs doivent soumettre du code qui n'a pas été généré automatiquement par un LLM ;
L'utilisation d'IA générative pour d'autres formats que le texte est strictement interdite. Notamment la génération d'images ou de vidéos. Cela s'applique également aux assets (icones et images) des djehooty-frontend.
Le code généré par assistant de codage a été pratiqué au début de Djehooty pour découvrir la technologie et se faire un avis dessus. Les commits impactés mentionnaient généralement lorsqu'un LLM était utilisé. Le code généré par LLM a été généralement entièrement revu et réécrit depuis, ce qui a amené à la décision de ne pas accepter de code généré automatiquement par un LLM. L'usage actuel des assistants de codage est donc encadré par la liste ci-dessus. La politique relative à l'IA sera très certainement amenée à évoluer à mesure que des contributeurs rejoindront le projet.
Fonctionnalités
Djehooty prévoit dans sa roadmap le développement des trois fonctionnalités IA suivantes :
- Reconnaissance locale de visages (sur les photos et vidéos) ;
- Reconnaissance locale de texte imprimé (OCR) et manuscrit ;
- Transcription locale de l'audio en texte.
Il n'est pas prévu d'utiliser de LLM dans les fonctionnalités de Djehooty.
Ces fonctionnalités nécessiteront une activation préalable par les utilisateurs (l'option sera désactivée par défaut) et le téléchargement d'un ou plusieurs réseaux de neuronnes.