当前位置:   article > 正文

AI 编程辅助工具介绍_ollama llama3 vscode

ollama llama3 vscode

前言

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

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

AI 能做什么

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

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

工具

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

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

Ollama

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

CodeLlama

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

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

CodeGeex

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

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

CodeShell

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

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

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

GitHub Copilot

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

Codeium

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

CodeWhisperer

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

DevPilot

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

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Codefuse

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

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 !

参考

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/580016
推荐阅读
相关标签
  

闽ICP备14008679号