【玩转腾讯混元大模型】怎么说?我用混元AI大模型开发了个IDEA插件
前言
halo 我是杨不易呀,在混元大模型内测阶段就已经体验了一番当时打开页面的时候灵感模块让我大吃一惊这么多角色模型真的太屌了,随后我立马进行了代码处理水平和上下文的效果结果一般般但是到如今混元大模型代码处理水平提升超过 20%,代码处理效果在实测中高于ChatGPT 6.34% HumanEval 的公开测试集指标显示,ta已超过Starcoder、Codellama等业界头部开源代码大模型。腾讯混元大模型现在正式全部开发,发起申请即可,在混元大模型内测阶段我就已经在使用接下来我们迎接代码能力全面升级的混元大模型!
我将以下三个方向来测试混元大模型的代码能力和上下文的能力并且最后进行测试使用混元大模型开发一个 IDEA 的插件
- 前端(Vue.js)问题
- 后端(Java)问题
- 数据库(MySQL)问题
背景介绍
官方给出的混元AI拥有以下能力
多轮对话
具备上下文理解和长文记忆能力,流畅完成各专业领域的多轮问答
内容创作
支持文学创作、文本摘要、角色扮演能力、流畅、规范、中立、客观
逻辑推理
准确理解用户意图基于输入数据或信息进行推理、分析
知识增强
有效解决事实性、时效性问题、提升内容生成效果
支持文字生成图像能力输入指令即可将奇思妙想变成图画
混元简单的介绍了自己拥有的能力,简单的说就是我可以完美的帮助到你尽可能给出专业且全面的回答,接下来我们主要的就是 体验腾讯混元大模型代码能力
混元大模型对话页面
您好,感谢您参加了腾讯混元大模型征文活动:https://cloud.tencent.com/developer/article/2372183,我们收到您的投稿啦,经评审团审核,给出的反馈意见如下,辛苦您修改优化完成之后,就可以发布到社区啦:[抱拳]
1、整体蛮好的,建议标题可以改一下,目前太长了、全文需要统一标点符号
2、申请步骤可以考虑去掉,目前已经开放,无需申请了
3、建议要不要分开成两篇发布,一篇是体验和评测;一篇是利用混元开发了一个插件。不过第二篇篇幅有点短,字有点少,行文格式需要优化,仅供参考~
4、截图不太清晰,建议换成清晰度高的截图
体验代码能力
我这里列举了不同的代码需求看看混元大模型提升了百分之二十的强悍之处!!!!
在测试之前我们给他设置一个角色
prompt: 现在你是一位前端开发工程师
前端(Vue.js)问题:
一、 Vue组件创建:创建一个Vue.js组件,显示一个简单的待办事项列表.
可以看到我的 prompt 非常简单混元完美的输出了需求代码,但是还是丢失了一些基础结构,无伤大雅我们只需要其中重要的代码即可
prompt: 帮我实现vue组件创建:创建一个vuejs组件,显示一个简单的待办事项列表。
在最底部混元将代码实现完毕后逐步解释了代码的作用并且主动添加了样式的需求非常人性化
接下来我们测试看看,我不会诶咋办丢给混元喊他教我如何搭建 vue 脚手架,正好体验一下混元的表达能力
prompt: 如何创建一个 vue 的脚手架用来测试代码案例?
混元将搭建 vue 脚手架的步骤详细输出了非常棒接下来我们跟着操作一下吧
完美的创建了 vue 脚手架项目,接下来我们继续上面的代码测试操作
非常完美的实现并且主动添加了样式由此可见混元模型的基本代码能没有什么问题切菜一样的简单
二、条件渲染:编写Vue代码,根据选择不同的按钮条件渲染组件或元素
接下来我们提一个难一点的难度上升半颗心,刚刚好来测试一下上下文的能力
需求是接着上面的任务列表代码来实现不同的按钮根据条件渲染不同的组件元素
prompt: 接着上面 待办事项列表,实现根据选择不同的按钮条件渲染组件或元素
可以看到上面我们隔了一段对话混元还是可以识别到我们想要说的是什么代码上下文还是非常不错的
我们只是简单的描述了一下需求混元就将需求详细化了,并且还把按钮继续美化了一番待会惊艳你
代码已经完美的输出,我们来测试看看
怎么说? 是不是有哪个味道了接下里点击切换列表看看
震惊,实现的非常完美我都没出现过报错信息一条龙服务非常棒!
三、动画效果:使用Vue.js创建简单的过渡和动画效果。
需求 接着上面的任务列表进行添加动画效果
prompt: 接着上面的任务列表进行添加动画效果
和上面操作一样稳定发挥解释了代码示例是干啥的,我们继续来看看效果
可以看到我们的过度动画已经实现了,只是感觉有点别扭,刚刚好我们丢给混元大模型来修复
prompt: 我希望 暂无待办事项 进行固定定位在列表的中间
实际上也就是修改了这个地方,在.container元素添加了position: relative 样式遵守子绝父相的模式来实现
效果展示查看
可以看到完美实现了我描述的需求,可以看出上下文的能力可代码能力都非常的稳定
接下来我们测试最后一个前端问题理论问题
四、组件通信:如何在Vue组件之间进行通信和数据传递?
需求 在工作当中我们肯定有需要组件之间的通信和数据传递那么该如何实现,丢给混元大模型给我们解惑一二
prompt: 组件通信:如何在Vue组件之间进行通信和数据传递
可以看到混元大模型以三点描述了我们应该如何操作去实现我们的需求,我们还可以继续请教大模型帮助我们进行代码的实现出来
prompt: 可以帮我把以上三种方法用代码案例的形式写出来吗?
输出的非常快,示例展示了如何使用props、emit、事件总线和 refs在Vue.js组件之间进行通信和数据传递
后端(Java)问题:
在开始之前我们还是需要设置一个角色: 现在你是一位高级 Java 开发工程师
一、 RESTful API创建:编写Java代码创建一个RESTful API,用于获取和更新数据。
需求: 用于测试 Java 代码的编写能力使用RESTful 风格来获取和更新数据
prompt: RESTful API创建:编写Java代码创建一个RESTful API,用于获取和更新数据
可以看到非常完美的把如何创建项目的步骤输出出来,并且使用RESTfulAPi 编写了查询和更新接口
二、异常处理:在Java后端代码中如何处理异常情况?
需求 需要统一控制全局异常并且自定义返回格式,在Java后端代码中如何处理异常情况
prompt: 需要统一控制全局异常并且自定义返回格式,在Java后端代码中如何处理异常情况
混元大模型输出的很快,分为了四点来讲述包涵了测试代码非常的高效率直接复制进去就可以用了
三、日志记录:如何实现日志记录以便于故障排查和监控?
需求: 帮我实现在 Java 当中日志记录便于故障排查和监控
混元大模型已经高效率输出出来了,非常的快跟着一步步来效果完美实现
四、数据库连接:如何在Java中连接到MySQL数据库并执行查询操作?
需求: 不使用 ORM 框架让混元大模型来进行生成Java连接到MySQL数据库的代码操作
prompt: 如何在Java中连接到MySQL数据库并执行查询操作
可以看到上面输出的代码示例展示了如何在Java中连接到MySQL数据库并执行查询操作,从加载驱动到结果整体来说这个示例代码是简单且易于理解的,并且完成了我们需要的执行查询操作非常不错.
五、部署和扩展:解释如何将Java后端应用程序部署到生产环境,并实现水平扩展
需求: 绝大多数的 Java 全栈开发在公司都是需要自己去部署服务到线上的那么应该如何做呢? 我们来喊混元大模型给我们说说~
prompt: 解释如何将Java后端应用程序部署到生产环境,并实现水平扩展
可以看到混元大模型将思路全部说出来了,我们只需要跟着来即可,接下来我们实战看看让混元帮我们部署
prompt2 : 我需要部署一个 SpringBoot 单体的项目在 linux 服务器上面应该如何操作?
我们可以明显的看到混元大模型的对话能力已经很强了准备服务器购买服务器都教你了(需要购买服务器的同学前往腾讯云云服务器),再到打包、上传到服务器、接着启动部署命令,并且也考虑到了服务发生故障时自动重启还是非常棒的
数据库(MySQL)问题:
角色设置: 现在你是一位在数据库领域多年的DBA
一、编写出一个学生表、老师表、班级表的 SQL
需求: 简单的描述重点编写出一个学生表、老师表、班级表的 SQL
prompt: 编写出一个学生表、老师表、班级表的 SQL
可以看到混元大模型输出了三个表结构的创建并且赋予了基本的字段还是很棒的非常丝滑,接下来我们继续
prompt: 我不要表结构我需要查询语句
到这里我有点惊讶,有点夸张了我都没说要关联结果给我关联了默认了表结构之间的逻辑,这对话能力理解能力超级强了.
二、数据插入:如何将数据插入到MySQL表中?
需求: 考验混元大模型的理解和 sql 代码能力看看是否可以
prompt: 帮我写一个 SQL 给每个班级里面新增不同的学生数据
ok 非常的正确,并且给出了 SQL 语句的解释插入6条学生数据,每个班级中都有2名学生.到这里我已经觉得没必要去测试了混元大模型已经都具备了代码能力确实强横.
三、更新数据:如何使用SQL更新数据库表中的数据?
需求: 看看更新的能力是否一样的精准输出
prompt: 更新 Female(女性)的数据分班到 3 班并且需要大于十八岁
很准确,我没有进行指定哪个表混元大模型默认识别到了我的意思想法
四、索引优化:如何为数据库表中的字段创建索引以提高查询性能?
需求: 在公司当中肯定存在索引优化的场景,那么我们就模拟一下 2 百万的数据问问混元应该如何提高查询性能?
prompt: 假如students表有2百万的数据,索引优化:如何为数据库表中的字段创建索引以提高查询性能?
混元给出了解决思路以及准对我们的表定制了一个索引优化方案,所以以后我们可以直接把 sql 丢进去问就行了.
我再来反驳一下考验混元大模型对输出的方案是否坚定
prompt: 操作这些2百万的数据就可以提高了嘛?
提供了一些常见的优化方案在程序当中处理
五、备份和还原:如何备份和还原MySQL数据库?
需求: 在公司当中数据是非常重要的那么我们也来问问混元该如何操作
prompt: 备份和还原:如何备份和还原MySQL数据库?
不负众望很稳,输出来的东西质量很高从使用mysqldump工具进行备份和还原还介绍了一个图形化界面形式的管理工具进行备份还原,我感觉还是非常不错的会举一反三很强大.那么到这里我们的测试体检就结束啦!
接下来我们就进行零基础项目实战基于混元大模型开发一个 IDEA 插件
零基础项目实战基于混元大模型开发一个 IDEA 插件
️注意: 这里说的零基础是 IDEA 插件的零基础而不是对 Java 体系的零基础注意分辨,本次使用的项目构建工具是 gradle 不是 maven 哦那么开始基于混元大模型开发一个简单的插件吧
向混元设置角色并且输出需求: 你现在是一名高级Java开发。我想要编写一个intellij idea的插件,功能是弹出提示框,请写出完整的代码步骤给我
可以看到混元输出了五个步骤并且输出了实现案例,代码质量也非常的高可以看出来混元的基础代码能力已经炉火纯青
- 创建一个新的IntelliJ Platform插件项目,选择插件 JDK 版本随意
如果你没安装 gradle 那么 idea 会提示你安装因为它是使用 gradle 进行构建的,我这里之前就已经安装过 gradle
那么整体项目如下:
- 在src/main/java目录下创建一个名为MyPopupAction的类,继承自AnAction
- 在MyPopupAction类中重写actionPerformed方法,用于显示提示框。
- 在resources/META-INF/plugin.xml文件中配置插件的信息和操作
跟着混元大模型步骤我们已经完成了并且没报任何错误,那么我们开始编译启动起来吧,找到 RunPlugin 运行
如果你之前已经安装过那么会很快就编译运行完成,没有则需要等待片刻它会下一个 2022 版本的 idea 用于测试插件
成功打开测试 idea 随便进去一个项目就行
进去之后直接给我报错了,class 找不到,路径什么的的都一样,后面我贴给混元,混元给出了答案
我们的代码写的是 Java 不是 kotlin 所以我们的包要是 Java 编译
那么修改完毕后,我们再次启动插件看看是否可以弹出框
点击 File 下我们自定义的菜单栏按钮 Show popup
总结: 可以看到我们一步步的跟着混元步骤,并且出现错误我们直接错误丢给混元让它给解决
基于上面的小 demo 实战可以看到混元成长的速度非常快,现在的代码能力吊打之前的,那么接下来我们进阶需求
进阶需求
需求 我需要开发一个简单的插件,选中代码块进行截图并且粘贴在剪切板上
prompt: 你现在是一名高级Java开发。我想要编写一个intellij idea的插件,功能是选中某个代码块进行截图到电脑的剪切板当中,如何做呢?
可以看到这张图片里面的代码步骤,非常的详细,从安装 idea 开发工具到项目的创建以及编写插件代码的实现
我根据前面的四步搭建好了基础架构非常的简单,和前面一样文件夹改成 Java 编译 Java 代码
然后跟着混元的步骤创建一个CodeSnippetToClipboardAction 插件类继承AnAction
继承后我们重写actionPerformed 方法,在当中编写消息提示框来测试是否搭建成功
actionPerformed: 表示执行的操作,也就是我们配置好插件菜单按钮去触发的时候他会执行这个方法
/**
* 选中文本截图
*
* @author 杨不易呀
* Create By 2023/12/30
*/
public class CodeSnippetToClipboardAction extends AnAction {
@Override
public void actionPerformed(AnActionEvent e) {
Messages.showInfoMessage("测试是否成功执行-杨不易呀~", "提示");
}
}
鼠标移动到类名称上去可以看到没有注册 plugin.xml,没有进行使用,那么我们直接 atl + enter 就会弹出注册 plugin.xml
只需要输入名称、描述然后菜单按钮放在哪个按钮组当中我这里就放在编辑当中
然后打开 plugin.xml 查看是否注册成功
可以看到为我们注册了一个操作(action)下面详细介绍一下
id
:操作的唯一标识符。在这个例子中,它是CodeSnippetToClipboardAction2
class
:操作的类名意味着这个操作将由CodeSnippetToClipboardAction2
的类处理text
:操作在菜单或工具栏上显示的文本description
:操作的描述<add-to-group>
:这个标签表示将操作添加到一个指定的组中anchor
属性指定了操作在组中的位置
注册执行器在 IntelliJ IDEA 的菜单或工具栏上添加一个名为 代码片段截图
的操作当用户点击这个操作时将调用 CodeSnippetToClipboardAction2
类的处理方法
测试插件
运行插件打开了一个新的ldea程序在这里测试我们写的插件
我们注册了插件按钮在edit当中直接找到我们自己的插件即可
非常不错成功测试成功没什么毛病,接下来我们继续跟着混元的代码案例走,完善 actionPerformed
方法内容
直接把混元输出的代码全部复制进来,这就不用我操作了吧
createImage: 用于创建图片并且将我们选中的文本进行渲染在图片当中
copyImageToClipboard: 用于将创建好的图片复制在电脑的剪切板当中
代码完成度非常的高,从创建项目到项目代码的编写再到运行和测试插件的步骤非常棒,但还是有点代码问题,报错没有这个类
没有这个类
不过无伤大雅直接丢给混元大模型来操作,尽可能的详细化错误我这里直接贴这段代码当中哪个代码有问题
混元输出了一个代码案例但是还是有点小问题继续问详细化一点
我们也不知道 image 是什么依赖 直接问
prompt : Image ti = new Image(out.toByteArray()); 的 Image引入的什么依赖?
还是有问题继续细化
prompt: 使用之后报错 'Image' is abstract; cannot be instantiated
代码不报错了,我们进行测试一下效果,开启新的 idea 用于测试
点击新的 IDEA 当中的 Edit 菜单栏,我们是配置在这里的
复制到我们电脑的剪切板当中的了,非常 NICE,非常的丝滑!!! 没有混元我多多少少有点汗流浃背了~
总结
这次的体验混元大模型我是非常的舒服的,我们使用了前端 Vue.js 领域的问题、后端 Java 领域的问题、数据库 Mysql 领域的问题进行深度探究代码能力和上下文能力以及表达能力,目前测试出来是非常的好的效率非常高我没有吹捧啊,最后结合我们的一个项目实战 我也是零基础开发 IDEA 插件
的我就是跟着混元大模型输出的教程步骤一步步来的尽管中途有些错误但是无伤大雅,把错误全部提交给混元大模型去解析即可最终就实现了我们的一个选中代码块进行截图到剪切板的那么一个功能还是很有成就感的哈哈哈虽然是 AI 搞的~
总的来说混元AI大模型是AI领域的一个重要进步,它们为处理复杂的语言任务提供了强大的工具,但同时也带来了一系列的挑战和问题需要解决
我早在十月份我就已经在用了在工作当中我使用率是非常的高的主要是免费功能效率还这么高,各位客官还不来试试 腾讯云混元 AI大模型 ?
最后
本期结束咱们下次再见~
关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~
【玩转腾讯混元大模型】怎么说?我用混元AI大模型开发了个IDEA插件的更多相关文章
- 保姆级教程:用GPU云主机搭建AI大语言模型并用Flask封装成API,实现用户与模型对话
导读 在当今的人工智能时代,大型AI模型已成为获得人工智能应用程序的关键.但是,这些巨大的模型需要庞大的计算资源和存储空间,因此搭建这些模型并对它们进行交互需要强大的计算能力,这通常需要使用云计算服务 ...
- AI大模型学习了解
# 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...
- 腾讯云总监手把手教你,如何成为AI工程师?
作者:朱建平 腾讯云技术总监,腾讯TEG架构平台部专家工程师 1.关于人工智能的若干个错误认知 人工智能是AI工程师的事情,跟我没有什么关系 大数据和机器学习(AI) 是解决问题的一种途径和手段,具有 ...
- 从大数据技术变迁猜一猜AI人工智能的发展
目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用.在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑. 而A ...
- HBase实践案例:知乎 AI 用户模型服务性能优化实践
用户模型简介 知乎 AI 用户模型服务于知乎两亿多用户,主要为首页.推荐.广告.知识服务.想法.关注页等业务场景提供数据和服务, 例如首页个性化 Feed 的召回和排序.相关回答等用到的用户长期兴趣特 ...
- Windows五种IO模型性能分析和Linux五种IO模型性能分析
Windows五种IO模型性能分析和Linux五种IO模型性能分析 http://blog.csdn.net/jay900323/article/details/18141217 http://blo ...
- [MVC]自定义模型绑定器,从表单对模型进行赋值
一.奇葩的问题 之前自己造轮子的时候,遇到一个很奇怪的问题,虽然需求很奇葩,但是还是尝试解决了一下 当提交的表单里包含多个重复名称的字段的时候,例如 <form action="/Te ...
- zz独家专访AI大神贾扬清:我为什么选择加入阿里巴巴?
独家专访AI大神贾扬清:我为什么选择加入阿里巴巴? Natalie.Cai 拥有的都是侥幸,失去的都是人生 关注她 5 人赞同了该文章 本文由 「AI前线」原创,原文链接:独家专访AI大神贾扬清:我 ...
- 阿里开源新一代 AI 算法模型,由达摩院90后科学家研发
最炫的技术新知.最热门的大咖公开课.最有趣的开发者活动.最实用的工具干货,就在<开发者必读>! 每日集成开发者社区精品内容,你身边的技术资讯管家. 每日头条 阿里开源新一代 AI 算法模型 ...
- deeplearning.ai 序列模型 Week 3 Sequence models & Attention mechanism
1. 基础模型 A. Sequence to sequence model:机器翻译.语音识别.(1. Sutskever et. al., 2014. Sequence to sequence le ...
随机推荐
- Java开发面试--Redis专区
1. 什么是Redis?它的主要特点是什么? 答: Redis是一个开源的.基于内存的高性能键值对存储系统.它主要用于缓存.数据存储和消息队列等场景. 高性能:Redis将数据存储在内存中,并采用单线 ...
- .NET周刊【9月第2期 2023-09-10】
国内文章 使用 OpenTelemetry 构建 .NET 应用可观测性(2):OpenTelemetry 项目简介 https://www.cnblogs.com/eventhorizon/p/17 ...
- C# 使用Windows身份验证连接Sql Server
C# 使用Windows身份验证连接Sql Server 使用Windows身份验证连接Sql Server 的字符串为: server=.;database=test_user;Trusted_Co ...
- Skynet:Debug Console的扩展
起因 最近上线服务器遇到了一些问题,上个月CPU暴涨的问题,那个经查验是死循环导致endless loop了. 这周又遇到了mem占用达到96%的问题,在debug console里调用了gc之后,跌 ...
- 深入理解Python虚拟机:super超级魔法的背后原理
深入理解Python虚拟机:super超级魔法的背后原理 在本篇文章中,我们将深入探讨Python中的super类的使用和内部工作原理.super类作为Python虚拟机中强大的功能之一,super ...
- 文心一言 VS 讯飞星火 VS chatgpt (111)-- 算法导论10.2 2题
二.用go语言,用一个单链表 L实现一个栈.要求操作 PUSH和 POP 的运行时间仍为 O(1). 文心一言: 在 Go 语言中,我们可以用结构体来实现一个单链表,然后再用栈的相关操作. 以下是一个 ...
- King's Tour 题解
King's Tour 题面大意 在 \(n\times m\) 的网格中构造一种从 \((1,1)\) 走到 \((a,b)\) 的方案,要求经过所有格子恰好一次,格子之间八联通. 思路分析 模拟赛 ...
- 21.4 Python 使用GeoIP2地图定位
GeoIP2是一种IP地址定位库,它允许开发人员根据IP地址查找有关位置和地理位置的信息.它使用MaxMind公司的IP地址数据库,并提供一个方便的Python API.GeoIP2可以用于许多不同的 ...
- spring-boot集成hikari多数据源
maven依赖 <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</ ...
- Asp.Net Core webapi+net6 使用资源筛选器(过滤器) 做缓存
写一个特性类,用来做标记 [AttributeUsage(AttributeTargets.Method)] //只对方法有效 public class ResourceFilterAttribute ...