当前位置: 首页 > news >正文

CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强

🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

CodeGPT是什么

CodeGPT是一款基于AI人工智能的编程辅助插件,它就像一个贴心的编程小助手,能帮你更高效地编写代码。

CodeGPT插件官网: https://www.codegpt.ee

如图

不管是代码生成、优化、错误分析,还是生成单元测试,它都能轻松应对。

对于刚入门的新手开发来说,它是个很好的学习和参考插件, 而对于经验丰富的老板凳来说也能节省不少时间,提升开发效率~

最关键的是官方开放了很多API提供商提供对许多模型的访问

并且对个人是完全免费开放的,比如GPT-4o mini

其中就有谷歌发布的新一代人工智能AI大模型Gemini 2.0可供免费访问使用.

所以还等什么~~用起来啊~

CodeGPT安装

这里我以PyCharm Community Edition IDE为例

如果你电脑里面还没有这个IDE就去官网下载一个安装即可~这个IDE完全免费前面我讲过了!

https://www.jetbrains.com.cn/pycharm/download/?section=windows

如图

安装好之后,我们打开PyCharm IDE 选择File-->Settings-->Plugins

搜索关键字ProxyAI或者CodeGPT都可以~

如图

然后单击 Install 安装即可,安装完成并重新启动PyCharm IDE

