[Xiao Muxue NLP] Résumé des outils de programmation assistée par l'IA

1. Introduction

Les outils de programmation assistée par l'IA sont des outils qui utilisent la technologie de l'intelligence artificielle pour aider les programmeurs à écrire et à maintenir le code plus efficacement. Ces outils utilisent des algorithmes d'apprentissage automatique pour analyser les bases de code, apprendre les modèles et préférences de programmation et automatiser les tâches de programmation, réduisant ainsi les efforts et les erreurs du programmeur.

2. Domestique

2.1 aiXcoder

aiXcoder : le premier outil de développement logiciel intelligent de Chine basé sur l'apprentissage profond, qui utilise la technologie de l'IA pour réaliser des fonctions telles que la génération automatique de code, la complétion automatique de code et la recherche intelligente de code, améliorant ainsi l'efficacité du développement des développeurs et la qualité du code.

Adresse du site officiel :
https://aixcoder.com/#/

Insérer la description de l'image ici

  • Génération et complétion de code au niveau du jeton : basé sur les services locaux, il prend en charge la recommandation automatique de codes pour un ou plusieurs jetons.
  • Génération et complétion de code au niveau de la ligne : basé sur les services cloud, il prend en charge la génération ou la complétion automatique de lignes entières de code.
  • Génération et complétion de code au niveau de la méthode : basé sur les services cloud, il prend en charge la génération ou la complétion de code au niveau de la méthode en fonction des descriptions de fonctions et du contexte en langage naturel.

2.1.1 Caractéristiques de l'outil

  • Divers langages de programmation grand public

    • Prend en charge Java, Python, C#, C/C++, JavaScript, TypeScript, Go et d'autres langages de programmation (le service de programmation intelligente cloud ne prend actuellement en charge que le langage Java)
    • aiXcoder pour les entreprises peut personnaliser de nouveaux langages de programmation en fonction des besoins de l'entreprise
  • Divers IDE grand public

    • Compatible avec IntelliJ IDEA, CLion, GoLand, PyCharm, WebStorm, Visual Studio Code, Eclipse et d'autres IDE (le service de programmation intelligente cloud n'est actuellement compatible qu'avec IntelliJ IDEA)
    • aiXcoder pour les entreprises peut personnaliser les fonctions de personnalisation des plug-ins en fonction des besoins de l'entreprise

Insérer la description de l'image ici

2.1.2 Méthode de déploiement

  • Modèle local extrêmement rapide
    Vous pouvez exécuter le modèle d'apprentissage profond d'aiXcoder dans un environnement "complètement privé". Le modèle sera téléchargé sur votre ordinateur et les données seront interrogées localement, permettant une complétion rapide du code. Ce mode prend en charge l'utilisation hors ligne.

  • Grands modèles dans le cloud
    Les modèles d'apprentissage profond déployés dans le cloud nécessitent un bon réseau pour fonctionner, ce qui peut vous aider à mettre en œuvre des fonctions de programmation intelligentes telles que la complétion de code au niveau de la ligne et la génération de code au niveau de la méthode.

2.1.3 Frais d'utilisation

aiXcoder Enterprise Edition adopte un modèle de tarification flexible, qui inclut spécifiquement les frais de licence et les frais de personnalisation du modèle. Le montant spécifique adopte un modèle de tarification flexible basé sur la taille de l'entreprise. Veuillez contacter le personnel commercial pour plus de détails.

2.1.4 Test des codes

2.1.4.1 Moteur de recherche de codes

https://codesearch.aixcoder.com/#/
Insérer la description de l'image ici

2.1.4.2 Expérience en ligne

https://aixcoder.com/nl2code/
Insérer la description de l'image ici

2.2 CodeGeeX

https://codegeex.cn/zh-CN

CodeGeeX est un modèle pré-entraîné de génération de code en langage multi-programmation avec 13 milliards de paramètres. CodeGeeX est implémenté à l'aide du framework MindSpore de Huawei et est formé sur 192 nœuds (un total de 1 536 processeurs Ascend 910 AI nationaux) dans le « Pengcheng Cloud Brain II » du Pengcheng Lab. Au 22 juin 2022, CodeGeeX a été pré-formé sur les corpus de codes (>850 milliards de jetons) dans plus de 20 langages de programmation sur deux mois.
En termes simples, CodeGeeX est un outil de génération de code alimenté par l'intelligence artificielle pour vous aider à écrire du code rapidement.

Insérer la description de l'image ici

