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

简介: CodeGPT是一款基于AI的编程辅助插件,支持代码生成、优化、错误分析和单元测试,兼容多种大模型如Gemini 2.0和Qwen2.5 Coder。免费开放,适配PyCharm等IDE,助力开发者提升效率,新手友好,老手提效利器。(238字)

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索引
    """
    # 选择最后一个元素作为pivot
    pivot = 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 + 1
            arr[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 = False
    game_close = False

    # 蛇的初始位置
    x1 = screen_width / 2
    y1 = screen_height / 2

    x1_change = 0
    y1_change = 0

    snake_list = []
    snake_length = 1

    # 食物的随机位置
    foodx = round(random.randrange(0, screen_width - snake_block_size) / 20.0) * 20.0
    foody = round(random.randrange(0, screen_height - snake_block_size) / 20.0) * 20.0

    clock = 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 = True
                        game_close = False
                    if event.key == pygame.K_c:
                        game_loop()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_over = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    x1_change = -snake_block_size
                    y1_change = 0
                elif event.key == pygame.K_RIGHT:
                    x1_change = snake_block_size
                    y1_change = 0
                elif event.key == pygame.K_UP:
                    y1_change = -snake_block_size
                    x1_change = 0
                elif event.key == pygame.K_DOWN:
                    y1_change = snake_block_size
                    x1_change = 0

        if x1 >= screen_width or x1 < 0 or y1 >= screen_height or y1 < 0:
            game_close = True

        x1 += x1_change
        y1 += y1_change

        screen.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 = True

        draw_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.0
            foody = round(random.randrange(0, screen_height - snake_block_size) / 20.0) * 20.0
            snake_length += 1

        clock.tick(snake_speed)

    pygame.quit()
    quit()

game_loop()

试试看效果怎么样~~

如图

怎么样,还不错吧

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

代码优化

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

我们来看一段代码!

如下

def find_max_in_list(numbers):
    max_value = None
    for num in numbers:
        if max_value is None or num > max_value:
            max_value = num
    return max_value

numbers = [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 case
    return max(numbers)  # Use Python's built-in max function

numbers = [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难以复制的核心技术壁垒!

相关文章
|
25天前
|
机器学习/深度学习 人工智能 人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
279 121
|
25天前
|
人工智能 人机交互 知识图谱
当AI学会“融会贯通”:多模态大模型如何重塑未来
当AI学会“融会贯通”:多模态大模型如何重塑未来
234 114
|
25天前
|
人工智能 搜索推荐 程序员
当AI学会“跨界思考”:多模态模型如何重塑人工智能
当AI学会“跨界思考”:多模态模型如何重塑人工智能
226 120
|
21天前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
681 16
构建AI智能体:一、初识AI大模型与API调用
|
21天前
|
人工智能 安全 开发工具
C3仓库AI代码门禁通用实践:基于Qwen3-Coder+RAG的代码评审
本文介绍基于Qwen3-Coder、RAG与Iflow在C3级代码仓库落地LLM代码评审的实践,实现AI辅助人工评审。通过CI流水线自动触发,结合私域知识库与生产代码同仓管理,已成功拦截数十次高危缺陷,显著提升评审效率与质量,具备向各类代码门禁平台复用推广的价值。(239字)
270 24
|
2月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
588 109
|
2月前
|
分布式计算 测试技术 Spark
科大讯飞开源星火化学大模型、文生音效模型
近期,科大讯飞在魔搭社区(ModelScope)和Gitcode上开源两款模型:讯飞星火化学大模型Spark Chemistry-X1-13B、讯飞文生音频模型AudioFly,助力前沿化学技术研究,以及声音生成技术和应用的探索。
215 2
|
2月前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
1151 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)

热门文章

最新文章