CodeT5 est un modèle de langage de grande envergure développé par Salesforce Research. Il est conçu pour la compréhension et la génération de code. Il existe deux versions principales : CodeT5 et CodeT5+. Ces modèles ont été présentés dans plusieurs publications académiques, démontrant leur efficacité dans le domaine du codage.
Dans la pratique, CodeT5 et CodeT5+ peuvent être déployés sous forme d'un assistant de codage alimenté par l'IA. Par exemple, à Salesforce, un démonstrateur d'assistant de codage AI a été construit en utilisant CodeT5 comme un plugin pour Visual Studio Code. Cela offre trois fonctionnalités principales.
La première fonctionnalité est la génération de code à partir d'une description en langage naturel. En d'autres termes, en fournissant une description textuelle du code souhaité, CodeT5 peut générer le code correspondant. C'est une fonctionnalité très utile pour les développeurs qui veulent rapidement obtenir un code à partir d'une idée ou d'un besoin exprimé en langage naturel.
La deuxième fonctionnalité est l'autocomplétion de code. Si le nom d'une fonction cible est donné, CodeT5 peut compléter l'ensemble de la fonction de code. Cela permet aux développeurs de gagner du temps lors de la rédaction de code, en évitant de devoir taper manuellement l'intégralité de la fonction.
La troisième fonctionnalité est la synthèse de code. CodeT5 peut générer un résumé d'une fonction en utilisant une description en langage naturel. Cela aide les développeurs à comprendre rapidement le but et le fonctionnement d'une fonction donnée, sans avoir à lire le code source en entier.
CodeT5 a connu de nombreuses évolutions au fil du temps. En mai 2023, le papier et les modèles CodeT5+ ont été publiés. En septembre 2022, le papier CodeRL a été accepté pour NeurIPS 2022. En juillet 2022, deux points de contrôle de grande taille CodeT5 ont été publiés sur HuggingFace. En octobre 2021, des points de contrôle finement réglés pour toutes les tâches en aval couvertes dans le papier ont été publiés, ainsi qu'un point de contrôle finement réglé CodeT5-base pour la synthèse de code multilingue.
Le code de CodeT5 est publié sous la licence BSD-3 (voir LICENSE.txt pour plus de détails). Cependant, les utilisateurs sont également invités à respecter certaines règles. Par exemple, le logiciel ne doit pas être utilisé pour promouvoir ou tirer profit de la violence, de la haine, de la division, de la destruction de l'environnement, de l'abus des droits de l'homme ou de la destruction de la santé physique et mentale des gens.
Pour s'impliquer dans le développement de CodeT5, les utilisateurs peuvent créer un problème sur GitHub s'ils ont des questions, des suggestions, des demandes ou des rapports de bogues. Les pull requests sont également les bienvenues.
En conclusion, CodeT5 est un outil puissant pour les développeurs de logiciel, offrant des fonctionnalités telles que la génération de code, l'autocomplétion de code et la synthèse de code, tout en étant basé sur des modèles de langage de grande envergure et des techniques d'intelligence artificielle avancées.