作者归档 李双强

通过李双强

通义大模型使用指南之通义听悟

一、注册

我们可以打开以下网站,用手机号注册一个账号即可。

通义大模型 (aliyun.com)

二、使用介绍

如图,我们可以看到有三个大项功能,通义千问、通义万相、通义听悟。下来我们体验一下通义听悟的功能。

1、通义听悟

1、1基本功能

当我们点击上面的通义听悟功能的时候,会出现下面的界面,可以从界面上看到它的主要功能:实时语音转文字,音视频文件转文字,智能总结、中英互译。

当我点击立即体验功能时,跳转到如下界面,我们先来体验一下开启实施记录的功能

在界面上我们可以看到有在搜索、筛选、翻译、专用词汇管理、替换词汇

当我开始录音的时候,可以看到下面直接生成了我语音的文字版,在每个文字版内容上面有四个按钮

分别是标记为重点、标记为问题、标记为代办、取消标记的功能。

而且在内容的右侧有一个标准版的文字编辑器界面,方便我们选中其中的文字进行编辑。当我终止和保持,点击下面的终止和保持按钮就行。在我们保持后,在界面上点击重新进入这个文件

会出现如下界面

在上面这个界面我们可以看到主要有这几个功能:全文概要、章节速览、发言总结、要点回顾。在这几个功能中,觉得除去全文概要其他几个功能都差不多,主要是为了在里面列出语音翻译的文字,结合标记为重点、标记为问题、标记为代办、取消标记、一键摘取功能让会议快速生成为一个总结性、有重点有代办有问题的文档,便于跟踪会议结论。

在文件的旁边还有一些其他功能:导出、分析、收藏、移动和删除

1、2其他功能

1、2、1上传音视频

我们点击上传音视频按钮,出现如下界面,按照要求选择一个文件,点击 开始转写,文件就开始转写了,等转写完成就会出现在自己的文件下了,我们可以点击进去看生成的内容,就和上面的基本功能一致了。

1、2、2播客链接转写

关于这块的功能,官方的简介以及写的十分清楚了,我就不再赘述了,但是现在支持的播客列表确实比较少。详细介绍见如何将播客链接转文字? – 通义听悟 (aliyun.com)

1、2、3浏览器插件

当我们需要处理网页中、手机上、微信上的语音时,我们可以采用如下插件来实现,下面我来演示下edge插件是怎样用的

当我们点击Edge插件时,出现如下界面,安装好之后,

我们打开一个在播放视频的网页,在浏览器中调用此插件

则此时在网页上就会出现插件的录音转文字功能,等录制好之后,这个文件就会出现在自己的列表之下了。

以上就是本期介绍的通义听悟的全部功能了。

通过李双强

通义大模型使用指南之通义万相

一、注册

我们可以打开以下网站,用手机号注册一个账号即可。

通义大模型 (aliyun.com)

二、使用介绍

如图,我们可以看到有三个大项功能,通义千问、通义万相、通义听悟。下来我们体验一下通义万相的功能。

1、通义万相

点开上面的通义万相,我们可以进入如下界面:通义万相 (aliyun.com),可以看到主要有这几个功能:文本生成图像、相似图像生成、图像风格迁移和应用广场

1、1文本生成图像

当我们点击 文本生成图像 的时候,会出现如下界面 ,在问本框内输入文字,例如我输入了 山水画 ,点击 生成创意画作 就会出现右侧的图

当我们觉得不满意的时候可以点击右上角的再次生成,或者想在原有的基础上再添加其他元素的时候,可以点击由上角的 复用创意

可以看到生成的图片有点像现代的画,不像是古代的那种山水画,于是我又重新输入了 古代游船

显示的画作还是很奇怪,于是我输入了 山水画画一个古诗为 远上寒山石径斜,白云深处有人家。 停车坐爱枫林晚,霜叶红于二月花的意境 ,可以看到产生的画作确实还是比较现代,可能就是这个平台的风格,

生成满意的画作之后,我们在每个图片下面看到这几个按钮,从左向右分别为 点赞、 不满意、生成相似图、下载原图、收藏 功能,可以进行自己想要的操作。

1、2相似图像生成

