当前位置: 首页 > article >正文

心情追忆-首页“毒“鸡汤AI自动化

        之前,我独自一人开发了一个名为“心情追忆”的小程序,旨在帮助用户记录日常的心情变化及重要时刻。我从项目的构思、设计、前端(小程序)开发、后端搭建到最终部署。经过一个月的努力,通过群聊分享等方式,用户量也有了将近200人。虽然取得了初步的成绩,但我希望小程序能够持续发展。

        上次学习产品思维后, 为了吸引用户主动交互, 我做了一个"毒"鸡汤首页, 吸引用户来主动交互, 在还没有推广的情况下, 最多点赞数也达到了十几个, 然后下面进入首页也加了一个演示, 发现提交分析的用户也开始有了(最开始几乎没有)

首页的的"毒"鸡汤功能其实很简单, 我是用的java的定时任务做的, 然后结合AI完成具体步骤

1. 写一个定时任务@Scheduled(cron = "0 0 0 * * ?")每天0点执行, 加入到后一天的显示, 这样如果有问题, 还有一天的缓冲时间去手动修改

2. 调用AI接口给我生成一个心灵鸡汤

3. 为了避免重复, 我会到数据库把历史最近100条数据查出来告诉AI这部分已经写过, 不要写重复的了

大概代码是这样的

    // 每天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是免费调用, 还有其他的产商也有免费模型调用, 大家可以做一个参考, 去开发一下自己好玩的需求


http://www.kler.cn/a/409651.html

相关文章:

  • C++ —— 以真我之名 如飞花般绚丽 - 智能指针
  • 【第十课】Rust并发编程(一)
  • MTK主板_安卓主板方案_MTK联发科主板定制开发
  • crc校验原理及Verilog实现
  • Python和C++急性损伤空间结构
  • 如何选择服务器
  • 使用go语言进行端口扫描
  • YOLOv8-ultralytics-8.2.103部分代码阅读笔记-tasks.py
  • 【JavaEE】Maven的介绍及配置
  • Flutter:启动屏逻辑处理02:启动页
  • 【从0学英语】字母发音指南:一套掌握所有字母的发音组合
  • NFS文件服务器
  • 基于开源 AI 智能名片 2+1 链动模式 S2B2C 商城小程序源码的社交新零售利益共同体构建与发展研究
  • Altium Designer学习笔记 21.PCB板框的评估及叠层设置
  • 视频监控实现画面缩放功能
  • 【数据结构-队列】力扣622. 设计循环队列
  • java-加密算法
  • 掌握 Vue key:剖析其原理及与无 key 的区别
  • 【Hive是什么?】Hadoop和Hive是什么关系?Hive在Hadoop上是怎么运行的?用大白话理解Hive和Hadoop的关系。
  • 亚马逊IP关联是什么?我们该怎么解决呢?
  • 【Leetcode Top 100】240. 搜索二维矩阵 II
  • 电脑无故提示提示“MSVCP140.dIl”文件丢失的原因以及六大解决方法!
  • Python入门(13)--并发编程
  • 银行卡OCR 识别 API 接口的影响因素分析
  • C++ —— 以真我之名 如飞花般绚丽 - 智能指针
  • python继承和反射