AI 编程辅助工具介绍

前言

2023 被称为“AI元年”,人工智能、AI大模型概念迅速点燃市场。对程序员来说,如果能让 AI 帮助我们编码,那工作效率不得起飞!

本篇简单介绍一下当前主流的 AI 编码工具。

AI 能做什么

首先来看看 AI 能做哪些事情,只有想不到,没有做不到。

  • 添加注释
  • 代码补全
  • 代码翻译
  • (测试)代码生成
  • 代码重构
  • 代码安全

工具

目前 AI 辅助编程工具有很多,有人觉得 ChatGPT 3.5 性价比高,好用;有人觉得 4.0 质量高,好用;还有人觉得国产大模型不用翻墙,好用;还有人觉得其他产品好用。

仁者见仁,智者见智,没必要非分出个好坏来,自己用着顺手就行。

Ollama

Ollama 是一个强大的框架,设计用于在 Docker 容器中部署 LLM。用的人比较多,很活跃。

  • ollama GitHub

CodeLlama

Code Llama 是 Llama 2 强化了代码能力的版本。Meta(大模型开源鼻祖,向开源者致敬)开源的大模型。

消费级硬件 Nvidia 3090 24G 可以运行 4 位量化的 LLaMA 30B 模型,每秒大约 4 到 10 个 token(大模型的基本)。如果想运行更大的模型,例:70B 的模型,就需要使用多 GPU 或者使用专业的 Nvidia A100 等。更多的硬件要求可以看这篇:Llama消费级硬件要求。
** 注:硬件不行的机器也可以运行,但是效果太差了,又慢又不准 **

  • GitHub 开源地址
  • 本地部署Code Llama的两种方法,7B,13B参数代码生成能力测试
  • text-generation-webui
  • 模型下载

CodeGeex

CodeGeeX2 是基于 ChatGLM2 架构加入代码预训练实现,得益于 ChatGLM2 的更优性能,CodeGeeX2 在多项指标上取得性能提升(+107% > CodeGeeX;仅 60 亿参数即超过 150 亿参数的 StarCoder-15B 近10%)

消费级主机可以尝试使用,但是效果不能保证,下方链接有尝试。

  • CodeGeeX2 GitHub
  • 官网
  • codegeex2-6b 模型下载
  • 笔记本 RTX 3070 + 8G 显存本地运行大语言模型 CodeGeeX2 生成代码实践
  • 开源模型CodeGeeX2-6B本地部署整合包,解压即用,私人编码助手

CodeShell

CodeShell 是北京大学知识计算实验室联合四川天府银行AI团队研发的多语言代码大模型基座,使用 GPT-2 作为基础架构。7B 模型和 CodeLlama 相比略好。

GPU 方案 CUDA 11.8 及以上,4 bit 量化后,占用显存大小约 6G,用户可以在显存较小的 GPU 上使用 CodeShell。

没有 GPU 的可以使用 C/C++ 版本的推理支持,开发者可以根据本地环境进行编译与使用,详见 CodeShell C/C++ 本地化版。

  • CodeShell GitHub

GitHub Copilot

GitHub 和 OpenAI 合作的产物,可以试用30天,后续个人购买 10 刀每月,需翻墙。

  • 官网

Codeium

个人开发者永久免费!需翻墙。

  • 官网
  • codeium.vim

CodeWhisperer

亚马逊的,宣布对个人开发者永久免费!需翻墙。

  • 官网

DevPilot

一个支持 IntelliJ IDEA 的工具,能够集成各种大模型对接 api ,并不是本地训练的大模型,只是可以方便的集成本地部署的自建模型。

最新版本需要扫码关注公众号完成登录,登录后不需要配置本地或者云服务的大模型对接,可以直接使用 DevPilot 的服务。官方介绍说是可以自定义对接 AI 服务厂商(OpenAI 等),但是我试了一下在最新的 DevPolit 的插件中没有配置服务厂商地址的地方。

  • 众安开源 AIGC 工具代码助手 DevPilot,让 AI 赋能每个开发者
  • IntelliJ IDEA 插件

Plandex

基于终端的开源AI编程引擎,依赖 OpenAI API。支持云端和本地部署

可以通过终端指定需要解析的上下文代码,可以指多个文件,例如:将 template 目录下的所有代码都解析,然后可以通过 prompt 让其生成代码。

将大型任务分解为更小的子任务,然后逐个实现,直到完成整个工作。

如何使用看官网的视频应该就能够明白了。

