开发必备,开源 or 免费的 AI 编程助手

AI 大模型的火热,让开发圈近来如虎添翼,各种各样基于 AI 技术的开发者工具和新范式不断涌现,尤其是 Github 和 OpenAI 共同推出的 Copilot X ,更是一骑绝尘。本文推荐一些开源 or 免费的 AI 编程工具,不妨试着用起来。

CodeGeeX

有人称 CodeGeeX 是国产之光,被认为是 GitHub Copilot 的免费替代品。
CodeGeeX 是一个具有 130 亿参数的多编程语言代码生成预训练模型,由清华大学知识工程实验室团队开发,采用华为 MindSpore 框架实现,使用 20 多种语言的语料库上预训练得到。
CodeGeeX 支持多种主流编程语言的高精度代码生成及翻译,支持 VS Code 和 JetBrains IDE,再说一次,完全免费!
GitHub: https://github.com/THUDM/CodeGeeX

Codeium

“个人永远免费!” 真的是我们羊毛党最爱。当然,企业用户是要收费的,提供的服务相应也会更多。
目前,Codeium 由 Exafunction 的团队开发,有两个主要功能:一是能够理解代码和注释的上下文,自动生成代码,二是可以使用自然语言提问,搜索存储库。Codeium 有自己独立的内部模型和基础设施,支持 C++、Go、Java、PHP、Python、Rust 、Vue 等 70 多种编程语言,VSCode、JetBrains、Emacs 等多主流 IDE。
此外,它还提供免费的聊天功能,不过目前使用 Open AI API 来执行推理。
官网: https://codeium.com/

Cursor

Cursor 是一款基于 gpt-3.5-turbo 的 AI 编程工具。自称比 Copilot 更智能,能生成 10-100 行代码,还可以打开类似 ChatGPT 的界面,并与之交互,修复 lint 错误,自动生成测试和注释。
用户每个月有 100 次的免费额度,或者可以使用你自己的 OpenAI API key。收费版本的 Cursor Pro 每个月 20 美元起步,使用次数 1.5 万 。
GitHub: https://github.com/getcursor/cursor

SQL Chat

