全球最资讯丨AI 写书,升级了!
2023-06-24 07:27:34 来源:程序员鱼皮
大家好,我是屑老板鱼皮,上周给大家分享了下我们 的写书功能。只需要输入你想写的书名和描述,就能够自动让 AI 帮你生成一本书籍:
由于也是刚刚上线嘛,功能没有做到特别完备,也收到了很多小伙伴们的反馈,比如:
(资料图片)
收到大家的反馈后,我就开始写代码来修复这些问题了。
现在,AI 写书功能已经全面升级,改进如下:
欢迎大家体验一下,AI 写出来的书,还是挺有意思的哈哈!
鱼聪明 AI:
介绍完了优化点,接下来我想给大家分享一下 AI 写书程序的优化方法。
当我们要开发一个执行时间很长、中间过程很多的任务时,都可以采用下面的方法来设计程序,能够给发起任务的用户带来更好的体验。
比如我们鱼聪明的 AI 写书任务,要经过:任务校验 => 生成目录 => 依次生成多篇文章 => 结果生成等多个流程,总耗时可能要超过 10 分钟。
最简单粗暴的方式,就是一个方法内,把所有这套流程的代码全部写完。像下面这样:
String写书(){任务校验代码100行生成目录代码100行生成多篇文章代码100行结果生成代码100行}
但是这样的缺点很明显:
所以,首先我们要进行 任务拆分,把每个任务作为一个单独的方法(函数),将上一个任务的结果作为下一个任务的输入来进行参数传递。
像下面这样:
String写书(){A=任务校验()B=生成目录(A)C=生成多篇文章(B)D=结果生成(C)}
这样,程序的结构就很清晰了。但只要有一个方法失败,整个写书任务还是会终止,再次重试时还会从第一步(任务校验)开始执行。
怎么解决呢?
我们可以对任务状态进行 持久化,比如把每个任务的执行结果、任务整体的执行状态保存到数据库中,比如当前正在写第几篇文章。如果失败了,就把失败的信息和当前步骤记录到数据库中,相当于保存了个断点。
然后,写书任务的每个小步骤在执行前,都要从数据库(而不是从程序中)获取当前任务的最新状态,从而判断自己是否需要执行当前步骤。
举个例子,如果已经生成过书籍的目录,然后服务器挂了导致任务失败。点击重试后,生成目录的任务就不用再执行了。
伪代码如下:
String写书(){任务校验()A=从数据库查任务状态if(A任务未生成目录){生成目录()}...后续操作}
通过上面的 任务拆分
和 任务状态持久化
,我们的程序就已经有了从中间失败状态继续执行的能力。
但是还要考虑一些特殊情况,比如任务失败了,还没来得及把 “失败” 状态保存到数据库中服务器就挂了,给用户的感觉就是 “任务仍在执行中”。
对于这种情况,可以编写定时任务来轮询数据库中所有执行超过一定时间、并且状态仍为执行中的任务,并且将这些任务状态置为 “失败”,算是一种补偿机制。
当然,系统资源允许的情况下,还可以适当增加重试策略,任务失败后自动重试,不影响用户体验。但一定要设置最大重试次数、重试间隔时间等,避免 “滚雪球”。
此外,只要是开发这种长耗时的任务,在上线初期最好多加一些监控和日志,后面排查问题会方便很多。
这样一套流程下来,程序的可靠性、可用性就会增强不少~
就先分享到这里,我们要继续去开发新功能了,后面给大家分享下大家优秀的 AI 大作,期待的话请多多为我们点赞吧!
长按扫码,生成你的 AI 大作:
往期推荐
关键词:
[责任编辑:]
相关阅读
- (2023-06-24)全球最资讯丨AI 写书,升级了!
- (2023-06-24)太平镇崔庄村:片片棕叶裹温情 传统端午润民风 环球速读
- (2023-06-24)“安全带≠安全”,儿童乘车要当心“座椅安全带综合征”!-热资讯
- (2023-06-24)环球新资讯:m建模是什么(BIM是什么意思啊?)
- (2023-06-24)芹菜汁有什么功效(芹菜汁有什么功效?) 热门看点
- (2023-06-24)智翔金泰与首药控股
- (2023-06-24)【世界快播报】【华创医药郑辰刘浩团队】医药公告速递
- (2023-06-24)每日看点!破发股神农集团拟定增募不超11.5亿 上市即巅峰募22亿
- (2023-06-24)每日报道:【新闻发布会】江西:落实“八号检察建议” 推进安全生产溯源治理_看点
- (2023-06-24)恒玄科技跌6.44% 2020年上市超募27.6亿元 环球动态
- (2023-06-24)热点评!微创机器人港股跌8.48%
- (2023-06-24)天天资讯:新华灵活配置a
- (2023-06-24)友邦华泰基金_环球时快讯
- (2023-06-24)过失损坏交通设施犯罪是怎样的认定标准_全球速递
- (2023-06-24)华为要求日本通信企业支付专利费用:正与近30家公司交涉
- (2023-06-24)陕西确定两大城市:西安、咸阳
- (2023-06-24)速递!最高支持4K 60Hz输出:Syntech为ROG掌机推出6合1扩展坞
- (2023-06-24)天津蓟州郭家沟:美丽乡村“蝶变记”
- (2023-06-24)热议:再等91日,四大生肖好运包围,顺利发家致富,富得流油
- (2023-06-24)行业首次!京东云全栈国产化产品护航618 世界观点
- (2023-06-24)新动态:RTX 40系列显卡紧缺 AIC厂商苦笑着面对
- (2023-06-24)精选!记者观察|5年期LPR为何只降10个基点?
- (2023-06-24)世界新消息丨江苏盐城: 黄海之滨,这里是未来新能源领域的“风光之城”
- (2023-06-24)刘长旭、汪明任北京师范大学副校长
- (2023-06-24)中国白酒库存过高 价格大面积倒挂 新视野
- (2023-06-24)多挣190万!联盟新规定正式出炉,恭喜了詹姆斯
- (2023-06-24)全球快看:香港智慧交通基金批出逾1200万港元 资助三个智慧交通项目
- (2023-06-24)夏天买“鞋子”,建议尽量避开这3种颜色,不是显老就是扮嫩 全球快看
- (2023-06-24)《人间失格》——我们与崩溃,一墙之隔|当前聚焦
- (2023-06-24)被传身亡的乌军总司令和情报负责人双双亮相 俄媒:疑点重重,合照疑似伪造