# StyleMate **Repository Path**: w1114303045/style-mate ## Basic Information - **Project Name**: StyleMate - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-31 - **Last Updated**: 2026-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AuraWear 霓裳(StytleMate) 基于多模态大模型的 **AI 穿搭顾问** Web 应用。上传/拍摄一张穿搭照片,或直接文字提问,系统即可: 1. 通过视觉大模型识别照片中的穿着(上衣、外套、下装、鞋、帽、包、配饰等),输出结构化 JSON; 2. 结合本地穿搭知识库(FAISS 语义检索)与实时网络搜索(Tavily)获取搭配方案与流行趋势; 3. 由推理大模型以"朋友聊天"的口吻生成个性化穿搭点评与优化建议,并可搜索参考图片供用户对照。 前端为 Streamlit 单页应用:开屏页 → 左侧历史对话栏 + 右侧聊天工作台,支持男/女性别切换(联动主题色),回答全程流式输出。 ## 功能特性 - 📷 **拍照/上传穿搭点评**:照片 → 结构化穿着识别 → 流式点评 + 具体优化建议 + 参考图 - 💬 **文字穿搭问答**:直接提问(如"黑色大衣怎么配裤子?"),结合知识库与网络趋势回答 - 🗂 **会话管理**:侧边栏新建/切换/删除历史对话 - ⚧ **性别切换**:联动主题色渐变动画,知识库检索按性别过滤 - 🔍 **参考图搜索**:自动生成搜索关键词,返回穿搭参考图片 ## 环境要求 - Python 3.10+(Windows 推荐) - FAISS 索引路径必须为**无中文**的路径(FAISS 底层 C++ 不支持中文路径) ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置密钥 复制 `config.example.ini` 为 `config.ini`(保持同目录),填入你自己的配置: ```bash cp config.example.ini config.ini ``` 配置**按功能角色分节**,各节独立,想用什么平台就用什么平台(LLM 三节均为 OpenAI 兼容协议:`API_KEY` + `BASE_URL` + `MODEL`): | 角色 | 用途 | 要求 | 常见平台参考 | |---|---|---|---| | `[vision]` | 照片穿着识别 | **必须选多模态(视觉)模型** | 智谱 glm-4v-plus(https://open.bigmodel.cn)、通义 qwen-vl、gpt-4o-mini 等 | | `[reasoning]` | 穿搭点评/问答推理 | 任意 OpenAI 兼容文本模型 | DeepSeek(https://platform.deepseek.com)、智谱 GLM 等 | | `[embedding]` | 知识库向量化 | 任意 OpenAI 兼容 embedding 模型 | 智谱 embedding-3 等 | | `[search]` | 网络搜索 + 参考图搜索 | 目前绑定 Tavily(仅 `API_KEY`) | https://tavily.com | > `config.ini` 已被 `.gitignore` 排除,不会被提交到 git;仓库中只有 `config.example.ini` 模板。 ### 3. 启动 ```bash streamlit run main.py ``` ### 4. 知识库索引(可选) FAISS 索引在首次检索时会自动构建;也可手动预建: ```bash python -m knowledge.retriever ``` ## 项目结构 ``` ├── main.py # Streamlit 入口:开屏、主题、侧边栏、工作台 ├── config.py # 读取 config.ini(密钥/模型/路径) ├── config.example.ini # 配置模板(提交到 git) ├── config.ini # 真实配置(不提交) ├── requirements.txt ├── agent/ │ └── outfit_agent.py # 核心 Agent:穿搭点评、问答、参考图搜索(LangChain) ├── vision/ │ └── analyzer.py # 视觉分析:照片 → 穿着结构化 JSON ├── knowledge/ │ ├── dataset.py # 加载 data/*.jsonl,统一 schema │ ├── retriever.py # 智谱 embedding-3 + FAISS 向量检索 │ └── data/fashion_dataset_auto.jsonl # 穿搭数据集 ├── search/ │ └── web_search.py # Tavily 网络搜索:趋势文本 + 图片 └── ui/ ├── chat_page.py # 聊天工作台、侧边栏 ├── style.py # CSS、主题色、头像/图标 SVG └── splash.py # 开屏页 ``` ## 常见问题 - **启动报"未找到配置文件 config.ini"**:没做第 2 步,复制 `config.example.ini` 为 `config.ini` 并填 Key。 - **FAISS 报错/崩溃**:检查 `FAISS_INDEX_PATH` 是否含中文路径,换成纯英文目录。 - **参考图打不开**:参考图来自 Tavily 返回的外链,偶有失效,属正常现象。 - **弱光/遮挡识别漏检**:视觉识别质量依赖 glm-4v-plus,尽量拍光线好、穿着完整的照片。 ## 技术栈 Streamlit(前端)· OpenCV / PIL(图像)· LangChain + DeepSeek(推理)· 智谱 glm-4v-plus + embedding-3(视觉/向量)· FAISS(检索)· Tavily(搜索) 详细设计文档见 [PROJECT_DOC.md](PROJECT_DOC.md)。