你会在``File-->Settings-->Tools中看到CodeGPT`的选项~这样就表示安装成功了!

如图

CodeGPT配置Gemini Flash模型

重启IDE之后,点击右侧GPT图标打开ProxyAI聊天界面~

如图

注意

由于国内网络的大环境情况下,我们在使用之前,还需要做一些简单的配置才能够进行使用

展开菜单选项:File-->Settings-->Tools-->CodeGPT-->Providers-->CodeGPT

在这里选择一个用于对话交互的AI大模型!

Chat model中选择Gemini 2.0 Flash 这个是谷歌推出的具备原生多模态生成能力的AI模型

它的功能也是非常强大~支持文本、图像、音频等多模态输入输出,可通过自然语言交互实现图像编辑、文本生成等功能!

如图

然后Code model代码模型中,选择一个适合代码相关任务的AI模型 我选择的是Qwen2.5 Coder

Qwen2.5 Coder AI阿里云通义大模型团队推出的专门针对代码生成、补全、错误修复数学推理等任务的开源大型语言模型系列也是非常不错的

配置完成之后,点击OK

更多详细配置大家可以到官网上去获取插件以及使用文档~

CodeGPT使用

回到模型对话界面,我们选择Gemini 2.0 Flash

如图

现在我们就可以开始对话了~~

代码生成

例如 编写一个快速排序算法~

如图

AI生成代码如下

def quicksort(arr, low, high):"""快速排序函数:param arr: 待排序的数组:param low: 起始索引:param high: 结束索引"""if low < high:# 分区操作,获取pivot索引pi = partition(arr, low, high)# 递归排序pivot左边的子数组quicksort(arr, low, pi - 1)# 递归排序pivot右边的子数组quicksort(arr, pi + 1, high)def partition(arr, low, high):"""分区函数:param arr: 待分区的数组:param low: 起始索引:param high: 结束索引:return: pivot索引"""# 选择最后一个元素作为pivotpivot = arr[high]# i指向小于pivot的最后一个元素的索引i = low - 1# 遍历数组,将小于等于pivot的元素放到左边for j in range(low, high):if arr[j] <= pivot:# i加1,交换arr[i]和arr[j]i = i + 1arr[i], arr[j] = arr[j], arr[i]# 将pivot放到正确的位置arr[i + 1], arr[high] = arr[high], arr[i + 1]# 返回pivot索引return i + 1# 示例数组
arr = [10, 7, 8, 9, 1, 5]
n = len(arr)
quicksort(arr, 0, n - 1)
print("排序后的数组:", arr)

我们在让它来生成一个Python版本的贪吃蛇的游戏看看效果怎么样~~

比如

给我使用python写一个贪吃蛇游戏,玩家控制蛇吃掉食物,避免碰到自己或墙壁,不断增长度!

如图

AI生成代码如下

import pygame
import random# 初始化 Pygame
pygame.init()# 屏幕尺寸
screen_width = 600
screen_height = 480
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("贪吃蛇")# 颜色
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)# 蛇的初始位置和大小
snake_block_size = 20
snake_speed = 10# 字体
pygame.font.init()  # 确保字体系统已初始化
font_style = pygame.font.SysFont("SimHei", 25)  # 使用支持中文的字体
score_font = pygame.font.SysFont("SimHei", 35)def show_score(score):value = score_font.render("分数: " + str(score), True, white)screen.blit(value, [0, 0])def draw_snake(snake_block_size, snake_list):for x in snake_list:pygame.draw.rect(screen, green, [x[0], x[1], snake_block_size, snake_block_size])def message(msg, color):mesg = font_style.render(msg, True, color)screen.blit(mesg, [screen_width / 6, screen_height / 3])def game_loop():game_over = Falsegame_close = False# 蛇的初始位置x1 = screen_width / 2y1 = screen_height / 2x1_change = 0y1_change = 0snake_list = []snake_length = 1# 食物的随机位置foodx = round(random.randrange(0, screen_width - snake_block_size) / 20.0) * 20.0foody = round(random.randrange(0, screen_height - snake_block_size) / 20.0) * 20.0clock = pygame.time.Clock()while not game_over:while game_close == True:screen.fill(black)message("你输了! 按 C-重新开始 或 Q-退出", red)show_score(snake_length - 1)pygame.display.update()for event in pygame.event.get():if event.type == pygame.KEYDOWN:if event.key == pygame.K_q:game_over = Truegame_close = Falseif event.key == pygame.K_c:game_loop()for event in pygame.event.get():if event.type == pygame.QUIT:game_over = Trueif event.type == pygame.KEYDOWN:if event.key == pygame.K_LEFT:x1_change = -snake_block_sizey1_change = 0elif event.key == pygame.K_RIGHT:x1_change = snake_block_sizey1_change = 0elif event.key == pygame.K_UP:y1_change = -snake_block_sizex1_change = 0elif event.key == pygame.K_DOWN:y1_change = snake_block_sizex1_change = 0if x1 >= screen_width or x1 < 0 or y1 >= screen_height or y1 < 0:game_close = Truex1 += x1_changey1 += y1_changescreen.fill(black)pygame.draw.rect(screen, blue, [foodx, foody, snake_block_size, snake_block_size])snake_head = []snake_head.append(x1)snake_head.append(y1)snake_list.append(snake_head)if len(snake_list) > snake_length:del snake_list[0]for x in snake_list[:-1]:if x == snake_head:game_close = Truedraw_snake(snake_block_size, snake_list)show_score(snake_length - 1)pygame.display.update()if x1 == foodx and y1 == foody:foodx = round(random.randrange(0, screen_width - snake_block_size) / 20.0) * 20.0foody = round(random.randrange(0, screen_height - snake_block_size) / 20.0) * 20.0snake_length += 1clock.tick(snake_speed)pygame.quit()quit()game_loop()

试试看效果怎么样~~

如图

怎么样,还不错吧

虽然还不够完善,但是有点那味了~

代码优化

需要优化现有代码,提高性能或可读性。

我们来看一段代码!

如下

def find_max_in_list(numbers):max_value = Nonefor num in numbers:if max_value is None or num > max_value:max_value = numreturn max_valuenumbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
max_number = find_max_in_list(numbers)
print(max_number)

这段代码定义了一个名为find_max_in_list的函数,它接受一个数字列表作为输入,并返回列表中的最大值。如果列表为空,则返回 None

我们也可以使用CodeGPT来优化这一段代码~~

选中需要优化的代码,右键点击,选择 CodeGPT-->Optimize

如图

然后AI就帮我们生成了优化之后的代码了

如图

优化之后

def find_max_in_list(numbers):if not numbers:return None  # Handle empty list casereturn max(numbers)  # Use Python's built-in max functionnumbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
max_number = find_max_in_list(numbers)
print(max_number)

代码理解

如果你不知道这段代码是在干啥,你也可以选中这一段代码

然后右键点击选择 CodeGPT-->Explain来给定我们答案!

如图

还有其他很多功能,这里就不挨个介绍了,大家可以自行查看官网文档即可!~

最后

随着AI技术不断突破,其颠覆性影响势必渗透至各个行业领域,包括编程领域也难以独善其身

所以...我们自己也需要全面发展个人的全栈开发能力,掌握AI难以复制的核心技术壁垒!





"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚


更多好玩 好用 好看的干货教程可以点击下方关注❤️微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇






http://www.wxhsa.cn/company.asp?id=7910

相关文章:

  • svg和canvas的区别
  • 固态电池革命:我们离“续航焦虑终结者”还有多远?
  • 心得
  • Android 安卓 困难处理记录 腾讯IM和厂商离线推送难题 点击离线推送无法唤醒APP启动页但某些Service服务和Application被启动
  • 9.18
  • Codeforces Round 1051 (Div 2)
  • scheduleAtFixedRate
  • CRMEB标准版PHP核销功能深度解析,附权限配置技巧
  • 一文详细说明大模型安全评估要怎么做
  • apache doris 和 clickhouse的区别
  • Python numba jit加速计算
  • 人机协作开发新体验:花两天时间与Cursor共同打造一个微信小程序
  • OEC-Turbo刷群晖Armbian流程记录
  • 01_网络分层模型
  • SaaS 是什么?一文带你看懂 SaaS 与传统软件的区别
  • FreeCAD-即时入门-全-
  • UOS统信服务器操作系统V20(1070)安装mysql8.0.41(建议安装glibc2.28版本)
  • MyEMS:重新定义人与能源的关系 —— 一场藏在数据里的能源管理革命
  • 刀齿磨损智能检测APP
  • TJOI2007--线段
  • ceph集群的部署
  • 充电桩测试:守护绿色出行的安全密码
  • 如何写好一个缺陷报告?让开发无法拒绝修复的10个要素
  • 不重启、不重写、不停机:SLS 软删除如何实现真正的“无感数据急救”?
  • C#记录类型与集合的深度解析:从默认实现到自定义比较器
  • 安徽京准:NTP时间服务器助力网络数据安全稳定
  • UOS统信服务器操作系统V20(1070)安装mysql5.7.42
  • 响应式问题
  • Python 函数缓存
  • 乐蜂直播购物商城小程序介绍