性格测评小程序10生成报告

news/2025/2/22 2:17:27

目录

  • 1 修改数据源
  • 2 创建云函数
    • 2.1 安装依赖文件
    • 2.2 编写主方法
  • 3 启用大模型
  • 4 搭建前端逻辑
  • 5 最终效果
  • 总结

这是我们测评小程序的最后一篇内容,当用户提交了测评,就需要依据测评的结果生成报告。如果按照传统开发思路,需要建表然后录入不同性格的不同解析能力。现在借助大模型,我们就可以生成一份智能的报告,本篇介绍一下如何使用大模型生成报告。

1 修改数据源

因为大模型给的结果是markdown格式的,我们需要在我们的报告表添加一个报告解析字段,类型选择markdown
在这里插入图片描述
这样大模型给出分析后可以更新回来,后续用户如何希望查看报告,就可以直接看到上一次的内容

2 创建云函数

要想调用大模型的能力,我们需要通过云函数进行集成,点击云函数,点击新建云函数
在这里插入图片描述
输入函数名称
在这里插入图片描述
点击列表的函数名称,打开云函数
在这里插入图片描述
切换到函数代码
在这里插入图片描述

2.1 安装依赖文件

云函数运行的时候需要先创建依赖文件,点击保存并安装依赖,会弹出依赖配置的窗口
在这里插入图片描述
点击复制
在这里插入图片描述
在文件里点击新建文件,输入package.json
在这里插入图片描述
在这里插入图片描述
在package.json配置文件中输入如下内容:

{
  "name": "app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {},
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@cloudbase/node-sdk": "latest",
    "cloudbase/js-sdk":"2.9.1",
    "@cloudbase/adapter-node":"latest"
  }
}

然后点击保存并安装依赖,安装完毕后会多一个node_modules文件夹
在这里插入图片描述

2.2 编写主方法

编写调用方法,在index.js中贴入如下代码

'use strict';
// 在 Node.js 项目的根目录下,使用 npmyarn 安装所需的包:
// npm i @cloudbase/js-sdk@2.9.1
// npm i @cloudbase/adapter-node

const cloudbase = require("@cloudbase/js-sdk");

const adapter = require("@cloudbase/adapter-node");

const { sessionStorage } = adapter.genAdapter();
cloudbase.useAdapters(adapter);
const app = cloudbase.init({
  env: "", // 需替换为实际使用环境 id
});
/**
 * auth 初始化的时候要传入storage 和 captchaOptions.openURIWithCallback
 * 否则会用默认的,依赖于平台,在 nodejs 环境报错
 */
const auth = app.auth({
  storage: sessionStorage,
  captchaOptions: {
    openURIWithCallback: (...props) =>
      console.log("open uri with callback", ...props),
  },
});


exports.main = async (event, context) => {
    // 或者使用其他登录方式
const type = event.type
// 验证用户输入的类型是否为有效的 MBTI 类型
  const validTypes = [
    "ISTJ", "ISFJ", "INFJ", "INTJ",
    "ISTP", "ISFP", "INFP", "INTP",
    "ESTP", "ESFP", "ENFP", "ENTP",
    "ESTJ", "ESFJ", "ENFJ", "ENTJ",
  ];
  
  if (!validTypes.includes(type)) {
    return { error: "无效的 MBTI 类型,请检查输入。" };
  }
await auth.signInAnonymously(); 
const ai = await app.ai();
// 接下来就可以调用 ai 模块提供的方法了
const aiModel = ai.createModel("hunyuan-exp");
const prompt = `
以下是一项任务,根据用户提供的 MBTI 人格类型,生成详细的分析内容。
- 分析内容包括但不限于:
  1. 类型的基本特征。
  2. 性格优点和需要注意的方面。
  3. 适合的职业和工作环境建议。
  4. 在人际关系中的表现和建议。
  5. 可能面临的挑战以及如何应对。

注意:
- 确保 MBTI 类型是 16 种合法类型之一。
- 请生成清晰、准确且符合心理学标准的描述。

用户输入的 MBTI 类型是:${type}。
根据该类型生成详细的个性化分析内容。
如果类型无效,请明确提示用户输入错误,并列出 16 种合法类型。
`;

const res = await aiModel.generateText({
  model: "hunyuan-lite",
  messages: [
    { role: "user", content: prompt  },
  ],
});
console.log(res.text)
    return { type,analysis: res.text }
};

3 启用大模型

点击AI+,启用大模型
在这里插入图片描述
开发阶段我们可以启用混元的体验版供测试,如果上线需要启用混元的正式版,而且需要进行算法备案才可以正式上线。目前算法备案只支持企业主体,个人是无法备案的。

4 搭建前端逻辑

在前端我们是在查看报告的按钮调用大模型的能力,在我们的自定义方法里输入如下代码
在这里插入图片描述

export default async function({event, data}) {
const result = await $w.cloud
  .callFunction({
    name: "callChatBot",
    data: { type: "ISTJ"},
  })
  console.log("result",result)
  $w.page.dataset.state.analysis = result.result.analysis
    $w.modal1.open({})
}

创建一个自定义变量用来显示我们的信息
在这里插入图片描述
在页面组件下边添加一个弹窗组件,弹窗内容里放置markdown组件
在这里插入图片描述
markdown组件绑定我们刚才定义的变量
在这里插入图片描述

5 最终效果

当我们走完流程,会弹出一个报告
在这里插入图片描述

总结

本篇我们介绍了使用云函数调用腾讯混元大模型的能力,结合我们测评的结果,按照一定的提示词,大模型就可以依据他掌握的知识给出具体的分析,感兴趣照着前边10篇的教程自己搭建一款性格测评的小程序吧。


http://www.niftyadmin.cn/n/5861525.html

相关文章

LC-单词搜索、分割回文串、N皇后、搜索插入位置、搜索二维矩阵

单词搜索 使用 回溯法 来解决。回溯法适合用于这种路径搜索问题,我们需要在网格中寻找单词,并且每个字符都只能使用一次。 思路: 递归搜索:我们可以从网格中的每个单元格开始,进行深度优先搜索(DFS&#x…

分布式 IO 模块:水力发电设备高效控制的关键

在能源领域不断追求高效与可持续发展的今天,水力发电作为一种清洁、可再生的能源形式,备受关注。而要实现水力发电设备的高效运行,精准的控制技术至关重要。分布式 IO 模块,正悄然成为水力发电设备高效控制的核心力量。 传统挑战 …

B+树作为数据库索引结构的优势对比

MySQL作为数据库,它的功能就是做数据存储和数据查找;使用B树作为索引结构是为了实现高效的查找、插入和删除操作。 B树的查找、插入、删除的复杂度都为 O(log n),它是一个多叉树的结构,能兼顾各种操作的效率的数据结构。如果使用…

企业内部真题

文章目录 前端面试题:一个是铺平的数组改成树的结构问题一解析一问题一解析二前端面试题:for循环100个接口,每次只调3个方法一:使用 `async/await` 和 `Promise`代码解释(1):代码解释(2):1. `fetchApi` 函数2. `concurrentFetch` 函数3. 生成 100 个接口地址4. 每次并…

thread---基本使用和常见错误

多线程基础 一、C多线程基础 线程概念&#xff1a;线程是操作系统能够调度的最小执行单元&#xff0c;同一进程内的多个线程共享内存空间头文件&#xff1a;#include <thread>线程生命周期&#xff1a;创建->执行->销毁&#xff08;需显式管理&#xff09;注意事…

如何将MySQL数据库迁移至阿里云

将 MySQL 数据库迁移至阿里云可以通过几种不同的方法&#xff0c;具体选择哪种方式取决于你的数据库大小、数据复杂性以及对迁移速度的需求。阿里云提供了多种迁移工具和服务&#xff0c;本文将为你介绍几种常见的方法。 方法一&#xff1a;使用 阿里云数据库迁移服务 (DTS) 阿…

C语言基础系列【15】union 共用体

博主介绍&#xff1a;程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章&#xff0c;首发gzh&#xff0c;见文末&#x1f447;&#x1f…

前端PDF转图片技术调研实战指南:从踩坑到高可用方案的深度解析

本文以真实业务场景为背景&#xff0c;深入剖析前端PDF转图片的 7大核心指标 &#xff0c;通过3000字详解5种方案对比性能压测数据&#xff0c;输出可复用的技术调研方法论。 一、技术调研认知误区与破局之道 1.1 需求理解典型翻车现场 // 错误案例&#xff1a;未明确需求边界…