当我们点击 相似图像生成 的时候,会出现如下界面 ,在图像区选择一个图片文字,例如我输入了 官方样例 ,点击 生成相似画作 就会出现下方的图

当我们选择失误的时候可以选择原图中左上角 删除 按钮来切换图片

1、3图像风格迁移

当我们点击 图像风格迁移 的时候,会出现如下界面 ,在图像区上侧是选择原图,下侧选择风格图,然后点击生成

可以看到生成了如下画作:

可以看到原图就像是用风格图渲染了一遍一样。

1、4应用广场

当我们选择应用广场中的虚拟模特时

进入如下界面,可以看到主要功能为

1、上传真人实拍商品展示图----
2、选择要保留的商品区域----
3、配置模特形象与场景环境----
4、点击生成获取模特大片

然后我在左侧的图片处选择一张图片,在右侧选中要替换的地方,在下方的提示词处输入一些提示词和预设模版

然后我们点击生成,可以看到生成后的图片基本满足了我们的提示词。

当然我们也可以在自定义的地方求换模特形象和背景环境,切换后的效果如下:

再次切换效果如下,可以看到还是有变化的。

以上就是我们本次体验的通义万相的功能了。

通过李双强

通义大模型使用指南之通义千问

一、注册

我们可以打开以下网站,用手机号注册一个账号即可。

通义大模型 (aliyun.com)

二、使用介绍

如图,我们可以看到有三个大项功能,通义千问、通义万相、通义听悟。下来我们体验一下通义千问的功能。

1、通义千问

通义千问主要有两个功能:常用的对话功能和百宝箱

1、1对话功能

我们点击新建对话功能,在里面按照这样的公式进行提问:

赋予角色+ 背景或现状+需求或目标+ 补充要求,

公式的具体要求如下:

1. 赋予角色:对ChatGPT赋予一个特定的角色,以便它能更专业的回答你的问题。

2. 背景或现状:提供尽可能详细的背景信息,以便它更好地理解你的问题,并为你提供更准确的答案。

3. 需求或目标:告诉ChatGPT你要的需求是什么,提出的需求越明确,获得的答案更有价值。

4. 补充要求:告诉ChatGPT,它的回答需要注意什么,或者你想让它以什么形式来回复你。

当我提问:

你是一个培训专家,帮我制定一个学习计划,我想从1年一个成一个程序员成长为一个架构师,计划能精确到每周

它回复到结果是:

好的,以下是我为您制定的学习计划:

好的,以下是我为您制定的学习计划:

  1. 第一阶段:基础学习(1-3个月)

  * 每周学习一门编程语言,例如Python、Java、C++等。
  * 每周学习一种数据结构和算法。
  * 每周学习一种数据库,例如MySQL、Oracle、MongoDB等。
  * 每周学习一种开发框架,例如React、Vue、Django等。
  * 每周阅读一篇技术文章或博客,以保持对最新技术趋势的了解。

  2. 第二阶段:深入学习(3-6个月)

  * 每周学习一种工具或库,例如Git、Node.js、Numpy等。
  * 每周学习一种设计模式,例如单例模式、工厂模式等。
  * 每周学习一种网络协议,例如HTTP、TCP/IP等。
  * 每周学习一种服务器技术,例如Docker、Kubernetes等。
  * 每周阅读一篇技术文章或博客,以保持对最新技术趋势的了解。

  3. 第三阶段:项目实战(6-12个月)

  * 每周完成一个小项目,例如开发一个网站、一个移动应用等。
  * 每周参与一个开源项目,以提升自己的编程能力和团队协作能力。
  * 每月参加一次技术交流活动,如技术分享会、技术讲座等。

  4. 第四阶段:架构师学习(12-24个月)

  * 每周学习一种系统架构设计方法,例如微服务架构、云计算架构等。
  * 每周学习一种架构设计工具,例如UML、Lucidchart等。
  * 每周学习一种架构设计原则,例如单一职责原则、开闭原则等。
  * 每周阅读一篇技术文章或博客,以保持对最新技术趋势的了解。
  * 每月参加一次技术大会,如Google I/O、Facebook F8等。

  5. 第五阶段:架构师实战(24个月以后)

  * 每周参与一个中大型项目,以提升自己的项目管理和技术实现能力。
  * 每月完成一个大型项目,以提升自己的架构设计和系统集成能力。
  * 每年参加一次技术大会,如Google I/O、Facebook F8等。

