Table of contents
Open Table of contents
想法诞生
AI大模型已经井喷出了很多的基模型、框架、项目和工具,每天都有大量的新东西,子曰:学而时习之,不亦说乎?今天我就突然想试试,看AI能不能解决我之前的一个小想法。
以前用过一个GitHub项目,是把12306的购票邮件转换成在线日历,这样就可以自动在日历里显示车票出发时间、检票口等信息,使用过一段时间还是挺方便的,但是后来作者不维护了。而现在这个工具被我用GPT4再次创造了出来。
首先声明一点,我非程序员,不会写代码,技术层仅能看懂一些Docker指令。
该项目完全开源,大家可以到这里去看GPT4实现这个功能写了哪些代码:项目Github地址
过程
首先我确定一个大概的思路,将这个工具拆解成几部分实现
- 从邮件中获取到车票信息
- 将车票信息转换成ics文件
- ics文件可以在线访问
- 将整个项目生成docker镜像
首先我让GPT4先来一轮,Prompt如下
你是一个程序员,接下来要完成这样的一个任务,并编写相应的程序。
用户通过12306.cn网站订购车票,车票信息将发送到用户的邮箱中,实现自动登录邮箱获取车次信息,并格式化输出成json。
邮箱为[email protected],SMTP密码为abc
发件人为 [email protected]
这是一个订购车票成功的邮件范本
尊敬的 揭先生:
您好!
您于2024年01月04日在中国铁路客户服务中心网站(12306.cn) 成功购买了1张车票,票款共计73.00元,订单号码 E215161330 。 所购车票信息如下:
1.揭先生,2024年01月04日17:02开,杭州东站-上海虹桥站,G7192次列车,11车1B号,二等座,成人票,票价73.0元,检票口19A,电子客票。
请一步步思考如何实现该程序,并给出每一步的结果。
GPT4果然没让人失望,它给出了基本上算是80%的实现框架和代码,但是显而易见,对于不懂代码的我来说,运行肯定不会很顺利,错误接踵而至。我把每次运行的错误日志丢给GPT4,它能很好的给予解决办法,最终在大概互动了大概几十轮左右,完成了这个项目。
部分互动内容可以点这里查看:ChatGPT share
第二天我的ChatGPT订阅刚好到期,后来就用Coze GPT4来实现后续的代码,部分互动见下图:
成果
最终GPT4完成了代码的构建,我也将代码在NAS中部署成功,自测日历订阅地址有效。大家可以去Github自行部署体验。
项目Github地址
Docker部署说明
- 确保你的12306绑定的邮箱为QQ邮箱,其他邮箱请自行修改代码
- 修改
main.py
文件中的[email protected]
和password
为自己的QQ邮箱账号,密码是smtp密码,非登录密码 - Clone本项目
- 采用docker进行部署
Build
docker build --no-cache -t ticket-extractor .
然后启动Docker
docker run -d -p 2306:2306 ticket-extractor
订阅ics
服务器ip:2306/download_ics
思考
- AI使人人都是程序员
- 如果人来做这件事情都需要思考,那么给AI最好不要期望一句话能让他解决
这次和GPT4的深入互动带给我的震撼,比过往看的各种AI新闻、demo视频来得都大,我认为老黄说的AI使人人都是程序员并不是瞎说。GPT4让我这样一个不会写代码的人,通过AI创造了工具,解决自己的问题,这个问题可能很小众,没人去关注,现在有了AI,每个人都可以使用AI来满足自己的需求。
但是,前期我自己有一个较为清晰的框架,这个框架也是让这次项目能成功的基础,这对很多人来说可能也是有不小的难度。所以目前,我认为AI能帮助一部分人员大幅提升效率,如果一个需求你无法一句话说清楚,你就要考虑先建立一个框架,分步骤实现。
有了这次经验,接下来我有个更大胆的想法准备让GPT4尝试。