[Xiao Muxue NLP] Resumen de herramientas de programación asistidas por IA

1. Introducción

Las herramientas de programación asistida por IA son herramientas que utilizan tecnología de inteligencia artificial para ayudar a los programadores a escribir y mantener código de manera más eficiente. Estas herramientas utilizan algoritmos de aprendizaje automático para analizar bases de código, aprender patrones y preferencias de programación y automatizar tareas de programación, lo que reduce el esfuerzo y los errores del programador.

2. Nacional

2.1 codificador aiX

aiXcoder: la primera herramienta de desarrollo de software inteligente de China basada en el aprendizaje profundo, que utiliza tecnología de inteligencia artificial para realizar funciones como generación automática de código, finalización automática de código y búsqueda inteligente de código, lo que mejora la eficiencia del desarrollo de los desarrolladores y la calidad del código.

Dirección del sitio web oficial:
https://aixcoder.com/#/

Insertar descripción de la imagen aquí

  • Generación y finalización de código a nivel de token: basado en servicios locales, admite la recomendación automática de códigos para tokens únicos o múltiples.
  • Generación y finalización de código a nivel de línea: basado en servicios en la nube, admite la generación o finalización automática de líneas enteras de código.
  • Generación y finalización de código a nivel de método: basado en servicios en la nube, admite la generación o finalización de código a nivel de método basado en contexto y descripciones de funciones en lenguaje natural.

2.1.1 Funciones de la herramienta

  • Varios lenguajes de programación convencionales.

    • Admite Java, Python, C#, C/C++, JavaScript, TypeScript, Go y otros lenguajes de programación (el servicio de programación inteligente en la nube actualmente solo admite el lenguaje Java)
    • aiXcoder para empresas puede personalizar nuevos lenguajes de programación según las necesidades empresariales
  • Varios IDE convencionales

    • Compatible con IntelliJ IDEA, CLion, GoLand, PyCharm, WebStorm, Visual Studio Code, Eclipse y otros IDE (el servicio de programación inteligente en la nube actualmente solo es compatible con IntelliJ IDEA)
    • aiXcoder para empresas puede personalizar las funciones de personalización del complemento según las necesidades de la empresa

Insertar descripción de la imagen aquí

2.1.2 Método de implementación

  • Modelo local extremadamente rápido
    Puede ejecutar el modelo de aprendizaje profundo de aiXcoder en un entorno "completamente privado". El modelo se descargará a su computadora y los datos se consultarán localmente, lo que permitirá completar el código rápidamente. Este modo admite el uso sin conexión.

  • Modelos grandes en la nube
    Los modelos de aprendizaje profundo implementados en la nube requieren una buena red para funcionar, lo que puede ayudarlo a implementar funciones de programación inteligentes, como la finalización de código a nivel de línea y la generación de código a nivel de método.

2.1.3 Tarifas de uso

aiXcoder Enterprise Edition adopta un modelo de precios flexible, que incluye específicamente tarifas de licencia y tarifas de personalización del modelo. La cantidad específica adopta un modelo de precios flexible basado en el tamaño de la empresa. Comuníquese con el personal comercial para obtener más detalles.

2.1.4 Prueba de código

2.1.4.1 Buscador de códigos

https://codesearch.aixcoder.com/#/
Insertar descripción de la imagen aquí

2.1.4.2 Experiencia en línea

https://aixcoder.com/nl2code/
Insertar descripción de la imagen aquí

2.2 CódigoGeeX

https://codegeex.cn/zh-CN

CodeGeeX es un modelo preentrenado de generación de código de lenguaje de programación múltiple con 13 mil millones de parámetros. CodeGeeX se implementa utilizando el marco MindSpore de Huawei y está entrenado en 192 nodos (un total de 1.536 procesadores de IA Ascend 910 nacionales) en "Pengcheng Cloud Brain II" de Pengcheng Lab. Al 22 de junio de 2022, CodeGeeX recibió capacitación previa en corpus de código (>850 mil millones de tokens) en más de 20 lenguajes de programación durante dos meses.
En pocas palabras, CodeGeeX es una herramienta de generación de código impulsada por inteligencia artificial para ayudarlo a escribir código rápidamente.

Insertar descripción de la imagen aquí

