之前,我独自一人开发了一个名为"心情追忆"的小程序,旨在帮助用户记录日常的心情变化及重要时刻。我从项目的构思、设计、前端(小程序)开发、后端搭建到最终部署。经过一个月的努力,通过群聊分享等方式,用户量也有了将近200人。虽然取得了初步的成绩,但我希望小程序能够持续发展。
上次学习产品思维后, 为了吸引用户主动交互, 我做了一个"毒"鸡汤首页, 吸引用户来主动交互, 在还没有推广的情况下, 最多点赞数也达到了十几个, 然后下面进入首页也加了一个演示, 发现提交分析的用户也开始有了(最开始几乎没有)
首页的的"毒"鸡汤功能其实很简单, 我是用的java的定时任务做的, 然后结合AI完成具体步骤
-
写一个定时任务@Scheduled(cron = "0 0 0 * * ?")每天0点执行, 加入到后一天的显示, 这样如果有问题, 还有一天的缓冲时间去手动修改
-
调用AI接口给我生成一个心灵鸡汤
-
为了避免重复, 我会到数据库把历史最近100条数据查出来告诉AI这部分已经写过, 不要写重复的了
大概代码是这样的
java
// 每天00:00执行
@Scheduled(cron = "0 0 0 * * ?")
public void saveDailyMotivation() {
// 查询数据里最近100条的数据
String last100DaysMotivationContent = getLast100DaysMotivationContent();
String userMessage = "给我说一句生活鸡汤, 不要跟上面的几句内容和意义重复,不要出现重复的词语. " +
"输出参考示例: 别低估别人高估自己,以免陷入盲目自信的毒鸡汤之中无法自拔。";
Qianfan qianfan = new Qianfan(Auth.TYPE_OAUTH, accessKey, secretKey);
ChatResponse response = qianfan.chatCompletion()
.model("ernie-speed-128k") // 使用model指定预置模型
.addMessage("user", last100DaysMotivationContent + userMessage)// 把上面100条数据拼接上用户输入的prompt提示
.temperature(0.7) // 自定义超参数
.execute(); // 发起请求
String result = response.getResult();
DailyMotivation dailyMotivation = new DailyMotivation();
dailyMotivation.setContent(result);
// 设置第二天的日期, 提前一天生成, 如果有问题, 有缓冲的时间去修改
dailyMotivation.setDate(LocalDate.now().plusDays(1));
LocalDateTime nowTime = LocalDateTime.now();
dailyMotivation.setCreatedTime(nowTime);
dailyMotivation.setUpdatedTime(nowTime);
int insertResult = dailyMotivationMapper.insert(dailyMotivation);
if (insertResult > 0) {
log.info("每日毒鸡汤更新成功!");
} else {
log.error("每日毒鸡汤更新失败..");
}
}
目前ernie-speed-128k这个线上模型api是免费调用, 还有其他的产商也有免费模型调用, 大家可以做一个参考, 去开发一下自己好玩的需求