CodeT5: AI-gestützter Codierungsassistent für Code-Verständnis und -Generierung

CodeT5

CodeT5 von Salesforce Research ist ein Modell zur Code-Verständnis und -Generierung. Es bietet Funktionen wie Text-to-code-Generierung, Code-Autovervollständigung und Code-Zusammenfassung und wurde in mehreren wissenschaftlichen Veröffentlichungen vorgestellt.

CodeT5: AI-gestützter Codierungsassistent für Code-Verständnis und -Generierung

CodeT5 und CodeT5+ sind offiziell veröffentlichte Forschungsmodelle von Salesforce Research, die speziell für die Code-Verständnis und -Generierung entwickelt wurden. Die Modelle wurden in folgenden Artikeln vorgestellt:

CodeT5+: Open Code Large Language Models for Code Understanding and Generation Autoren: Yue Wang*, Hung Le*, Akhilesh Deepak Gotmare, Nghi D.Q. Bui, Junnan Li, Steven C.H. Hoi (* zeigt gleichberechtigte Beiträge an)

CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation Autoren: Yue Wang, Weishi Wang, Shafiq Joty, Steven C.H. Hoi

In der Praxis können die CodeT5- und CodeT5+-Modelle als AI-gestützter Codierungsassistent eingesetzt werden, um die Produktivität von Softwareentwicklern zu steigern. Bei Salesforce haben wir beispielsweise einen AI-Codierungsassistenten-Demo aufgebaut, der CodeT5 als VS Code-Plugin verwendet und drei Funktionen bietet:

  • Text-to-code-Generierung: Hier wird Code basierend auf der natürlichen Sprachbeschreibung generiert. So kann man beispielsweise eine Beschreibung in natürlicher Sprache eingeben und das entsprechende Code-Snippet erhalten.
  • Code-Autovervollständigung: Wenn der Name der Zielfunktion gegeben ist, kann der gesamte Funktionscode vervollständigt werden. Dies spart Entwicklern Zeit und Mühe, da sie nicht den gesamten Code von Hand schreiben müssen.
  • Code-Zusammenfassung: Die Zusammenfassung einer Funktion wird in natürlicher Sprache generiert. Dadurch kann man schnell einen Überblick über die Funktion erhalten, ohne den gesamten Code durchlesen zu müssen.

Im Laufe der Zeit wurden auch verschiedene Veröffentlichungen und Weiterentwicklungen vorgenommen:

  • Im Mai 2023 wurden das CodeT5+-Papier und die Modelle veröffentlicht! Man kann die relevanten Informationen über das Papier, den Code, das Modell und den Blog finden.
  • Im September 2022 wurde unser CodeRL-Papier bei NeurIPS 2022 akzeptiert. Auch hier gibt es die entsprechenden Links zu Papier, Code und Blog.
  • Im Juli 2022 wurden zwei große CodeT5-Checkpoints bei HuggingFace veröffentlicht: Salesforce/codet5-large und Salesforce/codet5-large-ntp-py, die durch das CodeRL-Papier vorgestellt wurden.
  • Im Oktober 2021 wurden feinabgestimmte Checkpoints für alle in dem Papier behandelten Downstream-Tasks veröffentlicht. Außerdem wurde ein CodeT5-base feinabgestimmter Checkpoint (Salesforce/codet5-base-multi-sum) für die mehrsprachige Code-Zusammenfassung veröffentlicht.
  • Im September 2021 wurde das CodeT5-Papier bei EMNLP 2021 akzeptiert und die Modelle veröffentlicht. Auch hier gibt es die entsprechenden Links zu Papier, Code, Modell und Blog.

Wenn Sie diese Code für Ihre Forschung nützlich finden, sollten Sie bitte die folgenden Zitate berücksichtigen:

@inproceedings{ wang2021codet5, title={CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation}, author={Yue Wang, Weishi Wang, Shafiq Joty, Steven C.H. Hoi}, booktitle={EMNLP}, year={2021}, }

@inproceedings{ le2022coderl, title={CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learning}, author={Le, Hung and Wang, Yue and Gotmare, Akhilesh Deepak and Savarese, Silvio and Hoi, Steven C. H.}, booktitle={NeurIPS}, year={2022} }

@article{ wang2023codet5plus, title={CodeT5+: Open Code Large Language Models for Code Understanding and Generation}, author={Wang, Yue and Le, Hung and Gotmare, Akhilesh Deepak and Bui, Nghi D.Q. and Li, Junnan and Hoi, Steven C. H.}, journal={arXiv preprint}, year={2023} }

Das Code wird unter der BSD-3-Lizenz veröffentlicht (siehe LICENSE.txt für Details). Allerdings bitten wir auch die Benutzer, die folgenden Punkte zu beachten:

Dieses Software sollte nicht zur Förderung oder zum Profitieren von: Gewalt, Hass und Spaltung, Umweltzerstörung, Menschenrechtsverletzungen oder der Zerstörung der körperlichen und geistigen Gesundheit von Menschen genutzt werden.