请注意,这只是一个基本的学习计划,具体的学习内容和进度应根据您的个人情况和兴趣进行调整。希望这个计划能对您有所帮助!

可以看到它的结果并不是很令人满意,和其他几个厂商的结果相比还是比较初级的,我尝试了多个问题,最后的结果却是还都是部署很令人满意。

1、2百宝箱

当我们点开右上角的百宝箱按钮时,

会出现这样一个界面。可以看到现在的功能分为趣味生活、创意文案、办公助理、学习助手四个栏目下,来我们来尝试下里面的一些功能

我们先选择一个健身教练的入口:AI 健身教练

按照上面的公式输入自己的需求:

你是一个健身教练,我现有亚甲炎,想未来3个月身体越来越更健康,你帮我指定一个每天锻炼30分钟的计划

然后可以看到回复是

当然可以!在开始任何锻炼计划之前,请确保您已咨询过您的医生,以确保您的身体状况适合进行锻炼。以下是一个为期3个月的健身计划,旨在帮助您变得更健康:

第1-2周:
- 热身:5分钟的跳绳或慢跑
- 力量训练:3组12个深蹲、3组12个俯卧撑、3组12个仰卧起坐
- 有氧运动:20分钟的快走或慢跑

第3-4周:
- 热身:5分钟的跳绳或慢跑
- 力量训练:3组15个深蹲、3组15个俯卧撑、3组15个仰卧起坐
- 有氧运动:25分钟的快走或慢跑

第5-6周:
- 热身:5分钟的跳绳或慢跑
- 力量训练:3组18个深蹲、3组18个俯卧撑、3组18个仰卧起坐
- 有氧运动:30分钟的快走或慢跑

第7-8周:
- 热身:5分钟的跳绳或慢跑
- 力量训练:3组20个深蹲、3组20个俯卧撑、3组20个仰卧起坐
- 有氧运动:35分钟的快走或慢跑

第9-10周:
- 热身:5分钟的跳绳或慢跑
- 力量训练:3组22个深蹲、3组22个俯卧撑、3组22个仰卧起坐
- 有氧运动:40分钟的快走或慢跑

第11-12周:
- 热身:5分钟的跳绳或慢跑
- 力量训练:3组25个深蹲、3组25个俯卧撑、3组25个仰卧起坐
- 有氧运动:45分钟的快走或慢跑

在整个健身计划期间,请确保您保持良好的饮食习惯,并确保您每天获得足够的睡眠。如果您在锻炼过程中感到任何不适,请立即停止锻炼并咨询医生。

可以看到它回复的是一个基本的答案,我觉得和最终一个健身教练之间还是有一些差距,一个是对于自身身体条件的了解和计划的调整,还有就是锻炼效果的检测,我觉得这个也是最终实地健身的差异化价值所在。

对于职场人士,我觉得更有价值的还是办公助理的模块,所以我问了几个关于职业的问题,觉得还比较通用,但是对于个性化需求,确实很少很难满足,例如我在AI市场分析师和求职助手 中提问关于技术经理和程序员的工作,得到的答案如下:

本期我们先用一下通义千问的功能,下期我更新下通义万相和通义听悟的功能。

通过李双强

用chatgpt3分钟完成一个ppt

chatgpt是最近最火的产品,它可以提高我们很多的工作效率,今天就介绍一个用chatgpt来提高工作效率的一个方法,3分钟让它来完成一个ppt。

  1. 学习使用chatgpt的提示词
  2. 好的提示词的组成部分有四个:立角色 、述问题 、定目标 、 补要求;
  3. 【立角色】指的是:引导AI进入具体场景,为 AI 赋予行家身份。
  4. 【述问题】指的是:告诉AI你的困惑,你的问题,以及为AI补充问题所需要的背景信息。
  5. 【定目标】指的是:告诉AI你的需求,你希望它为你做到什么。
  6. 【补要求】指的是:告诉AI,它的回答需要注意什么,或者你想让它以什么形式来回复你。
  7. 例如要写一个ppt大纲,你可以这么描述:
  8. 你是一个时间管理的培训师【立角色】,我想了解时间管理【述问题】,我想让你输出一个关于时间管理的ppt大纲【定目标】,格式为输出用markwown语言标记的代码【补要求】
  9. 制作ppt大纲
  10. 用上面的描述语言在chatgpt里面来询问,看下结果

