我做了什么
基于 阿里云百炼 Qwen 大模型,为我的「电子衣橱 | Digital Cabinet」项目实现了 AI 穿搭推荐功能。
项目原本是一个纯前端衣橱管理工具(Next.js + IndexedDB),"今日推荐"功能一直是"即将推出"的占位状态。通过集成百炼的 OpenAI 兼容 API,实现了:
- AI 穿搭推荐 — 用户选择场合/天气,AI 分析衣橱中所有衣物属性(颜色、风格、角色、场合适配度),生成 2-3 套完整搭配方案,包含选择理由和穿搭小贴士
- 偏好定制 — 支持额外偏好输入,让推荐更贴近个人需求
- 智能衣橱利用 — 优先推荐穿着次数低的冷门单品,提升衣橱利用率
使用的工具
效果展示
集成前
集成后
- 完整的 AI 穿搭推荐流程:选择场合 → 选择天气 → 配置偏好 → AI 分析衣橱 → 生成搭配方案
- 每套方案包含:搭配名称、整体描述、衣物清单(含选择理由)、穿搭小贴士
- 支持"换一批"重新生成
核心代码
// API Route 代理百炼 API
POST /api/recommend
→ 接收衣橱数据 + 场景参数
→ 调用百炼 Qwen-Plus Chat Completions
→ 返回结构化 JSON 穿搭推荐
踩坑记录
- 纯前端项目的 API Key 安全 — 项目使用 IndexedDB 本地存储,不能直接在前端调用百炼 API。解决方案:通过 Next.js API Route 做服务端代理,API Key 存在
.env.local 中
- 衣橱数据量控制 — Prompt 中需要包含衣橱摘要但衣物可能有几十件。方案:只传关键属性(名称、颜色、类别、角色等),不传图片 blob,并在 prompt 中做合理限制
- JSON 输出稳定性 — 百炼 Qwen 模型在长 prompt 下偶尔会输出 markdown 包装的 JSON。方案:在后端做清洗,去除 `````` 标记后再 parse
我做了什么
基于 阿里云百炼 Qwen 大模型,为我的「电子衣橱 | Digital Cabinet」项目实现了 AI 穿搭推荐功能。
项目原本是一个纯前端衣橱管理工具(Next.js + IndexedDB),"今日推荐"功能一直是"即将推出"的占位状态。通过集成百炼的 OpenAI 兼容 API,实现了:
使用的工具
效果展示
集成前
集成后
核心代码
踩坑记录
.env.local中