Skip to content

【案例】电子衣橱 Digital Cabinet — 阿里云百炼 AI 穿搭推荐 #39

Description

@captainold

我做了什么

基于 阿里云百炼 Qwen 大模型,为我的「电子衣橱 | Digital Cabinet」项目实现了 AI 穿搭推荐功能。

项目原本是一个纯前端衣橱管理工具(Next.js + IndexedDB),"今日推荐"功能一直是"即将推出"的占位状态。通过集成百炼的 OpenAI 兼容 API,实现了:

  1. AI 穿搭推荐 — 用户选择场合/天气,AI 分析衣橱中所有衣物属性(颜色、风格、角色、场合适配度),生成 2-3 套完整搭配方案,包含选择理由和穿搭小贴士
  2. 偏好定制 — 支持额外偏好输入,让推荐更贴近个人需求
  3. 智能衣橱利用 — 优先推荐穿着次数低的冷门单品,提升衣橱利用率

使用的工具

效果展示

集成前

  • 「今日推荐」页面标记为"即将推出",无实际功能

集成后

  • 完整的 AI 穿搭推荐流程:选择场合 → 选择天气 → 配置偏好 → AI 分析衣橱 → 生成搭配方案
  • 每套方案包含:搭配名称、整体描述、衣物清单(含选择理由)、穿搭小贴士
  • 支持"换一批"重新生成

核心代码

// API Route 代理百炼 API
POST /api/recommend
 接收衣橱数据 + 场景参数
 调用百炼 Qwen-Plus Chat Completions
 返回结构化 JSON 穿搭推荐

踩坑记录

  1. 纯前端项目的 API Key 安全 — 项目使用 IndexedDB 本地存储,不能直接在前端调用百炼 API。解决方案:通过 Next.js API Route 做服务端代理,API Key 存在 .env.local
  2. 衣橱数据量控制 — Prompt 中需要包含衣橱摘要但衣物可能有几十件。方案:只传关键属性(名称、颜色、类别、角色等),不传图片 blob,并在 prompt 中做合理限制
  3. JSON 输出稳定性 — 百炼 Qwen 模型在长 prompt 下偶尔会输出 markdown 包装的 JSON。方案:在后端做清洗,去除 `````` 标记后再 parse

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions