news 2026/5/11 3:39:30

微信小程序接入大模型实战3:星座运势(含代码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信小程序接入大模型实战3:星座运势(含代码)

引言

本文将介绍如何利用大语言模型(LLM)与结构化 Prompt 设计,将传统“星座运势”这种高度模糊、强主观的内容,重构为一个可控、可复用、低风险的生成式文本系统

从技术视角看,星座运势并不是预测问题,而是一个典型的:

基于固定标签(星座)+ 情绪状态映射 + 巴纳姆效应的文本生成问题

本文将给出一个完整示例,演示如何实现一个
“看起来像星座运势,实际是 Prompt 驱动的文本生成规则系统”

商务合作:18094708823


1. 项目背景

星座运势类小程序长期存在稳定需求,常见实现方式通常是:

  • 固定星座运势文案

  • 按日期或星座直接返回

  • 更新成本高、内容同质化严重

这类实现方式的问题在于:

  • 运势内容“可读性强,但复访价值低”

  • 用户很容易意识到是“模板内容”

  • 难以支持个性化扩展(如今日状态、提问)

本文尝试使用大语言模型 + 结构化 Prompt,实现一个:

看起来像星座运势,实际是文本生成规则系统

从而在不引入真实预测的前提下,提升内容的代入感与新鲜度。

2. 产品示意图

3. 技术架构

整体架构较为简单,适合快速验证:

微信小程序 | | 选择星座 / 查看运势 v Node.js 后端 | | 星座信息 + Prompt v 大语言模型 API

该架构的核心在于:
前端不关心运势内容如何生成,只负责展示结果

4. 小程序端:星座运势触发

4.1 页面示例

<button bindtap="getFortune">查看今日运势</button> <view>{{fortune}}</view>

4.2 页面逻辑

Page({ data: { fortune: '' }, getFortune() { wx.request({ url: 'https://your-server/api/fortune', method: 'GET', data: { zodiac: '白羊座' }, success: res => { this.setData({ fortune: res.data.text }) } }) } })

5. 后端:星座运势生成逻辑

5.1 星座与运势维度定义

const zodiacs = [ '白羊座','金牛座','双子座','巨蟹座', '狮子座','处女座','天秤座','天蝎座', '射手座','摩羯座','水瓶座','双鱼座' ] const levels = ['偏低', '平稳', '偏高']

5.2 运势接口实现

app.get('/api/fortune', async (req, res) => { const zodiac = req.query.zodiac const level = levels[Math.floor(Math.random() * levels.length)] const prompt = ` 你是一位星座运势解读者。 星座:${zodiac} 今日整体运势:${level} 请用不超过 100 字进行解读, 语言模糊、克制,偏向状态描述, 不要给出明确结论或具体建议。 ` const text = await callLLM(prompt) res.json({ text }) })

6. Prompt 设计思路

在星座运势场景中,Prompt 的设计目标并不是“预测准确”,而是:

  • 增强代入感

  • 避免确定性判断

  • 保持长期可用性

核心设计原则如下:

6.1 模糊性优先

模糊表达可以覆盖更多用户状态,符合巴纳姆效应。

6.2 不给明确建议

避免诸如“应该”“一定要”“马上去做”等指令式表达,降低风险。

6.3 固定角色设定

保持输出风格一致,避免模型输出情绪过激或风格漂移。

7. 推荐 Prompt(可直接使用)

角色设定

你是一位星座运势解读者,语气理性、克制,不夸张、不渲染焦虑。

任务说明

根据给定的星座和今日运势状态,
生成一段偏向“状态提醒”的星座运势文本。

输入信息

  • 星座:{zodiac}

  • 运势状态:{偏低 / 平稳 / 偏高}

输出要求

  1. 字数控制在 70~100 字

  2. 不要给出确定性结论

  3. 不要直接给行动建议

  4. 避免使用极端、绝对化词汇

  5. 语言偏向描述、提醒、可能性

输出风格示例(仅供参考)

“当前阶段更适合关注自身节奏,而非结果本身,外部变化可能带来新的理解方式。”

现在请开始生成。

8. Prompt 构建函数示例

function buildZodiacPrompt(zodiac, level) { return ` 你是一位星座运势解读者,语气理性、克制。 星座:${zodiac} 今日运势状态:${level} 请输出 70~100 字的运势解读, 不下结论,不给建议, 只描述状态与可能性。 ` }

从工程角度看,星座运势并不是一个“玄学系统”,而是一个:

  • 用户分桶(星座)

  • 状态映射(运势等级)

  • 文本生成规则(Prompt)

通过引入大语言模型,可以在不增加内容维护成本的前提下,大幅提升内容的新鲜度和可扩展性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 11:32:43

R语言缺失值处理陷阱频发,5个真实临床案例告诉你正确姿势

第一章&#xff1a;R语言缺失值处理的临床挑战与重要性在临床数据分析中&#xff0c;缺失值是普遍存在的现实问题。电子健康记录&#xff08;EHR&#xff09;、基因组测序数据或流行病学调查中&#xff0c;由于患者失访、检测失败或信息录入不全&#xff0c;常导致数据集中出现…

作者头像 李华
网站建设 2026/5/11 3:39:29

为什么你的气象预测模型总出错?R语言误差溯源全解析

第一章&#xff1a;为什么你的气象预测模型总出错&#xff1f;R语言误差溯源全解析在构建气象预测模型时&#xff0c;即使使用了复杂的算法和高质量数据&#xff0c;预测结果仍可能出现显著偏差。问题往往隐藏在数据预处理、模型假设或误差传播路径中。通过R语言的系统性诊断工…

作者头像 李华
网站建设 2026/5/9 3:04:09

Dify Tesseract 5.3语言包适配实战(20年专家经验倾囊相授)

第一章&#xff1a;Dify Tesseract 5.3语言包适配概述 在 Dify 集成 Tesseract OCR 引擎 5.3 版本的过程中&#xff0c;语言包的正确配置与适配是实现多语言文本识别的关键环节。Tesseract 5.3 支持通过 LSTM 模型进行高精度文字识别&#xff0c;但其默认仅加载英文语言包&…

作者头像 李华
网站建设 2026/5/10 1:29:04

动态并行(Dynamic Parallelism):在GPU上启动新内核

动态并行&#xff08;Dynamic Parallelism&#xff09;是 CUDA 5.0 引入的一项功能&#xff0c;它允许一个正在 GPU 上运行的 Kernel&#xff08;称为父 Kernel&#xff09;启动一个新的 Kernel&#xff08;称为子 Kernel&#xff09;。1. 动态并行的核心概念 1.1 传统的 CUDA …

作者头像 李华
网站建设 2026/5/10 14:26:14

Dify响应时间优化指南:5个关键步骤实现混合检索效率跃升

第一章&#xff1a;混合检索的 Dify 响应时间在构建基于大语言模型的应用时&#xff0c;Dify 作为一个低代码平台&#xff0c;支持将向量检索与关键词检索融合实现混合检索机制。该机制显著提升了问答系统的准确率与召回率&#xff0c;但同时也对响应时间提出了更高要求。优化混…

作者头像 李华
网站建设 2026/5/10 8:46:23

揭秘AI模型上线失败真相:Docker标签混乱如何毁掉你的MLOps流程

第一章&#xff1a;AI 模型版本的 Docker 标签管理在 AI 模型的持续迭代过程中&#xff0c;Docker 成为封装和部署模型服务的核心工具。合理使用标签&#xff08;Tags&#xff09;对镜像进行版本管理&#xff0c;是保障模型可追溯、可回滚和可复现的关键实践。使用语义化标签标…

作者头像 李华