CodeGeeX2 est le modèle de deuxième génération du modèle de génération de code multilingue CodeGeeX (KDD'23). Différent de la première génération de CodeGeeX (qui a été entièrement formée sur la plate-forme de puce nationale Huawei Ascend), CodeGeeX2 est basé sur l'architecture ChatGLM2 et ajoute une pré-formation au code. Grâce aux meilleures performances de ChatGLM2, CodeGeeX2 a obtenu des améliorations de performances dans plusieurs domaines. indicateurs (+107% > CodeGeeX ; Seulement 6 milliards de paramètres, soit près de 10% du StarCoder-15B avec plus de 15 milliards de paramètres)

2.2.1 Caractéristiques de l'outil

  • Génération de code de haute précision : prend en charge la génération de codes dans une variété de langages de programmation courants tels que Python, C++, Java, JavaScript et Go. Il atteint un taux de solution de 47 % à 60 % sur la génération de code HumanEval-X tâche, ce qui est meilleur que les autres modèles de base open source.
  • Traduction de code multilingue : prend en charge la traduction et la conversion automatiques d'extraits de code entre différents langages de programmation. Les résultats de la traduction sont très précis et surpassent les autres modèles de base dans la tâche de traduction de code HumanEval-X.
  • Plug-in de programmation automatique : le plug-in CodeGeeX est désormais disponible sur le marché des plug-ins VSCode (entièrement gratuit). Les utilisateurs peuvent utiliser ses puissantes capacités de génération de quelques échantillons pour personnaliser les styles et les capacités de génération de code afin de mieux faciliter l'écriture de code.
  • Le modèle est multiplateforme et open source : tous les codes et poids du modèle sont open source et disponibles à des fins de recherche. CodeGeeX prend en charge les plates-formes Ascend et NVIDIA et peut implémenter l'inférence sur un seul Ascend 910 ou NVIDIA V100/A100.

Insérer la description de l'image ici
Architecture : CodeGeeX est un modèle de langage de programmation pré-entraîné à grande échelle basé sur des transformateurs. Il s'agit d'un décodeur autorégressif génératif de gauche à droite qui prend un code ou un identifiant en langage naturel (jeton) en entrée et prédit la distribution de probabilité du prochain identifiant. CodeGeeX contient 40 couches de transformateur. La dimension de la couche cachée de chaque bloc d'auto-attention est de 5120, la dimension de la couche de rétroaction est de 20480 et le montant total des paramètres est de 13 milliards. La longueur de séquence maximale prise en charge par le modèle est de 2 048.

Corpus : Le corpus de formation de CodeGeeX se compose de deux parties. La première partie est l'ensemble de données de code open source, The Pile et CodeParrot. La Pile contient une sélection de référentiels open source avec plus de 100 étoiles sur GitHub, parmi lesquels nous avons sélectionné du code dans 23 langages de programmation. La deuxième partie est constituée de données supplémentaires, explorant les codes Python, Java et C++ directement à partir de l'entrepôt open source GitHub ;

CodeGeeX prend en charge une variété d'IDE grand public, tels que VS Code, IntelliJ IDEA, PyCharm, Vim, etc.,
et prend également en charge Python, Java, C++/C, JavaScript, Go et d'autres langages.

  • Prise en charge des IDE
    Insérer la description de l'image ici
  • Langues prises en charge
    Insérer la description de l'image ici

2.2.2 Méthode de déploiement

Un moyen en ligne de fournir des plug-ins vscode aux particuliers.
Fournir des services de déploiement privatisés CodeGeeX pour les entreprises.

2.2.3 Frais d'utilisation

Le plugin CodeGeeX ne nécessite aucun des éléments ci-dessus. Tout ce dont vous avez besoin est d’aller dans la boutique de plugins et de le télécharger. Le plug-in CodeGeeX est entièrement gratuit pour les utilisateurs individuels.

Insérer la description de l'image ici

2.2.4 Test des codes

Basé sur CodeGeeX, nous avons développé un plug-in VS Code gratuit (recherchez « CodeGeeX » sur le marché des plug-ins pour télécharger) pour faciliter le développement de programmation multilingue.

Insérer la description de l'image ici

2.3 Assistant de codage IA Alibaba Cloud (confortable)

https://developer.aliyun.com/tool/cosy
Alibaba Cloud AI Coding Assistant est un assistant de programmation IA qui fournit des capacités intelligentes de complétion de code et de recherche d'échantillons de code, vous aidant à écrire plus rapidement et plus efficacement.
Insérer la description de l'image ici

3. À l'étranger

Plusieurs assistants de code de programmation intelligents d'IA grand public actuels incluent : Github Copilot, Codeium, Tabnine, Replit Ghostwriter et Amazon CodeWhisperer.

Insérer la description de l'image ici

3.1 Copilote GitHub

https://github.com/features/copilot

En juin 2022, GitHub Copilot sera officiellement rendu public. Les développeurs du monde entier sont ravis, ils attendent ce jour depuis le lancement de la version bêta en 2021. L’attente en valait la peine. Copilot atteint son objectif d'aider les développeurs à réduire le travail tout en accélérant leur processus de codage. C'est presque parfait, à l'exception d'une chose : les frais du Copilot.

Insérer la description de l'image ici

Insérer la description de l'image ici

3.2 codéium

https://codeium.com/

Codeium est une boîte à outils gratuite d'accélération du code d'IA construite sur une technologie d'intelligence artificielle de pointe. Il permet la complétion de code, la recherche intelligente et le chat AI dans plus de 20 langues. Codeium fonctionne avec tous les environnements de développement intégrés (IDE) courants, notamment Visual Studio Code, IntelliJ IDEA et Eclipse.

Insérer la description de l'image ici

3.3 Amazon CodeWhisperer

https://aws.amazon.com/cn/codewhisperer/

Amazon CodeWhisperer est formé sur des milliards de lignes de code Amazon et accessible au public pour comprendre les commentaires écrits en langage naturel (anglais) et peut générer plusieurs suggestions de code en temps réel pour augmenter la productivité des développeurs. Le service fournit des suggestions pour des blocs complets de code fonctionnel et logique (comprenant généralement jusqu'à 10 à 15 lignes de code) directement dans l'éditeur de code de l'environnement de développement intégré (IDE). Le code généré est similaire à la façon dont vous l’écririez, conformément à votre style et à vos conventions de dénomination. Vous pouvez rapidement accepter la première suggestion (touche Tab), afficher plus de suggestions (touches fléchées) ou continuer à écrire votre propre code. Avant d'accepter une suggestion de code, assurez-vous de la consulter et vous devrez peut-être la modifier pour vous assurer qu'elle correspond exactement à ce que vous vouliez. CodeWhisperer propose même ses propres suggestions pour compléter les commentaires au fur et à mesure que vous tapez.

Insérer la description de l'image ici

Amazon CodeWhisperer fournit aux développeurs des suggestions de code en temps réel directement dans l'environnement de développement intégré (IDE). Les développeurs individuels peuvent utiliser CodeWhisperer gratuitement. Les organisations paient des frais d'abonnement fixes par utilisateur et par mois pour utiliser CodeWhisperer, sans frais initiaux ni engagements à long terme.

3.4 Tabnine

https://www.tabnine.com/

TabNine est un outil de développement relativement jeune. Il était assez impressionnant lors de sa première sortie. Peu de temps après qu'OpenAI ait rendu open source le modèle GPT-2, TabNine a mené une formation secondaire sur des données de code massives basées sur le modèle GPT-2 et a créé a Le moteur d'apprentissage en profondeur pour le code peut identifier intelligemment les informations ci-dessus du code et fournir des résultats d'achèvement de code à longue séquence. Actuellement, il a été acquis par Codota, qui promeut principalement cet outil et prétend prendre en charge tous les langages de développement courants.

tabnine est divisé en version de base, version améliorée et version entreprise. La version gratuite ne fournit que des fonctions de complétion de base, tandis que la version Pro payante a de meilleurs effets de complétion.
Insérer la description de l'image ici

3.5 Répliquer Ghostwriter

https://replit.com/site/ghostwriter

La programmation assistée par l’IA a encerclé une nouvelle licorne. Elle s'appelle Replit, une plate-forme de développement cloud fondée en 2016. Elle vient de lancer son propre outil de type Coplipot, Ghostwriter, l'année dernière. Replit lui-même est un environnement de développement intégré en ligne qui prend en charge plus de 50 langages de développement. Il peut aider les développeurs novices à éviter le déploiement d'environnements complexes et à démarrer la programmation directement ; il convient également aux développeurs expérimentés et peut effectuer une programmation collaborative, une construction et des tests de diverses applications.

Actuellement, Ghostwriter coûte 1 000 cycles par mois (10 USD/mois).
Ghostwriter est également disponible via notre forfait Pro.
Bien sûr, il n'est pas gratuit. Vous devez recharger 10 $ par mois ou l'échanger contre 1 000 cycles (un code virtuel publié par la devise de la plateforme Replit).

Insérer la description de l'image ici

3.6 Microsoft IntelliCode

https://learn.microsoft.com/zh-cn/visualstudio/intellicode/intellicode-visual-studio

Visual Studio 2022 est livré avec IntelliCode, un compagnon de code assisté par IA qui permet aux développeurs de saisir moins de code et d'améliorer leur efficacité. IntelliCode peut compléter une ligne entière de code, permettant aux utilisateurs d'écrire du code fiable en appuyant simplement sur la touche Tab. IntelliCode peut également repérer les modifications en double et suggérer des correctifs là où des modèles similaires existent dans la base de code.

3.7 Codex OpenAI

https://openai.com/blog/openai-codex/

La famille de modèles Codex est une descendante de la famille GPT-3, formée sur le langage naturel et des milliards de lignes de code. Cette série de modèles maîtrise plus d'une douzaine de langages, notamment C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL et même Shell, mais est meilleure en Python.

OpenAI Codex est un descendant de GPT-3 ; ses données de formation contiennent du langage naturel et des milliards de lignes de code source provenant de sources publiques, y compris du code dans des référentiels publics GitHub. OpenAI Codex est le plus puissant en Python, mais il maîtrise également plus d'une douzaine de langages, notamment JavaScript, Go, Perl, PHP, Ruby, Swift et TypeScript, et même Shell. Sa mémoire de code Python est de 14 Ko, tandis que GPT-3 n'en a que 4 Ko, il peut donc prendre en compte plus de 3 fois les informations contextuelles lors de l'exécution d'une tâche.

Conclusion

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)// ,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´) ! ! !

Je suppose que tu aimes

Origine blog.csdn.net/hhy321/article/details/132916887
conseillé
Classement