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

微信小程序接入大模型实战 5:测名与起名大师(含代码)

引言

本文将介绍如何利用大语言模型(LLM)的跨领域知识检索能力(文学、历史、五行学)和结构化输出能力,将传统的起名服务升级为高效率、高品质的“AI 起名与评估”系统。

从技术视角看,AI 起名大师是一个典型的知识融合与结构化输出任务

固定标签(八字/五行) → 知识检索(诗词/古籍)→ 多维度评估(音、形、意) → JSON 结果输出

传统起名软件往往只能简单地罗列笔画和五行,缺乏文学底蕴。本文将演示如何通过 LLM 确保生成的名字不仅满足传统要求,还富有诗意、寓意和现代美感。

商务合作:18094708823


1. 项目背景

起名服务市场长期存在以下痛点:

  • 内容同质化:多数软件生成的字词组合缺乏美感和新意。

  • 缺乏考据:名字寓意往往是牵强附会,无法提供可靠的诗词或典故出处。

  • 用户输入复杂:用户需要手工计算五行缺补,体验繁琐。

解决方案:

利用 LLM 强大的知识库和文本生成能力,实现:

  1. 自动化五行缺补分析:根据出生信息自动推算出五行偏向。

  2. 诗词古籍溯源:确保名字的文化内涵,并提供出处。

  3. 多维度评估报告:提供音律、字形、谐音风险等综合评估。

2. 产品示意图

3. 技术架构

该系统的核心在于 LLM 的Input/Output Mapping

代码段

微信小程序 (前端) | | 1. 输入:姓氏、性别、生日 (年月日时分) v Node.js / Python 后端 (中间层) | | 2. (传统算法/预置库) -> 计算五行缺补 (例如:缺水) | | 3. 组装 Prompt (包含五行需求与文化要求) v 大语言模型 API | | 4. 生成包含 3 个名字的结构化 JSON v 返回:JSON 结构化结果

4. 小程序端:数据采集与展示

4.1 页面核心代码

前端需要采集四个核心信息:姓氏、性别、生日时间(用于五行计算)和起名需求(如“希望阳光开朗”)。

HTML

<!-- naming.wxml --> <view class="form-section"> <input placeholder="请输入姓氏 (例如:张)" bindinput="inputFamilyName" /> <picker mode="selector" range="{{genderArray}}" bindchange="selectGender"> <view class="picker-display">性别:{{genderText}}</view> </picker> <!-- 简化日期选择 --> <input placeholder="出生日期 (例如: 2024-05-20 10:30)" bindinput="inputBirthTime" /> </view> <button bindtap="generateNames">开始生成好名</button> <!-- 结果列表 --> <view wx:for="{{nameResults}}" wx:key="name" class="name-card"> <view class="name-title">{{item.name}}</view> <view class="detail">五行契合度: {{item.fit_score}}</view> <view class="detail">诗词出处: 《{{item.source_poem}}》</view> </view>

5. 后端:五行预处理与结构化 Prompt

后端有两个关键步骤:

5.1 五行计算(预处理)

由于 LLM 在日期/时间计算上可能存在误差,我们应使用传统的日期库(如 Python 的lunar_python或 Node.js 的dayjs-plugin-lunar)来推算用户的八字,进而确定五行缺补

JavaScript

// naming_service.js (简化逻辑) function calculateFiveElements(birthTime) { // 假设通过第三方库计算得出 return { missing: ['水', '木'], strong: ['土'] }; }
5.2 结构化 JSON Prompt (核心)

这是确保输出可控、可解析的关键。我们要求 LLM 以JSON 格式返回结果列表。

JavaScript

// naming_service.js const promptTemplate = ` 你是一位专业的起名大师,精通诗词文化与五行学。 请根据用户的输入和五行分析,生成 3 个高质量的中文名。 **角色与任务:** 1. 名字必须从中国古代诗词、古籍中选取,并提供出处。 2. 名字必须符合五行缺补要求(优先补【水】和【木】)。 3. 名字需包含寓意解析、音律评估和五行评分。 **输入信息:** - 姓氏:张 - 性别:女 - 五行缺补要求:**急需补水,宜用属水或属木的字。** - 风格偏好:清新脱俗,有书卷气。 **输出要求:** **必须严格按照下面的 JSON 结构返回结果,不要添加任何解释性文字。** [ { "name": "张XX", "meaning": "名字的寓意解析,15字以内。", "source_poem": "诗词出处,精确到篇名和句子。", "element_required": "水/木", "element_used": "名字所用字的五行属性", "sound_assessment": "音律评估 (例如:平仄相宜,朗朗上口)", "fit_score": "95" }, ... (共3个结果) ] `;