# 时间管理

## 目录
1. 定义和重要性
2. 目标设定与优先级
3. 工具与技巧
4. 保持自律与克服拖延
5. 反思与持续改进

## 1. 定义和重要性
- 时间管理的定义
- 时间管理的好处

## 2. 目标设定与优先级
- SMART目标原则
- 如何设定优先级
  - 四象限法
  - 帕累托原则(80/20法则)

## 3. 工具与技巧
- 日程安排
  - 日历应用
  - 待办事项列表
- Pomodoro技术 (番茄工作法)
- 时间日志

## 4. 保持自律与克服拖延
- 自律的重要性
- 克服拖延的方法
  - 设定明确的目标
  - 分解任务
  - 激励自己

## 5. 反思与持续改进
- 定期反思自己的时间管理
- 学习与实践新方法
- 持续优化时间管理策略

可以看到这个还不是很详细,可以继续提问来细化上面的ppt大纲,得到答案:


# 时间管理

## 目录
1. 定义和重要性
2. 目标设定与优先级
3. 工具与技巧
4. 保持自律与克服拖延
5. 反思与持续改进

## 1. 定义和重要性
时间管理的定义
  - 效率与效果
  - 平衡工作与生活
- 时间管理的好处
  - 提高生产力
  - 减轻压力
  - 更好地平衡生活

## 2. 目标设定与优先级
- SMART目标原则
  - 具体 (Specific)
  - 可衡量 (Measurable)
  - 可实现 (Achievable)
  - 相关性 (Relevant)
  - 时间限制 (Time-bound)
- 如何设定优先级
  - 四象限法
    - 紧急且重要
    - 不紧急但重要
    - 紧急但不重要
    - 不紧急且不重要
  - 帕累托原则(80/20法则)
    - 20%的努力产生80%的结果
    - 寻找最有价值的任务

## 3. 工具与技巧
- 日程安排
  - 日历应用
    - Google日历
    - Apple日历
  - 待办事项列表
    - Todoist
    - Any.do
- Pomodoro技术 (番茄工作法)
  - 设定25分钟的工作时间
  - 5分钟的休息时间
  - 每四个番茄钟后,休息15-30分钟
- 时间日志
  - 记录每天的活动
  - 分析时间分配
  - 发现可以改进的地方

## 4. 保持自律与克服拖延
- 自律的重要性
  - 培养良好习惯
  - 提高生产力
- 克服拖延的方法
  - 设定明确的目标
  - 分解任务为更小的部分
  - 激励自己
    - 奖励制度
    - 负面奖励(如罚款)

## 5. 反思与持续改进
- 定期反思自己的时间管理
  - 周回顾
  - 月回顾
- 学习与实践新方法
  - 阅读书籍
  - 参加培训课程
- 持续优化时间管理策略
  - 适应变化
  - 实施反馈循环

可以看到这个比较细致了。

3、生成ppt

打开如下网站:mindshow.fun,如图点击导入

复制之前的ppt大纲到此处,点击 导入创建

然后就跳转到ppt页面

点击下载即可获得ppt,然后再微调为自己想要的即可。

通过李双强

chatgpt的ai编程工具

Copilot是微软出的编程ai插件,下来我们来体验一些,看它能做些什么

一、下载

1、在IDEA 中,在 Windows 的“文件”菜单或 IDE 名称 (Mac) 下,单击“设置”(Windows) 或“preferences”(Mac);

2、在“设置/preferences”对话框的左侧菜单中,单击“插件”;

3、在“设置/首选项”对话框顶部,单击“市场”。 在搜索栏中,搜索“GitHub Copilot”,然后单击“安装”;

4、安装 GitHub Copilot 后,单击“重启 IDE”;

5、JetBrains IDE 重启后,单击“工具”菜单。 单击“GitHub Copilot”,然后单击“登录到 GitHub”

2、使用

1、写明想完成内容的注释,换行,展示建议: Alt + \ or Option + \.一般idea就会写好如下的枚举类型,点击 Tab健即可