SQL Chat 是一个基于聊天的 SQL 客户端,可以用自然语言询问数据库问题和查询数据库。SQL Chat 由 Next.js 构建,国内可直接部署到腾讯云 Web 应用托管服务,国外也可一键部署到 Vercel,同样支持私有化部署,目前支持 MySQL、PostgreSQL、SQL Server。
在数据隐私方面,SQL Chat 本身不保留任何数据,数据库连接存储在本地浏览器中。SQL Chat 仅将表结构发送到 OpenAI API,但不会发送任何表数据。
SQL Chat 是开源的,本来还有一个免费体验的 Demo(https://www.sqlchat.ai/),不过由于最近 Bytebase 公司的 OpenAI API 被薅完了,现在要使用自己的 OpenAI API key。
GitHub: https://github.com/sqlchat/sqlchat

CodeWhisperer

CodeWhisperer 是亚马逊推出的实时 AI 编程助手 ,所有个人开发者均可免费使用,企业用户收费,对每月推理请求的数量没有限制。
目前, Amazon CodeWhisperer 支持编写 Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 脚本、SQL 和 Scala 代码,只需要邮箱注册一下即可。
CodeWhisperer 还具有安全扫描功能,可以发现难以检测的漏洞并提出修复建议,扫描生成的代码和开发人员编写的代码,寻找漏洞,不过目前仅支持 Python、Java 和 JavaScript 的代码安全扫描。
官网: https://aws.amazon.com/cn/codewhisperer/

IntelliCode

IntelliCode 是由微软开发的一种 AI 编码助手。完全免费,并且支持 VS Code 和 VS IDE。它使用了基于云的 AI 模型,通过分析大量的开源项目,来自动为开发人员提供有关代码上下文和潜在错误的智能提示和自动完成建议。
Visual Studio IntelliCode 最显著的特点之一是团队自动完成功能(Team Completion),它可以识别在团队成员的代码中常见的代码模式,并根据这些模式来生成自动完成建议,从而可以提高团队的开发效率和代码风格的一致性。
官网: https://visualstudio.microsoft.com/zh-hans/services/intellicode/

Tabnine

Tabnine 是最早的 AI 编程辅助工具之一,以前叫 Codota,支持很多主流的 IDE 和编辑器。
有免费版本,可以与 IntelliCode 相媲美;也有付费的 Pro 订阅版,每月 12 美元起,可以根据自己的代码训练私有 AI 模型,代码可以保持自己特有的风格。此外,值得注意的是,与 Copilot 相比,Tabnine 无需那么多的上下文就能生成代码。
官网: https://www.tabnine.com/
在学习怎么利用 AI 来提高编程能力之外,如果你还想进一步深入探讨 AI 编程背后的技术原理和代码大模型,GOTC 2023 AI 编程专题论坛不容错过。
5 月 27 日至 28 日,GOTC 2023 将在上海召开, 在 “AI 编程” 专题论坛上,众多顶级 AI 技术专家将带你一起了解最前沿的研究成果和应用实例,一起探索 AI 编程的无限可能性。
全球开源技术峰会(Global Open-source Technology Conference),简称 GOTC,是由开放原子开源基金会、 Linux 基金会亚太区、上海浦东软件园和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。 5 月 27 日至 28 日,GOTC 2023 将于上海举办为期 2 天的开源行业盛会。大会将以行业展览、主题发言、特别论坛、分论坛的形式展现,与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及开源社区、AIGC、汽车软件、AI 编程、开源教育培训、云原生等热门话题,探讨开源未来,助力开源发展。
GOTC 2023    报名通道现已开启,诚邀全球各技术领域开源爱好者共襄盛举!
参会报名,请访问:    https://www.bagevent.com/event/8387611

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

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

相关文章

当今自然语言处理领域中的成功之路:Transformer模型

当今自然语言处理领域中最重要和最成功的模型之一是Transformer模型。它是一种基于自注意力机制的神经网络模型,最初由Google公司的研究人员提出,并被广泛应用于机器翻译、文本生成、情感分析等任务中。 Transformer模型之所以被广泛使用,是因…

边缘化你必须知道的一件事!(FEJ知识点总结)

vins和g2o边缘化的异同:(已经做到ppt里面了,简单回顾一下) 1.《视觉slam14讲》中提及的边缘化(G2O边缘化)是在计算求解过程中,先消去路标点变量,实现先求解相机位姿,然后再利用求解出来的相机位姿反过来计算路标点的过…

springboot第七章 结合Dubbo

实现Dubbo分布式框架,需要公共接口maven项目,需要服务提供者springboot项目,需要服务消费者springboot项目。 因为公共接口只有数据类和接口,后期提供者和消费者需要根据maven唯一坐标来导入公共接口项目的jar包,因此公…

GraphHopper调研笔记

一、 GraphHopper GraphHopper是一种快速且内存有效的Java导航引擎,默认使用OSM和GTFS数据,也可导入其他的数据源。支持CH(Contraction Hierarchies)、A*、Dijkstra算法。 1、应用介绍 graphhopper有以下几种常见的地图应用&am…

25000 字详解 23 种设计模式(多图 + 代码)

25000 字详解 23 种设计模式(多图 代码) 目录 创建型模式结构型模式行为型模式总结 前言 一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。 设计…

前端项目的通用优化策略

一、虚拟滚动 当我们开发的时候,遇到大数据加载,页面卡顿的问题应该如何处理?大多数情况下,我们都是尽量通过分页的方式处理这类问题,但是总有一些特殊的情况我们必须把数据全部加载到前端进行处理。我曾经遇到过一个…

MySQL入门

创建数据库 用CREATE DATABASE关键字(也可以小写但建议关键字用大写方便区分)创建一个名为“mydatabase”的数据库。 CREATE DATABASE mydatabase; 如果名称和关键字相撞,可以用Esc键下面的反引号括起来(关键字会显示蓝色&#…

kafka安装及配置

1. 下载 下载地址:Apache Kafka 我这里下载的是 3.2.1 版本。 2. 上传并解压 上传到 linux 下的 /home/software/ 目录下,然后解压 kafka_2.13-3.2.1.tgz 包到/usr/local/ cd /home/software tar -zxvf kafka_2.13-3.2.1.tgz -C /usr/local # -C 选…

处理日期和时间的 chrono 库

C11 中提供了日期和时间相关的库 chrono,通过 chrono 库可以很方便地处理日期和时间,为程序的开发提供了便利。chrono 库主要包含三种类型的类:时间间隔duration、时钟clocks、时间点time point。 1. Ratio 时间精度(节拍) std::chrono::ra…

【PHP在线定制商城网站源码V3.0】开源的DIY在线定制商城系统+在线礼品定制

源码下载:https://download.csdn.net/download/m0_66047725/87637177 PHP在线定制商城网站源码,免费开源、免费下载。本商城基于mycncart开发。安装成功后即可浏览,你可以在后台->安装扩展功能上传安装插件,在代码调整中点击刷…

zlmediakit 新增可以使用硬件加速的转码http api接口方法

根据项目需求,我们需要使用硬件解码的方式进行网络摄像头数据帧的解析,给到算法模块使用 1、通过ffmpeg命令实验,ffmpeg -i IPC_URL -f rtsp rtsp://*/live 该命令默认是使用cpu进行解码的,我们需要使用GPU进行解码。 2、ffmpe…

如何进行DNS优化

在互联网时代,网站的访问速度直接影响着用户体验和转化率。而DNS(Domain Name System)作为域名解析系统,负责将域名转换为IP地址,是网站访问速度的重要因素之一。因此,DNS优化成为了提升网站速度的重要手段之一。 DNS优化到底是什…

API接口的对接流程和注意事项

一、对接API数据接口的步骤通常包括以下几个部分: 了解API:首先需要详细了解API的基本信息、请求格式、返回数据格式、错误码等相关信息。可以查看API的官方文档或者使用API探索工具。同时,还需要明确数据请求的频率和使用权限等限制。 ​​测…

leetcode:环形链表(详解)

前言:内容包括-题目,代码实现,大致思路,代码解读,拓展问题 题目: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达&…

C语言:指针求解鸡兔同笼问题

题目:鸡兔同笼问题 要求:使用自定义函数void calc(int h, int f,int *c,int *r) 求解鸡兔同笼问题。 h 表示总的头数,f 表示总的脚数。 例子: 输入: 5 16 输出: 2 3 分析: 在该代码中&a…

WxGL应用实例:绘制高精度的3D太阳系模型

文章目录 1 坐标系的选择1.1 黄道坐标系1.2 三维空间直角坐标系 2 使用JPL星历表计算轨道2.1 日期时间2.2 特定时刻天体的位置2.3 天体运行轨道 3 太阳系模型3. 1 太阳和八大行星全家福3.2 时间、距离和半径的缩放3.3 黄道坐标系模型 天何所沓?十二焉分?…

AI歌手——超简单一键运用ACE Studio来训练模拟真人唱歌

目录 1.安装ACE Studio 2.打开ACE Studio 3.导入midi或音频 4.调试音频 5.调整人物音色音高 6.调整歌词 7.自动添加呼吸​编辑 8.成品演示(周杰伦の稻香——鲤阮) 1.安装ACE Studio 安装地址 ACE Studio | Create Limitless Vocals with AI (t…

RK3568平台开发系列讲解(Linux内存篇)Linux内存管理框架

🚀返回专栏总目录 文章目录 一、内核态内存分配二、用户态内存分配三、内存篇章更新哪些内容沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起将整个内存管理的体系串起来。 对于内存的分配需求,可能来自内核态,也可能来自用户态。 一、内核态内存分配…

年后准备进腾讯的可以看看....

大家好~ 最近内卷严重,各种跳槽裁员,今天特意分享一套学习笔记 / 面试手册,年后跳槽的朋友想去腾讯的可以好好刷一刷,还是挺有必要的,它几乎涵盖了所有的软件测试技术栈,非常珍贵,肝完进大厂&a…

Eplan2022 复制已有的宏文件生成新的原理图宏文件

下图所示为wago的787-722稳压电源,我们可以从官网下载到相应的eplan宏文件并导入数据源库。但是能下载到eplan宏文件的只是少部分公司的部件。那么没有宏文件的部件该怎么办? 接下来以明纬开关电源 NDR-120-24为例,创建一个宏文件。选择【主数…