6. Prompt 设计思路

Prompt 的设计目标是让 LLM 成为一个“文化检索器” + “评分模型”

  1. 强制检索:必须要求 AI 给出具体的诗词出处。这能有效利用 LLM 的知识库,并避免它编造名字。

  2. 评分机制:要求 LLM 对自身生成的名字进行打分(fit_score),这能触发其“自我评估”的思维链,提高名字质量。

  3. JSON 结构:使用responseMimeType: "application/json"responseSchema确保后端接收到的是可解析的 JSON 字符串。

7. JSON Schema 结构示例

在实际的 API 调用中,我们将定义如下结构:

JavaScript

// generationConfig.responseSchema const responseSchema = { type: "ARRAY", description: "Generated names list", items: { type: "OBJECT", properties: { "name": { "type": "string", "description": "Generated full name." }, "meaning": { "type": "string", "description": "Meaning and analysis." }, "source_poem": { "type": "string", "description": "Source poem or classic text." }, "element_required": { "type": "string" }, "element_used": { "type": "string" }, "sound_assessment": { "type": "string" }, "fit_score": { "type": "string" } }, required: ["name", "meaning", "source_poem", "fit_score"] } };

8. 总结

“AI 测名与起名大师”小程序的价值,在于利用 LLM 的知识广度结构化能力,将一个高度依赖经验的传统服务标准化、高效化。

  1. 高效率:几秒内即可生成数十个具有文化出处的备选名字。

  2. 高品质:名字拥有诗词古籍背书,赋予了产品高附加值。

  3. 可扩展性:通过修改 Prompt,可以轻松支持公司起名、英文名生成、产品命名等多种业务线,形成完整的命名服务矩阵。

http://www.cnnetsun.cn/news/119217.html

相关文章:

  • 5步构建可靠消息系统:Watermill框架实战指南
  • 7天攻克图像标注难题:Labelme与ResNet的高效组合方案
  • Memobase完整安装指南:5步快速搭建AI长期记忆系统
  • 终极Mac性能监控指南:MenuMeters让你的系统状态一目了然
  • RQ分布式任务监控实战指南:5分钟搭建高效日志追踪系统
  • 突破70%构建瓶颈:Bazel企业级多语言项目效能诊断与优化
  • 百度网盘提取码智能获取完整指南:告别繁琐查询的终极方案
  • 如何快速掌握大语言模型部署:FastChat完整实践指南
  • 【Leetcode】997. Find the Town Judge
  • 百度网盘提取码智能获取终极指南
  • Linux桌面美化终极指南:让你的工作环境焕然一新
  • ThingsGateway:构建智能物联网设备管理平台的完整指南
  • 软考 系统架构设计师系列知识点之面向服务架构设计理论与实践(17)
  • 重新定义Grafana管理:MCP协议集成的智能监控新范式
  • python 第六章 练习
  • MATLAB实现改进的RRT路径规划算法:融合概率采样策略、贪心算法与3次B样条优化的代码与实践
  • 如何在 Laravel 中构建复杂工作流:Venture 终极指南
  • 告别k6 Docker证书困境:从零到一的实战解密
  • 普通主机进入BIOS
  • Notally:终极简单快速的免费笔记应用完全指南
  • OctoSQL查询计划可视化终极指南:3个技巧快速优化SQL性能
  • CCM CRM单相有源功率因数校正boost PFC电路仿真探索
  • 使用EmotiVoice避免版权纠纷的正确姿势
  • 有声内容创作者福音:EmotiVoice一键生成带情绪的朗读音频
  • Java中PageHelper的拦截器实现机制
  • 为什么EmotiVoice成为开发者最青睐的开源TTS引擎?
  • 18、量子测量、信息增益与量子信息理论的哲学思考
  • 26、量子计算、力学与密码学深度解析
  • Nginx gzip压缩完整配置指南:如何快速提升网站性能
  • [深度学习] 大模型学习5-高效微调框架Unsloth使用指北