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
{
"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进行通电和断电这个我完全不懂,所以试试看混元助手能否生成相关代码和说明。
"请说明一下使用什么编程语言和硬件进行通信,硬件又是如何和房间电源连接。并给一个完整的示例代码"
原来是这样和硬件通信的,又学到一个新知识。控制房间电源步骤如下:
抱歉,当前编辑器暂不支持代码块标记为c#语言,您可操作将代码块语言设置为txt
代码语言: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); // 关闭房间电源
}
}
}
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()
注意:在上述示例中,我们假设串行端口名为COM3。请根据实际情况修改端口名。此外,我们使用Arduino的4号引脚控制房间电源。请根据实际情况修改引脚号。
至此,我对自助棋牌室技术相关的疑问就被解答了。不仅如此,腾讯混元大模型还帮助我这个小白生成了我所需要的前端代码和硬件交互的代码,可见其厉害之处。给我最大的震撼莫过于它完全理解了我的需求,代码处理水平提升超过 20% 绝非浪得虚名。