年会中的抽奖环节不可或缺,但每年为了选择合适的抽奖小程序,团队往往需要投入大量时间和精力。然而,抽奖结束后,参与者通常只记得自己是否中奖,其他细节多被遗忘。在 AI 技术日益成熟的今天,如何打造一个既高效又有技术含量的抽奖应用呢?今天,就让我们跟随通义灵码,仅用 5 分钟现场手撕一个抽奖应用吧!
第一步
准备好工具和文件
1)下载安装 IDE 工具和 AI 编码插件
在电脑上下载安装一个本地 IDE,参考通义灵码下载安装链接 [ 1] ,下载安装后在侧边导航上点击扩展
,搜索通义灵码(TONGYI Lingma)安装插件。重启 IDE 成功后登录阿里云账号,就可以开始 AI 编码啦。
2)创建一个代码文件,命名为“lingma_reward”,并把抽奖页面封面图命名为“底图.jpg”放进文件中,如果要自己设计图片素材,请确保图片尺寸:1400x800,图片命名为“底图.jpg”。
第二步
给通义灵码提需求
打开通义灵码问答对话框,输入你的抽奖应用需求 prompt:
请帮我用Python创建一个图形化抽奖系统,具体要求如下:
- 技术要求:
- 使用tkinter构建GUI界面
- 使用PIL库处理背景图片
- 程序需要面向对象设计,创建LotterySystem类
- 界面布局:
- 窗口大小:1400x800
- 支持背景图片(命名为"lingma_reward/底图.jpg")
- 主体内容区域居中,大小为“550x450”,并禁止自动调整大小。bg设置为<250,250,250>。
- 按钮背景设置需从图片中读取,按钮上的字体颜色设置为黑色加粗
- 核心功能模块:
- 参与者初始化功能:
- 输入框用于设置总人数
- 基于关键词生成参与者名单
- 关键词包括:推理、部署、应用开发、AI基础设施、百炼、PAI、软硬协同、AI势能、开源自建、API调用;
- 抽奖编号(请务必注意):上述关键词共10组,每组包含30个,因此共计300个抽奖名额。但是现场人数可能没有300人,请根据设置的总人数进行配置,输入大概人数,程序自动进行抽奖池编号生成。例如,输入10人,抽奖池里只有[推理1,推理2,...推理10];输入70人,抽奖池里包括[推理1-30,部署1-30,应用开发1-10]。因此,需要根据我输入的大概人数设置抽奖编号池。
- 抽奖功能:
- 开始抽奖按钮(大小为80x40,抽奖按钮居中使用黑色加粗字体显示“开始抽奖”)
- 停止抽奖按钮(大小为80x40,抽奖按钮居中使用黑色加粗字体显示“停止抽奖”)
- 动态展示抽奖过程(随机滚动效果)
- 显示当前抽中者(一次性抽取3人)
- 记录并展示历史获奖者(大小为800x100)
- 界面元素细节:
- 标题:通义灵码抽奖系统
- 字体要求:主要使用Arial字体
- 按钮样式:灰色背景
- 显示区域要求:
- 大号字体显示抽奖结果
- 历史记录使用文本框展示
- 交互逻辑:
- 必须先初始化参与者才能开始抽奖
- 抽奖过程中开始按钮禁用,停止按钮启用
- 停止后自动记录获奖者并从参与者名单中删除
- 包含适当的错误处理和提示信息
请一次性生成完整的Python代码,确保程序运行流畅,不要引用没有定义的函数或变量,保持界面美观,并包含必要的注释说明。
第三步
通义灵码生成抽奖代码
生成完代码后,点击代码的右上角“新建文件”命名为“game2.py”
第四步
本地运行应用代码
点击运行代码按钮,如下图:
查看生成的页面,输入要参与抽奖人数等信息,开始测试下抽奖程序吧!
备注: 如果生成的代码在本地运行时候报错,估计是相关依赖和环境缺失导致,可以把报错信息发给通义灵码,让灵码告诉你如何处理。
第五步
如果要将这个抽奖程序变成一个长期复用的抽奖应用,你可以选择部署到阿里云 SAE
1.为了便于抽奖程序部署到阿里云 SAE ,我们需要对 prompt 进行一些微调,只需替换第一条即可,其他的复用上文,替换内容如下:
1.技术要求:
- 必须使用 Flask 框架和Werkzeug构建一个完整的Web服务,确保该服务能够支持公网的HTTP访问。
- 在项目根目录下生成一个名为 requirements.txt 的文件,列出所有项目依赖的Python包及其版本。
- 除了requirements.txt 文件以外,所有项目文件都必须放到根目录下的 app 目录下
- 严格按照如下目录结构:
app/
├── app.py
├── static/
│ └── images/
│ └── 底图.jpg
├── templates/
│ └── index.html
requirements.txt
- 程序需要面向对象设计,创建LotterySystem类
2.按照 SAE 的标准进行打包,这次我们已经在 prompt 里添加了相应的要求,所以通义灵码给出的目录结构已经是正确的了。(参考:SAE 打包说明 [ 2] )
- 接下来进入部署环节,首先进入 SAE 控制台 [ 3] ,如果是新客则按照提示开通即可。开通后进入应用列表,选择创建应用
- 填写基本信息,并选择设置代码包部署
- 选择 python 语言,并上传 ZIP 包
- 确定后,点击下一步:高级设置
- 按照通义灵码给的提示配置启动命令,然后点击创建应用
- 稍作等待,等执行提示消失,则说明完成部署
- 最后,给应用配置公网访问地址,点击添加公网 CLB 访问
- 选择按使用量计费,并填写 HTTP 端口和容器端口,点击确定,如下
- 稍作等待,出现 IP 地址则说明已完成添加
- 将 IP 地址复制到浏览器,就可以访问抽奖程序啦
相关链接:
[1] 下载安装链接
https://tongyi.aliyun.com/lingma/download
[2] SAE 打包说明
<https://help.aliyun.com/zh/sae/serverless-app-engine-upgrade/user-guide/python-zip-packaging-instructions-2-0
[3] SAE> 控制台
https://saenext.console.aliyun.com/