前言
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
比较适合的编程辅助场景
- 正则表达式编写
- 编写测试代码,包含各类边界条件验证
- 使用难以记忆关键字编写代码,比如:HTML/CSS编写
- 编写/不熟悉的复杂算法
- 使用/学习不熟悉的编程语言
- 按常识完善对象字段
- 示例/测试数据生成
- 复杂参数填写和上下文匹配
- 理解复杂代码并编写文档,评审代码,提出改进意见
- 自动编写单元测试,一次性提高代码测试覆盖率
提示词
想要用好 AI,要先会提问,以下几点可作为参考:
- 要具体、描述性和尽可能详细
- 减少模棱两可或不精确的描述
- 通过示例显示所需的格式
- 分配角色
- 将复杂的任务拆分为更简单的子任务
总结
目前的 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 横向评测
版权归原作者 Grassto 所有, 如有侵权,请联系我们删除。