Kite recourt au ML pour assister la programmation en Python

Destiné pour l’instant aux développeurs en Python, l’assistant de programmation Kite fait appel au machine learning pour affiner l’auto-suggestion de code.

La dernière version de Kite peut suggérer un appel de fonction complet, avec ses arguments. (Crédit : Kite)

Kite, présenté par ses créateurs comme « le copilote IA pour les programmeurs Python », est un système de complétion de code qui va au-delà des algorithmes habituels d’auto-suggestion que l’on trouve dans les environnements de développement intégrés. Il est possible d’utiliser Kite avec les principaux éditeurs de code – Atom, PyCharm/IntelliJ, Sublime Text, Microsoft Visual Studio Code et Vim. Pour l’instant, l’outil supporte seulement Python, mais son équipe de développement prévoit de couvrir également d’autres langages.

Avec Kite, la complétion de code est prise en charge par un modèle d’apprentissage machine alimenté par le code Python publiquement disponible sur GitHub. Le modèle n’est pas entraîné sur le texte du code, mais sur les arbres syntaxiques abstraits (ast) dérivés du code. C’est ce qui lui fournit des informations sur les intentions et le contexte du code, ce qui permettra de proposer les auto-complétions les plus communes en se basant sur la façon dont les autres développeurs en Python ont écrit leur code jusque-là.

Déployer le modèle ML sur un système local

La plus récente version de Kite étend cette fonctionnalité de suggestion de code pour mieux démontrer ce qu’il est possible de faire avec cette approche. Les précédentes moutures de l’outil pouvaient seulement suggérer – à tout moment – la suite la plus probable, comme par exemple une référence de variable. Sa dernière évolution peut maintenant suggérer un appel de fonction complet, en incluant tous les arguments disponibles avec leur signification.

Cette version permet aussi de déployer le modèle d’apprentissage machine de Kite sur un système local, plutôt que sur un serveur distant. Cela correspond à la tendance consistant à faire des modèles de machine learning plus compacts et plus faciles à déployer sur du matériel ne disposant pas de capacités importantes en termes de CPU et de stockage, comme un smartphone.

A propos de Python, rappelons que la communauté de développeurs contribuant au langage s’est dotée en décembre dernier d’une nouvelle gouvernance, suite au retrait de son fondateur Guido Van Rossum.

chevron_left
chevron_right