CodeGeeX2 es el modelo de segunda generación del modelo de generación de código multilingüe CodeGeeX (KDD'23). A diferencia de la primera generación de CodeGeeX (completamente capacitado en la plataforma de chip nacional Huawei Ascend), CodeGeeX2 se basa en la arquitectura ChatGLM2 y agrega entrenamiento previo de código. Gracias al mejor rendimiento de ChatGLM2, CodeGeeX2 ha logrado mejoras de rendimiento en múltiples indicadores ( +107% > CodeGeeX; sólo 6 mil millones de parámetros, que es casi el 10% de StarCoder-15B con más de 15 mil millones de parámetros)

2.2.1 Funciones de la herramienta

  • Generación de código de alta precisión: admite la generación de códigos en una variedad de lenguajes de programación convencionales como Python, C++, Java, JavaScript y Go. Logra una tasa de solución del 47% al 60% en la generación de código HumanEval-X. tarea, que es mejor que otros modelos de referencia de código abierto.rendimiento promedio.
  • Traducción de código entre idiomas: admite la traducción automática y la conversión de fragmentos de código entre diferentes lenguajes de programación. Los resultados de la traducción son muy precisos y superan a otros modelos de referencia en la tarea de traducción de código de HumanEval-X.
  • Complemento de programación automática: el complemento CodeGeeX ahora está disponible en el mercado de complementos VSCode (completamente gratuito). Los usuarios pueden utilizar sus poderosas capacidades de generación de pocas muestras para personalizar los estilos y capacidades de generación de código para ayudar mejor a la escritura de código.
  • El modelo es multiplataforma y de código abierto: todos los códigos y pesos del modelo son de código abierto y están disponibles para fines de investigación. CodeGeeX es compatible con las plataformas Ascend y NVIDIA y puede implementar inferencia en un único Ascend 910 o NVIDIA V100/A100.

Insertar descripción de la imagen aquí
Arquitectura: CodeGeeX es un modelo de lenguaje de programación previamente entrenado a gran escala basado en transformadores. Es un decodificador autorregresivo generativo de izquierda a derecha que toma un código o identificador de lenguaje natural (token) como entrada y predice la distribución de probabilidad del siguiente identificador. CodeGeeX contiene 40 capas de transformador: la dimensión de la capa oculta de cada bloque de atención personal es 5120, la dimensión de la capa de avance es 20480 y la cantidad total de parámetros es 13 mil millones. La longitud máxima de secuencia admitida por el modelo es 2048.

Corpus: El corpus de formación de CodeGeeX consta de dos partes. La primera parte es el conjunto de datos de código fuente abierto, The Pile y CodeParrot. The Pile contiene una selección de repositorios de código abierto con más de 100 estrellas en GitHub, de los cuales seleccionamos código en 23 lenguajes de programación. La segunda parte son datos complementarios, que rastrean códigos Python, Java y C++ directamente desde el almacén de código abierto de GitHub;

CodeGeeX admite una variedad de IDE convencionales, como VS Code, IntelliJ IDEA, PyCharm, Vim, etc.,
y también admite Python, Java, C++/C, JavaScript, Go y otros lenguajes.

  • IDE de soporte
    Insertar descripción de la imagen aquí
  • Idiomas soportados
    Insertar descripción de la imagen aquí

2.2.2 Método de implementación

Una forma en línea de proporcionar complementos vscode para individuos.
Proporcionar servicios de implementación privatizados de CodeGeeX para empresas.

2.2.3 Tarifas de uso

El complemento CodeGeeX no requiere nada de lo anterior. Todo lo que necesitas es ir a la tienda de complementos y descargarlo. El complemento CodeGeeX es completamente gratuito para usuarios individuales.

Insertar descripción de la imagen aquí

2.2.4 Prueba de código

Basado en CodeGeeX, hemos desarrollado un complemento VS Code gratuito (busque "CodeGeeX" en el mercado de complementos para descargar) para ayudar al desarrollo de programación en varios idiomas.

Insertar descripción de la imagen aquí

2.3 Asistente de codificación de IA en la nube de Alibaba (acogedor)

https://developer.aliyun.com/tool/cosy
Alibaba Cloud AI Coding Assistant es un asistente de programación de IA que proporciona funciones inteligentes de finalización de código y búsqueda de muestras de código, lo que le ayuda a escribir de forma más rápida y eficiente. Producir código de alta calidad.
Insertar descripción de la imagen aquí

3. En el extranjero

Varios asistentes de código de programación inteligente de IA convencionales actuales incluyen: Github Copilot, Codeium, Tabnine, Replit Ghostwriter y Amazon CodeWhisperer.

Insertar descripción de la imagen aquí

3.1 Copiloto de GitHub

https://github.com/features/copilot

En junio de 2022, GitHub Copilot se lanzará oficialmente al público. Los desarrolladores de todo el mundo están extasiados, ya que han estado esperando este día desde el lanzamiento beta en 2021. La espera valió la pena. Copilot logra su objetivo de ayudar a los desarrolladores a reducir el trabajo y al mismo tiempo acelerar su proceso de codificación. Es casi perfecto, excepto por una cosa: las cargas del Copilot.

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

3.2 codeio

https://codeium.com/

Codeium es un conjunto de herramientas gratuito de aceleración de código de IA basado en tecnología de inteligencia artificial de vanguardia. Proporciona finalización de código, búsqueda inteligente y chat de IA en más de 20 idiomas. Codeium funciona con todos los entornos de desarrollo integrados (IDE) populares, incluidos Visual Studio Code, IntelliJ IDEA y Eclipse.

Insertar descripción de la imagen aquí

3.3 Susurrador de códigos de Amazon

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

Amazon CodeWhisperer está capacitado en miles de millones de líneas de código de Amazon y disponible públicamente para comprender comentarios escritos en lenguaje natural (inglés) y puede generar múltiples sugerencias de código en tiempo real para mejorar la productividad de los desarrolladores. El servicio proporciona sugerencias para bloques de código lógicos y funcionales completos (que normalmente constan de entre 10 y 15 líneas de código) directamente en el editor de código del entorno de desarrollo integrado (IDE). El código generado es similar a cómo lo escribirías, conforme a tu estilo y convenciones de nomenclatura. Puede aceptar rápidamente la sugerencia principal (tecla Tabulador), ver más sugerencias (teclas de flecha) o continuar escribiendo su propio código. Antes de aceptar una sugerencia de código, asegúrese de revisarla y es posible que deba editarla para asegurarse de que coincida exactamente con lo que pretendía. CodeWhisperer incluso ofrece sus propias sugerencias para completar comentarios mientras escribe.

Insertar descripción de la imagen aquí

Amazon CodeWhisperer proporciona a los desarrolladores sugerencias de código en tiempo real directamente en el entorno de desarrollo integrado (IDE). Los desarrolladores individuales pueden utilizar CodeWhisperer de forma gratuita. Las organizaciones pagan una tarifa de suscripción fija por usuario y mes para usar CodeWhisperer, sin costos iniciales ni compromisos a largo plazo.

3.4 Tabina

https://www.tabnine.com/

TabNine es una herramienta de desarrollo relativamente joven. Fue bastante impresionante cuando se lanzó por primera vez. No mucho después de que OpenAI acababa de abrir el modelo GPT-2, TabNine llevó a cabo una capacitación secundaria sobre datos de código masivos basados ​​en el modelo GPT-2 y creó a El motor de aprendizaje profundo para código puede identificar de manera inteligente la información anterior del código y proporcionar resultados de finalización de código de secuencia larga. Actualmente, ha sido adquirido por Codota, que promueve principalmente esta herramienta y afirma ser compatible con todos los lenguajes de desarrollo principales.

tabnine se divide en versión básica, versión mejorada y versión empresarial. La versión gratuita solo proporciona funciones de finalización básicas, mientras que la versión Pro de pago tiene mejores efectos de finalización.
Insertar descripción de la imagen aquí

3.5 Repetición del escritor fantasma

https://replit.com/site/ghostwriter

La programación asistida por IA ha rodeado un nuevo unicornio. Se llama Replit, una plataforma de desarrollo en la nube fundada en 2016. El año pasado lanzó su propia herramienta Ghostwriter, similar a Coplipot. Replit en sí es un entorno de desarrollo integrado en línea que admite más de 50 lenguajes de desarrollo. Puede ayudar a los desarrolladores novatos a evitar la implementación de entornos complejos y comenzar a programar directamente; también es muy adecuado para desarrolladores experimentados y puede llevar a cabo programación, construcción y pruebas colaborativas de varias aplicaciones.

Actualmente, Ghostwriter cuesta 1,000 ciclos por mes ($10 USD/mes).
Ghostwriter también está disponible a través de nuestro plan Pro.
Por supuesto, no es gratis. Debes recargar $10 por mes o cambiarlo por 1,000 ciclos (un código virtual liberado por la moneda de la plataforma Replit).

Insertar descripción de la imagen aquí

3.6 Microsoft IntelliCode

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

Visual Studio 2022 viene con IntelliCode, un complemento de código asistido por IA que permite a los desarrolladores ingresar menos código y mejorar la eficiencia. IntelliCode puede completar una línea completa de código, lo que permite a los usuarios escribir código confiable con solo presionar dos veces la tecla Tab. IntelliCode también puede detectar ediciones duplicadas y sugerir correcciones cuando existen patrones similares en toda la base del código.

3.7 Códice OpenAI

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

La familia de modelos Codex es descendiente de la familia GPT-3, entrenada en lenguaje natural y miles de millones de líneas de código. Esta serie de modelos domina más de una docena de lenguajes, incluidos C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL e incluso Shell, pero es mejor en Python.

OpenAI Codex es descendiente de GPT-3; sus datos de entrenamiento contienen lenguaje natural y miles de millones de líneas de código fuente de fuentes públicas, incluido el código de los repositorios públicos de GitHub. OpenAI Codex es más potente en Python, pero también domina más de una docena de lenguajes, incluidos JavaScript, Go, Perl, PHP, Ruby, Swift y TypeScript, e incluso Shell. Su memoria de código Python es de 14 KB, mientras que GPT-3 solo tiene 4 KB, por lo que puede considerar más de 3 veces la información contextual al realizar cualquier tarea.

Conclusión

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

Supongo que te gusta

Origin blog.csdn.net/hhy321/article/details/132916887
Recomendado
Clasificación