1. decide what to build
2. load relevant context
3. send your prompt
4. Plandex makes a plan...
5. then implements it
6. Tentative updates are generated
7. The task continues until it's done
8. Time to review the changes
  • plandex 官网
  • GitHub plandex

Codefuse

蚂蚁 Codefuse 团队开发的,可以下载模型本地部署(20G GPU Nvidia cuda),也可以直接使用蚂蚁的服务。

  • Codefuse介绍
  • codefuse-chatbot
  • 阿里 codefuse 图生代码
  • Code Llama Deploy codefuse 团队基于 codellama 做的模型。

Comate

百度的,基于文心大模型。支持私有化部署,个人基础功能免费,高级功能限免。

  • 百度Comate

比较适合的编程辅助场景

  1. 正则表达式编写
  2. 编写测试代码,包含各类边界条件验证
  3. 使用难以记忆关键字编写代码,比如:HTML/CSS编写
  4. 编写/不熟悉的复杂算法
  5. 使用/学习不熟悉的编程语言
  6. 按常识完善对象字段
  7. 示例/测试数据生成
  8. 复杂参数填写和上下文匹配
  9. 理解复杂代码并编写文档,评审代码,提出改进意见
  10. 自动编写单元测试,一次性提高代码测试覆盖率

提示词

想要用好 AI,要先会提问,以下几点可作为参考:

  1. 要具体、描述性和尽可能详细
  2. 减少模棱两可或不精确的描述
  3. 通过示例显示所需的格式
  4. 分配角色
  5. 将复杂的任务拆分为更简单的子任务

总结

目前的 AI 辅助编程工具还在飞速发展,本地部署训练的效果都不如 GitHub Copilot 等大厂的产品好用。短期内建议使用云服务产品来做代码辅助,长期考虑,可以先本地部署了解下其原理(硬件不行的就不要再考虑了),尝试自己生成模型。

个人使用方面来说,我们编写代码,基本上都会使用 IDE,例如:VSCode,JetBrains 系列的产品等,最好是能直接使用带这些 IDE 插件的工具,这样使用起来也会更加直接高效,目前市面上大多数辅助工具都是有插件的。

想要真正使用 AI 工具赋能,还是要自己多去尝试,多去用,例如提示词之类的都需要自己总结提炼。

打开视野,拥抱 AI !

参考

  • AI Code Tools: The Ultimate Guide in 2024.4
  • Awesome-Code-LLM
  • Awesome-Code-LLM
  • AI工具集
  • 2023:AI 元年大事记|含完整时间线
  • 12 款国产 AI 横向评测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/551725.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux的进程管理

进程 程序运行在操作系统中,是被操作系统所管理的。 为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程 并会为每一个进程都分配一个独有的:进程ID(进程号) 查看…

C++进阶——继承

前言:从这篇文章开始,我们进入C进阶知识的分享,在此之前,我们需要先来回顾一个知识: C语言有三大特性,分别是封装、继承和多态,而我们前边所分享的各种容器类,迭代器等,…

基于SpringBoot的“线上教学平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“线上教学平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 线上教学平台结构图 管理员登录界面图 学员管理界…

网络工程师-----第一天

线缆与进制转换 进制转换: 1.十进制: 都是以0-9这九个数字组成,不能以0开头。 2.二进制: 由0和1两个数字组成。 3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。 4.十六进制…

Python数据结构【二】查找

前言 可私聊进一千多人Python全栈交流群(手把手教学,问题解答) 进群可领取Python全栈教程视频 多得数不过来的计算机书籍:基础、Web、爬虫、数据分析、可视化、机器学习、深度学习、人工智能、算法、面试题等。 🚀&a…

手动实现简易版RPC(下)

