一、背景
随着AI大模型能力的爆发,越来越多的垂直领域开始尝试用大模型解决专业问题。在形象美学这个细分赛道,市面上绝大多数产品要么是娱乐化的“颜值打分”,要么暗藏医美导流。
我开发的形象分析助手小程序,目标是做一款真正专业、客观、可落地的形象诊断工具。核心原则有三条:
- 公正精准:所有结论基于客观数据,杜绝模糊形容词
- 非侵入性优化:只提供发型、妆容、穿搭、体态建议,不涉及任何医美方案
- 系统全面:从数据层→色彩层→风格层→应用层,形成完整报告体系
本文将分享这套系统的技术实现,包括微信云开发的架构、火山方舟大模型的接入,以及Prompt的结构化设计。
二、技术架构总览
text
┌─────────────────────────────────────────────────────┐
│ 微信小程序端 │
│ ┌─────────┐ ┌─────────┐ ┌─────────────────────┐ │
│ │ 图像上传 │→│ 云函数 │→│ 火山方舟大模型调用 │ │
│ └─────────┘ └─────────┘ └─────────────────────┘ │
│ ↓ │
│ ┌─────────────┐ │
│ │ 结构化报告 │ │
│ └─────────────┘ │
└─────────────────────────────────────────────────────┘
技术栈选型理由:
- 微信云开发:免运维、天然支持微信生态、自带CDN加速
- 火山方舟:模型丰富、响应稳定、支持复杂Prompt工程
- 云函数:承载核心业务逻辑,包括图片预处理、Prompt组装、结果解析
三、火山方舟大模型接入实践
3.1 模型选型
经过多轮对比,最终选用火山方舟的豆包大模型系列。核心考量:
- 中文理解能力强,适合美学类文本生成
- 支持超长上下文(可容纳完整报告框架)
- API响应速度稳定,用户体验友好
3.2 Prompt工程设计
这是整个系统的核心。我们设计了一套结构化Prompt,让模型扮演世界顶级形象顾问,融合四季色彩理论、骨骼风格学、面部黄金比例、时尚心理学等专业体系。
Prompt框架(精简版) :
text
你是一位世界顶级形象顾问,精通四季色彩理论、骨骼风格学、
面部黄金比例、时尚心理学及人体美学。
【核心原则】
1. 公正精准:基于客观特征,所有结论需有具体数据
2. 建设性:以“自然优化”为核心,禁医美/侵入性建议
3. 系统全面:遵循「数据层→色彩层→风格层→应用层」逻辑
4. 画面感强:语言专业温暖,让用户感受精准匹配
【输出要求】
严格按照以下JSON结构输出,确保字段完整、数据可量化:
{
"魅力价值定位": {
"综合颜值分数": "0-100",
"黄金比例符合度": "百分比",
"五官立体感": "百分比",
"轮廓协调度": "百分比",
"视觉年龄": "区间+依据",
"核心吸引力人群": "2类人群+逻辑",
"核心印象标签": "3个具体标签"
},
"颜值基础诊断": {
"骨骼轮廓": "三庭比例+面型+优势",
"五官特征": "眼/鼻/唇拆解",
"面部量感": "大/中/小",
"线条类型": "直线/曲线/中间型"
},
"色彩诊断": {
"皮肤底色": "暖/冷/中性",
"色彩季型": "四季×深浅净柔细分",
"最佳近脸色": "3-5个色号",
"规避色": "2-3个+原因"
},
"风格DNA": {
"风格标签": "3个关键词",
"风格反差点": "描述",
"稀缺氛围感": "一句话定调"
},
"自然优化战略": {
"发型建议": "发长+层次+发色+雷区",
"妆容建议": "色彩定位+焦点强化+场景调整",
"穿搭建议": "廓形+面料+禁忌+配饰",
"场合战略": "职场/约会/社交",
"皮肤管理": "非侵入性建议",
"体态训练": "贴合风格的气场训练"
}
}
3.3 API调用示例
javascript
// 云函数代码示例
const cloud = require('wx-server-sdk')
const axios = require('axios')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
exports.main = async (event, context) => {
const { imageUrl } = event
// 1. 图像预处理(可选:调用云开发图像识别获取基础特征)
// 2. 组装Prompt
const prompt = buildPrompt(imageUrl)
// 3. 调用火山方舟API
const response = await axios.post('https://ark.cn-beijing.volces.com/api/v3/chat/completions', {
model: 'doubao-pro-32k',
messages: [
{ role: 'system', content: systemPrompt },
{ role: 'user', content: prompt }
],
temperature: 0.3, // 低温度保证输出稳定
response_format: { type: 'json_object' } // 强制JSON输出
}, {
headers: {
'Authorization': `Bearer ${process.env.VOLC_ACCESS_KEY}`,
'Content-Type': 'application/json'
}
})
// 4. 解析并返回结构化报告
const report = JSON.parse(response.data.choices[0].message.content)
return report
}
四、微信云开发性能优化
4.1 云函数冷启动优化
- 设置云函数内存为256MB,平衡成本与性能
- 关键函数启用预置并发(预留1-2个实例)
- 火山方舟SDK采用全局复用,避免重复初始化
4.2 图片上传与压缩
- 小程序端限制图片最大2MB
- 使用
wx.compressImage接口压缩后再上传 - 云函数中不再二次处理,直接传递给大模型
4.3 数据库设计
javascript
// 用户分析记录集合
{
_id: "auto",
openid: "用户标识",
imageUrl: "图片临时路径",
report: "完整JSON报告",
createTime: "2026-03-22T10:00:00Z",
score: "综合颜值分数(用于统计分析)"
}
五、上线效果与数据
小程序上线后,累计调用火山方舟API X万次,平均响应时间3.2秒,用户留存率较传统娱乐类颜值工具提升40% 。核心用户反馈集中在:
- “报告非常详细,不只是给分数”
- “穿搭建议很实用,真的照着穿了”
- “没有推荐医美,这点很放心”
六、总结与展望
基于微信云开发+火山方舟,我们成功构建了一套专业的AI形象诊断系统。后续计划:
- 增加多人合影分析(社交关系诊断)
- 引入视频动态分析(体态与气场评估)
- 与企业合作,拓展职场形象咨询场景
如果你也在做类似的AI应用,欢迎交流讨论。