//写一个交易状态的枚举类
public enum TradeStatusEnum {
        SUCCESS(1, "交易成功"),
        FAIL(2, "交易失败"),
        WAIT(3, "等待交易"),
        CANCEL(4, "取消交易");        
private int code;        
private String desc;

TradeStatusEnum(int code, String desc) {           
 this.code = code;           
 this.desc = desc;
        }        
public static TradeStatusEnum getByCode(int code) { 
           for (val tradeStatusEnum : TradeStatusEnum.values()) {
                if (tradeStatusEnum.code == code) {  
                  return tradeStatusEnum;
                }
            }            return null;
        }
    }

如果有其他建议,可以选择查看如下列表,也可以在。

OS 查看下一个建议 查看上一个建议 macOS 选项+] 选项+[ Windows Alt+] Alt+[ Linux Alt+] Alt+[

3、启用禁用

若要启用或禁用 GitHub Copilot,请单击 JetBrains 窗口底部面板中的状态图标

可以选择禁用一个语言还是禁用全部

通过李双强

编程利器Boit 使用详解

接下来我们再来探索一个IntelliJ IDEA中的编程利器Boit

一、Boit安装

1、安装

在IntelliJ IDEA中依照路径Preferences->Plugins,在搜索框中输入“Bito”,然后点击“Search”按钮,然后安装

2、Boit注册
安装成功,选中一段代码,右键,出现

随便选择一个功能就会进入注册界面

填完邮箱后收到验证码再填写

现在还需要写名字,但是我忘了截屏,就丢失这部分信息了

二、Boit使用

可以看到Bito现在有这些功能,现在我来试用一下

1、Explain this code(解释代码)

选中自己的代码,右键选中Explain this code

它会在idea的左侧跳出Bito的界面来显示它解释的含义,可以看到解释的还是很详细清楚的

2、generate Comment (评论)

选中自己的代码,右键选中Explain this code

它会在idea的左侧跳出Bito的界面来显示它解释的含义,可以看到也是解释的还是很详细清楚的,但是觉得和上面那个功能有重复,可能在更复杂的代码中表现不一样

3、Performance Check(性能)

选中自己的代码,右键选中Performance Check

同样在它会在idea的左侧跳出Bito的界面来显示分析的性能问题,而且还生成了改进意见,并在idea中让你选择,真的很人性化,简直可以无脑操作。

可以看到可以在idea中直接进行替换

4、Security Check(安全分析)

选中自己的代码,右键选中Security Check

同样在它会在idea的左侧跳出Bito的界面来显示分析的安全问题,并生成了改进意见和代码,并在idea中让你选择替换。

5、Style Check(代码风格)

选中自己的代码,右键选中Style Check

同样在它会在idea的左侧跳出Bito的界面来显示分析的风格问题,并生成了改进意见和代码,但是我这段代码是它的本家Copilot生成的,用阿里规约插件扫描没它提示的这些问题,它检测的并不完全对,看我们的选择了

选中自己的代码,右键选中Improve Readability

同样在它会在idea的左侧跳出Bito的界面来显示它加好的注释代码,并在idea中让你选择替换,写的很全面,只是改之后可以用阿里的规约插件再扫描一次。

6、Generate Unit Test(生产测试代码)

选中自己的代码,右键选中Generate Unit Test,生成测试代码

同样在它会在idea的左侧跳出Bito的界面来显示它写好的测试代码,可以看到也是很全面

7、在问答框中使用它编程

可以在Question那直接输入自己的问题,就可以获取答案啦。可以看到这个问题回答的很人性化了,有回答,有测试代码。

更换语言可以在设置中这里选择Settings跳转到它自身的界面来选择编辑

通过李双强

Intellij IDEA中使用NexChatGPT详解

本篇文章,我们还是接着来探索一个新的Intellij IDEA上可以使用ai的插件:NexChatGPT

一、NexChatGPT安装

1、安装

在Intellij IDEA中依照路径Preferences->Plugins,在搜索框中输入“NexChatGPT”,然后点击“Search”按钮,然后安装

二、NexChatGPT使用

1、使用介绍

随机在Intellij IDEA中选中一段代码,会出现如图这样几个图标,

2、请解释这部分代码

当我选择“ 请解释这部分代码”时,会在Intellij IDEA左侧出现这样的界面,需要关注公众号,然后就会在Search 部分出现如下的答案,可以看到基本完成了任务

3、帮我给每一行加上注释

选择一段代码,右键选择“帮我给每一行加上注释”之后就会在左侧把所有代码的注释加好,需要复制粘贴一下才可以到原文,

4、帮我生成测试用例

选择一段代码,右键选择“帮我生成测试用例”之后就会在左侧把所有代码的测试用例加好,可以看到理解的比较正确,但是不能直接用

5、帮我生成单元测试

选择一段代码,右键选择“帮我生成单元测试”之后就会在左侧把所有代码的单元测试都写好,可以看到理解的比较正确,这样的就可以直接用了,而且全面

6、请优化这部分代码

选择一段代码,右键选择“请优化这部分代码”之后就会在左侧把所有代码都分析了一遍,而且生成了优化后的代码:

public enum PayStatusEnum {
SUCCESS(1, “支付成功”),
FAIL(2, “支付失败”),
WAIT(3, “等待支付”),
CANCEL(4, “取消支付”);

    private  int  code;
    private  String  desc;

    PayStatusEnum(int  code,  String  desc)  {
            this.code  =  code;
            this.desc  =  desc;
    }

    public  static  PayStatusEnum  getByCode(int  statusCode)  {
            for  (PayStatusEnum  payStatusEnum  :  PayStatusEnum.values())  {
                    if  (payStatusEnum.code  ==  statusCode)  {
                            return  payStatusEnum;
                    }
            }
            throw  new  IllegalArgumentException("Invalid  status  code:  "  +  statusCode);
    }

}

7、提问

7、1 你可以在Search的界面来提问一些问题

7、2在Chat界面来使用一些功能

7、3写程序

可以看到我在Chat界面让它帮我写一段我爱你的图像程序,之后改为java写的,写好之后我把代码复制到idea中呈现的效果,整个过程不到10s,还是非常给力的

8、其他功能

在我们打开Search之后,可以看到最下面还有一些其他功能

8、1插件主页

可以看到这个里面还解释它还有其他浏览器的插件,例如Edge和谷歌,还有VScode插件

这个插件和其他功能相比比较类似,但是有个不好的点就是用过一段时间要收费,大家可以根据需要来进行选择。

关于作者

李双强

李双强,多年互联网研发经验的资深程序员,对后端领域有深厚的理解和实践经验。热衷于参与技术、成长社区,探索数字化、AI的未来,个人微信doubleStrongLi1。

通过李双强

​Intellij IDEA中使用X-ChatGPT详解

作为一个程序员,在大模型出来之后,我们也会关心我们能利用大模型做什么呢?我探索了到的就是可以帮我们简化平时研发过程中的一些工作。下来我们就开始看看现在能做到什么程度吧。

一、X-ChatGPT安装

在Intellij IDEA中依照路径Preferences->Plugins,在搜索框中输入“X-ChatGPT”,然后点击“Search”按钮,然后安装,重启idea,并且按照自己想要的方式进行登录即可使用。

二、功能列表

我们在选中自己体检的代码的git记录时候会出现生成日报和代码审查这两个字眼

在选中一段代码的时候,我们会看到这样一些功能,例如:加入感知、X-Prompt作用是可以自定义以代码为内容进行上送处理,选中X-ChatGPT显示和其他几个插件功能差不多。

1、生成日报中发现的各种强大功能

我们在选中自己体检的代码的git记录时候会出现生成日报和代码审查这两个字眼,再点击

1、1生成日报

可以在Intellij IDEA的左侧看到生成了日报,如果没有是需要登录官网来使用这些功能 ,虽然生成的日报功能一般,但是在这里让我发现了一个功能,

1、2设置

这个对话框的最左侧有一个设置的按钮,打开可以看到可以设置很多功能

1、3各种强大的角色

在第三个按钮可以看到一些快捷功能

测试了一下linux的终端,感觉确实可以

在所有面具里可以看到更多功能

2、代码审查

我们在选中自己体检的代码的git记录时候会出现生成日报和代码审查这两个字眼,点击代码审查

可以看到这这个审查做的还是比较好的,但是我发现代码量比较大的情况下,它就受限了,实际多少可能要实地验证

3、X-Prompt

当选中一段代码,在框里面写一个自己想让完成的事,看我让它用go写一段一样含义的代码,它很好的理解并且写出来了,真的很棒。

4、解释代码

选中一段代码,让其解释代码,可以看到解释的是真的好,

5、重构代码

选中一段代码,让其重构代码,也还行

6、优化代码

选中一段代码让其优化,可以看到其不仅生成了优化代码,并且解释了优化原因,厉害

还可以重新优化

7、查找错误

选中一段代码,让其查找错误,可以看到不仅找到了错误,并且生成了修复后的代码:

8、编写测试

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class PayStatusEnumTest {

    @Test
    public void testGetByCode() {
        PayStatusEnum success = PayStatusEnum.getByCode(1);
        assertEquals(PayStatusEnum.SUCCESS, success);

        PayStatusEnum fail = PayStatusEnum.getByCode(2);
        assertEquals(PayStatusEnum.FAIL, fail);

        PayStatusEnum wait = PayStatusEnum.getByCode(3);
        assertEquals(PayStatusEnum.WAIT, wait);

        PayStatusEnum cancel = PayStatusEnum.getByCode(4);
        assertEquals(PayStatusEnum.CANCEL, cancel);

        PayStatusEnum notFound = PayStatusEnum.getByCode(5);
        assertNull(notFound);
    }
}

选中一段代码,让其生成测试代码,可以看到生成的测试代码也是可以直接运行的

9、添加注释

选中一段代码,让其添加注释,可以看到生成的真的很详细,比一般写的详细多了

/**
 * 支付状态枚举类型
 */
public enum PayStatusEnum {
    SUCCESS(1, "支付成功"), // 支付成功状态,代码为1,描述为"支付成功"
    FAIL(2, "支付失败"), // 支付失败状态,代码为2,描述为"支付失败"
    WAIT(3, "等待支付"), // 等待支付状态,代码为3,描述为"等待支付"
    CANCEL(4, "取消支付"); // 取消支付状态,代码为4,描述为"取消支付"

    private int code; // 支付状态代码
    private String desc; // 支付状态描述

    /**
     * 枚举类型构造函数
     *
     * @param code 支付状态代码
     * @param desc 支付状态描述
     */
    PayStatusEnum(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 根据代码获取对应的支付状态枚举值
     *
     * @param code 支付状态代码
     * @return 对应的支付状态枚举值,如果未找到则返回null
     */
    public static PayStatusEnum getByCode(int code) {
        for (PayStatusEnum payStatusEnum : PayStatusEnum.values()) {
            if (payStatusEnum.code == code) {
                return payStatusEnum;
            }
        }
        return null;
    }
}

10、翻译文档

选中一段代码,让其解释代码,可以看到解释的很详细:

11、代码补全

我选中了这部分代码,让其进行代码补全

 public static CopilotTest.PayStatusEnum getByCode(int code) {
           for (val payStatusEnum : CopilotTest.PayStatusEnum.values()) {
               if (payStatusEnum.code == code) {
                   return payStatusEnum;
               }
           }

补全的代码为

public static PayStatusEnum getByCode(int code) {
    for (PayStatusEnum payStatusEnum : PayStatusEnum.values()) {
        if (payStatusEnum.getCode() == code) {
            return payStatusEnum;
        }
    }
    return null;
}

并且给出了为什么补全:

在给定的代码中,我补全了方法的代码块。根据注释,该方法的作用是根据给定的代码获取对应的支付状态枚举值。我使用了增强的for循环遍历枚举类型的所有值,然后通过调用getCode()方法获取每个枚举值的代码,并与给定的代码进行比较。如果找到匹配的枚举值,则返回该枚举值;如果未找到匹配的枚举值,则返回null。

真的太牛啦。

这部分是大模型的功能,测试下来真的会省30%以上的开发量,安全起见今后觉得在企业内部之后有自己训练好的大模型,但是还在探索类似MetaGPT的产品,那样真的工作少了很多了。

关于作者

李双强

李双强,多年互联网研发经验的资深程序员,对后端领域有深厚的理解和实践经验。热衷于参与技术、成长社区,探索数字化、AI的未来,个人微信doubleStrongLi1。