Wir ermutigen die Benutzer dieser Software, uns über die Anwendungen zu informieren, in denen sie sie verwenden, indem sie eine E-Mail an senden und die Verwendung entsprechender Dokumentation bei der Entwicklung von Anwendungen mit hohem Risiko dieses Modells.

Wenn Sie Fragen, Vorschläge, Anfragen oder Fehlerberichte haben, erstellen Sie bitte ein GitHub-Issue. Wir begrüßen auch Pull-Requests!

Top-Alternativen zu CodeT5

PearAI

PearAI

PearAI ist ein Open-Source-AI-Code-Editor, der die Entwicklungsgeschwindigkeit erhöht.

WisBot

WisBot

WisBot generiert mühelos Jupyter Notebooks und Python-Code für Data Science und Machine Learning, basierend auf Ihren Anforderungen.

edCode

edCode

edCode: Lerne Programmieren oder bereite dich mit KI-Unterstützung auf Vorstellungsgespräche vor. Kostenlos, einfach und motivierend!

Fine

Fine

Fine ist die heiße AI-Plattform für Startup-Teams, mit der Softwareentwicklung rasant vorangebracht wird

GitLab Duo Code Suggestions

GitLab Duo Code Suggestions

GitLab Duo Code Suggestions beschleunigt das Programmieren

GitFluence

GitFluence

GitFluence ist ein KI-gestütztes Git-Befehls-Generator, der Zeit spart

Dosu

Dosu

Dosu ist ein cooler AI-Helfer für Entwickler, der die Code-Pflege vereinfacht

Code Snippets AI

Code Snippets AI

Code Snippets AI ist ein mächtiges AI-Tool, das deine Coding-Effizienz steigert

CodeSandbox

CodeSandbox

CodeSandbox ist eine coole, AI-getriebene Cloud-Entwicklungsumgebung, die deine Produktivität hochschraubt

Codiga

Codiga

Codiga ist eine Static Code Analysis-Lösung, die in Ihrer IDE und CI/CD funktioniert

EffectiveSoft Corporation

EffectiveSoft Corporation

EffectiveSoft bringt dir top Software-Entwicklungsdienste

Amazon Q Developer

Amazon Q Developer

Amazon Q Developer ist ein cooles KI-Tool für die Softwareentwicklung

New Relic CodeStream

New Relic CodeStream

New Relic CodeStream verbessert die Codeleistung und erleichtert Fehlerbehebung

CodeWP

CodeWP

CodeWP ist ein hammermäßiges AI-Tool, das WordPress-Prozesse easy macht

Gitpod

Gitpod

Gitpod bietet automatisierte Entwicklungsumgebungen und erhöht die Produktivität

Code Coach

Code Coach

Code Coach ist ein KI-gestützter Interviewer, der Ihnen hilft vorzubereiten

Stenography

Stenography

Stenography ist ein leistungsstarkes Tool mit automatischer Dokumentation und API

Jam | AI Debugging Assistant

Jam | AI Debugging Assistant

Jam ist ein KI-gestütztes Debugging-Tool, das Ihnen hilft, Fehler zu finden und zu beheben.

TLDR

TLDR

TLDR ist ein AI-betriebenes Plugin, das Code in einfachem Englisch erklärt.

Kodezi

Kodezi

Kodezi ist ein AI-basiertes Tool, das Code verbessert und Fehler behebt.

Cursor

Cursor

Cursor ist ein AI-betriebener Code-Editor für außergewöhnliche Produktivität

Empfohlene KI-Tools

Leetcode Wizard

Leetcode Wizard

Leetcode Wizard ist eine KI-gestützte Desktop-Anwendung, die sofortige Lösungen für Leetcode-Probleme bietet, um Coding-Interviews mühelos zu meistern.

Details anzeigen
Windsurf Editor

Windsurf Editor

Der Windsurf Editor ist eine agentenbasierte IDE, die Entwickler und KI nahtlos zusammenführt, um ein magisches Programmiererlebnis zu schaffen.

Details anzeigen
Astronuts

Astronuts

Astronuts ist eine KI-gestützte Plattform, die Entwicklern hilft, Code-Reviews zu automatisieren und Fehler zu beheben.

Details anzeigen
Ellipsis.dev

Ellipsis.dev

Ellipsis.dev ist ein KI-gestütztes Entwickler-Tool, das automatisch Code überprüft und Fehler in Pull Requests behebt.

Details anzeigen
Codespect

Codespect

Codespect ist ein AI-gestütztes Code-Review-Tool, das Entwicklern hilft

Details anzeigen
edCode

edCode

edCode: Lerne Programmieren oder bereite dich mit KI-Unterstützung auf Vorstellungsgespräche vor. Kostenlos, einfach und motivierend!

Details anzeigen
Codebuff

Codebuff

Codebuff ist ein AI-Tool, das Ihre Coding-Workflow revolutioniert

Details anzeigen
AI Coder Buddy

AI Coder Buddy

AI Coder Buddy unterstützt beim Coden und erhöht die Produktivität.

Details anzeigen