前言
2023年,AIGC无疑是最热门的话题之一。自从ChatGPT的问世以来,各大公司纷纷涌入大模型领域。
不可否认,AIGC在工作中为我们带来了巨大的便利,尤其是对于我们程序员来说,代码生成等功能可以大大提高开发效率,从而为我们节省了大量时间去做更多的事。
这不,终于等到了腾讯混元大模型的亮相,据介绍,腾讯混元代码处理水平提升超过 20%,代码处理效果在实测中高于ChatGPT 6.34%。是不是这样呢,本文就带各位体验一下腾讯混元大模型的代码能力吧。
欢迎大家来此体验评论,多谢支持。
混元代码生成初体验
进入混元首页后就能看到"灵感推荐"处的"代码生成器",直接点击去体验。
当然,腾讯混元大模型是支持不同领域的,如下图,各位可以体验自己感兴趣的领域。
先简单提一个需求看看生成的代码效果。
生成的代码如下,看上去是很完整的,我们可以直接把代码复制到本地,并运行展示效果。
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>页面布局案例</title>
</head>
<body>
<header>
<nav>
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">关于我们</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</nav>
</header>
<main>
<h1>欢迎来到我们的网站!</h1>
<p>这里是主体内容。您可以根据需要添加更多的内容。</p>
</main>
<footer>
<p>版权所有 © 2021 我们的公司名字</p>
</footer>
</body>
</html>
html
/* 通用样式 */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
/* 导航栏样式 */
header {
background-color: #333;
padding: 10px;
}
nav ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
}
nav ul li {
margin-right: 15px;
}
nav ul li a {
text-decoration: none;
color: white;
padding: 5px;
}
nav ul li a:hover {
background-color: #555;
border-radius: 5px;
}
/* 主体内容样式 */
main {
padding: 20px;
text-align: center;
}
/* 页脚样式 */
footer {
background-color: #333;
color: white;
text-align: center;
padding: 10px;
position: absolute;
bottom: 0;
width: 100%;
}
可以看到,通过生成代码是非常高效且漂亮的。
混元大模型开发自助棋牌室平台
既然腾讯混元的代码处理水平很高,当然不能值展示这么简单的示例了。
最近正好有一个自助棋牌室的想法,想做一个相关项目,但是不懂这个行业。所以,想看看能否借助腾讯混元帮我设计,如果能实现就更好了。
提问:开发一个自助棋牌室需要那些技能
因为本人是做软件开发的,了解到自助棋牌室需要对接硬件,对这方面还不太了解,所以先问下混元助手。
可以看到,从玩法到技术、到场地布局设计和运营,混元助手回答的还是很全面的。
提问:自助棋牌室功能和硬件
现在我更关注的是开发一个自助棋牌室需要哪些功能,并且涉及到哪些硬件,我们一起看一下。
对于一个小白来讲,这样的回答对我来说已经非常有帮助了。
提问:自助棋牌室技术方案
了解大概后,现在根据我的需求让混元助手帮我生成一个技术方案或架构图。
- 用户在小程序上可以预约房间并支付。
- 到达预约时间自动给房间通电即可,这样用户就可以自主开灯或者空调、麻将桌等。
- 时间到了房间自动断电。
通过上面的回答,我得到两个关键技术点:
- 后端服务器可以通过调用硬件接口控制房间的电源开关。
- 使用继电器或智能插座控制房间的电源开关。
这么看来,现在困扰我的就剩软件如何调用硬件API进行通电和断电了。
接下来就是代码生成时刻了。
代码生成:生成自助棋牌室前端代码
我已经5年没写过前端代码了,技术更新日新月异,早已经赶不上时代发展了,所以描述一下我对界面的要求,看混元助手能否帮忙生成。需求如下:
生成完整的自主棋牌室小程序界面的代码,包括主页、门店、个人中心,通过菜单栏切换。
其中主页包括当前门店,并显示营业状态、介绍、详细地址、图片环境、空闲桌位灯。预约桌位时选择时间,并显示金额和支付按钮。
个人中心包括用户订单、钱包余额等。
生成了十几个文件代码,非常完整,完全贴合我的需求。可见混元大模型对语义的理解和代码处理能力。下面是生成的部分代码,对我这个没有小程序开发经验简直是如虎添翼。
app.json
json
{
"pages": [
"pages/index/index",
"pages/store/store",
"pages/profile/profile"
],
"window": {
"navigationBarTitleText": "自主棋牌室"
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "主页"
},
{
"pagePath": "pages/store/store",
"text": "门店"
},
{
"pagePath": "pages/profile/profile",
"text": "个人中心"
}
]
}
}
pages/index/index.wxml
xml
<view class="container">
<view class="store-info">
<text class="store-name">当前门店</text>
<text class="store-status">营业中</text>
<text class="store-intro">这里是门店介绍</text>
<text class="store-address">门店地址:北京市朝阳区建国路1号</text>
</view>
<view class="store-image">
<image src="/path/to/image.jpg" mode="aspectFill"></image>
</view>
<view class="table-status">
<text class="status-text">空闲桌位灯</text>
<text class="status-value">10</text>
</view>
<view class="reservation">
<picker mode="time" value="{{time}}" bindchange="bindTimeChange">
<view class="picker">
<text>预约时间:</text>
<text>{{time}}</text>
</view>
</picker>
<text>金额:¥100</text>
<button type="primary" bindtap="pay">支付</button>
</view>
</view>
pages/profile/profile.wxml
xml
<view class="container">
<view class="store-list">
<view class="store-item" wx:for="{{stores}}" wx:key="id" bindtap="viewStore">
<text>{{item.name}}</text>
<text>{{item.address}}</text>
</view>
</view>
<view class="store-detail" wx:if="{{storeDetail}}">
<text>门店名称:{{storeDetail.name}}</text>
<text>门店地址:{{storeDetail.address}}</text>
<text>门店介绍:{{storeDetail.intro}}</text>
<view class="rating">
<text>评分:</text>
<rate value="{{storeDetail.rating}}" disabled="{{true}}"></rate>
</view>
</view>
</view>
pages/index/index.js
js
<view class="container">
<view class="order-list">
<view class="order-item" wx:for="{{orders}}" wx:key="id" bindtap="viewOrder">
<text>订单号:{{item.orderNo}}</text>
<text>金额:¥{{item.amount}}</text>
</view>
</view>
<view class="wallet">
<text>钱包余额:¥{{walletBalance}}</text>
</view>
</view>
代码生成:生成对房间电源控制的代码
到关键时刻了,对于如何调用硬件API进行通电和断电这个我完全不懂,所以试试看混元助手能否生成相关代码和说明。
"请说明一下使用什么编程语言和硬件进行通信,硬件又是如何和房间电源连接。并给一个完整的示例代码"
原来是这样和硬件通信的,又学到一个新知识。控制房间电源步骤如下:
- 首先,确保你的计算机上已经安装了Python和Arduino IDE。
- 在Arduino IDE中,打开一个新的项目,并将以下代码粘贴到代码编辑器中:
c#
#include <SoftwareSerial.h>
SoftwareSerial serialPort(2, 3); // 使用软件串行库,RX在2号引脚,TX在3号引脚
void setup() {
serialPort.begin(9600); // 设置串行通信速率为9600波特
}
void loop() {
if (serialPort.available() > 0) {
char command = serialPort.read();
if (command == '1') {
digitalWrite(4, HIGH); // 打开房间电源
} else if (command == '0') {
digitalWrite(4, LOW); // 关闭房间电源
}
}
}
- 将Arduino连接到计算机,并将代码上传到Arduino。确保Arduino的TX引脚连接到计算机的RX引脚,Arduino的RX引脚连接到计算机的TX引脚。此外,将Arduino的4号引脚连接到房间电源的开关。
- 在Python中,我们将使用pyserial库来实现串行通信。首先,确保你的计算机上已经安装了pyserial库。如果没有,请从以下网址下载并安装:pypi.org/project/pys...
- 创建一个Python脚本,例如room_power_controller.py。
python
import serial
def control_room_power(on):
ser = serial.Serial('COM3', 9600)
command = '1' if on else '0'
ser.write(command.encode())
ser.close()
def main():
control_room_power(True) # 打开房间电源
control_room_power(False) # 关闭房间电源
if __name__ == '__main__':
main()
- 运行room_power_controller.py,它将通过串行通信控制房间电源。
注意:在上述示例中,我们假设串行端口名为COM3。请根据实际情况修改端口名。此外,我们使用Arduino的4号引脚控制房间电源。请根据实际情况修改引脚号。
体验感受
至此,我对自助棋牌室技术相关的疑问就被解答了。不仅如此,腾讯混元大模型还帮助我这个小白生成了我所需要的前端代码和硬件交互的代码,可见其厉害之处。给我最大的震撼莫过于它完全理解了我的需求,代码处理水平提升超过 20% 绝非浪得虚名。