手动实现简易版RPC(下) 前言 什么是RPC?它的原理是什么?它有什么特点?如果让你实现一个RPC框架,你会如何是实现?带着这些问题,开始今天的学习。 接上一篇博客 手动实现简易版RPC(上&#xff…

抖音小店运营计划表年度电商规划管理模板

【干货资料持续更新,以防走丢】 抖音小店运营计划表年度电商规划管理模板 部分资料预览 资料部分是网络整理,仅供学习参考。 抖音店铺运营表格 (完整资料包含以下内容) 目录 抖音店铺运营计划: 一、店铺定位与目标…

MySql运维篇

目录 一.日志 1.1日志分类 1.2Error Log 1.3BinaryLog 1.4SlowQuery Log 二.备份 2.1备份原因 2.2备份目标 2.3备份技术 2.3.1物理备份 2.3.2逻辑备份 2.4备份方式 2.4.1完全备份 2.4.2增量备份 2.4.3差异备份 2.5备份环境准备 2.6完全备份实验 2.6.1完全备…

书生·浦语大模型全链路开源体系-第4课

书生浦语大模型全链路开源体系-第4课 书生浦语大模型全链路开源体系-第4课相关资源XTuner 微调 LLMXTuner 微调小助手认知环境安装前期准备启动微调模型格式转换模型合并微调结果验证 将认知助手上传至OpenXLab将认知助手应用部署到OpenXLab使用XTuner微调多模态LLM前期准备启动…

连锁服装卖场进销存一般怎么管理

连锁服装卖场的进销存管理是保证业务顺畅运作和最大化利润的关键之一。随着市场竞争的加剧和消费者需求的变化,良好的进销存管理能够帮助企业及时调整库存,减少滞销品,提高资金周转率,从而增强市场竞争力。本文将探讨连锁服装卖场…

单独设置浏览器滚动条上下箭头

解决方法 重点 ::-webkit-scrollbar-button:vertical 给垂直方向的滚动条设置样式 ::-webkit-scrollbar-button:vertical:start 上方向的按钮 ::-webkit-scrollbar-button:vertical:start:decrement 上方向单个按钮 下方向同理 不知道为啥搜索出来的single-button不生效&#…

制造业的数字化转型如何做?

随着科技的迅速发展,数字化转型已经成为制造型企业提高竞争力的关键因素。它可以帮助制造型企业,在产品优化设计、材料采购、生产流程方面实现精细化管理;提升上下游协同生产能力,提高生产效率、降低生产成本、优化产品质量&#…

华为的AI战略地图上,才不是只有大模型

大模型火热了一年,现在还没做AI化改造的企业,就像是工业革命浪潮伊始与火车赛跑的那辆马车。 最早的蒸汽火车缓慢又笨重,甚至铁轨上还预留了马匹行走的空间,以便随时用马拉火车来替代蒸汽火车,一辆华丽的马车试图和火…

浮点数的存储方式、bf16和fp16的区别

目录 1. 小数的二进制转换2. 浮点数的二进制转换3. 浮点数的存储3.1 以fp32为例3.2 规约形式与非规约形式 4. 各种类型的浮点数5. BF16和FP16的区别Ref 1. 小数的二进制转换 十进制小数转换成二进制小数采用「乘2取整,顺序排列」法。具体做法是:用 2 2…

C++语言·类和对象

1. 类的引入 C语言结构体中只能定义变量,但在C中,结构体内不仅可以定义变量,也可以定义函数,同时C中struct的名称就可以代表类型,不用像C那样为了方便还要typedef一下。 在C中我们管定义的结构体类型叫做类(student)&a…

idea 将项目上传到gitee远程仓库具体操作

目录标题 一、新建仓库二、初始化项目三、addcommit四、配置远程仓库五、拉取远程仓库内容六、push代码到仓库 一、新建仓库 新建仓库教程 注意:远程仓库的初始文件不要与本地存在名字一样的文件,不然拉取会因为冲突而失败。可以把远程一样的初始文件删…

汇舟问卷:推荐一个挣外国人钱项目

在海外,问卷调查作为一种普遍的市场研究手段,它们能够为企业下一季度的营销策略调整提供有力的数据支撑。 每份问卷的报酬金额各不相同,最低为1美元,最高可以达到10几美元。大多数问卷的报酬在3到5美元之间。 然而,在…

JS-42-Node.js01-Node.js介绍

一、浏览器大战 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准。 后来,微软通过IE击败了Netscape后一统桌面,结果几年时间,浏览器毫无进步。(2001年推出…

HDFS详解(Hadoop)

Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)是 Apache Hadoop 生态系统的核心组件之一,它是设计用于存储大规模数据集并运行在廉价硬件上的分布式文件系统。 1. 分布式存储: HDFS 将文件分割成若干块…

【游戏云服务器推荐】幻兽帕鲁 我的世界 雾锁王国 饥荒联机版 英灵神殿通用云服务器 2-64G随意选 附最新价格对比

更新日期:4月17日(京东云采购季持续进行) 本文纯原创,侵权必究 《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准! 【腾讯文档实时更新】2024年-幻兽帕鲁服务器专…
最新文章