# 图片文字检测与加价功能 ## 📋 功能说明 AI 客服现在可以分析图片中的文字数量,并根据文字数量和分层需求自动加价。 --- ## 💰 价格规则 ### 基础价格 | 复杂度 | 价格区间 | 说明 | |--------|----------|------| | simple | 10-15 元 | 画面简单干净 | | normal | 15-20 元 | 一般复杂度 | | complex | 20-25 元 | 细节偏多 | | hard | 25-30 元 | 非常复杂 | ### 文字数量加价 | 文字数量 | 加价 | 说明 | |----------|------|------| | none | +0 元 | 无文字 | | 少量 (1-10 字) | +5 元 | 少量文字 | | 中量 (11-50 字) | +15 元 | 中量文字 | | 大量 (51-200 字) | +30 元 | 大量文字 | | 极多 (200 字以上) | +50 元 | 极多文字 | ### 文字分层需求加价 | 分层需求 | 加价 | 说明 | |----------|------|------| | no | +0 元 | 普通图片处理 | | yes (有文字) | +50 元起 | 可编辑分层文件(PSD 等) | | yes (无文字) | +30 元 | 仅需分层文件 | ### 特殊价格:文字分层 + 大量文字 **条件**:文字数量=大量/极多 且 文字分层需求=yes **价格范围**:60-80 元 --- ## 🎯 使用场景 ### 场景 1:少量文字,不分层 **客户**:[发送一张有 5 个字的图片] **AI 分析**: - 复杂度:simple - 文字数量:少量 (1-10 字) - 分层需求:no **报价**: ``` 基础价格:15 元 文字加价:+5 元 总计:20 元 ``` **AI 回复**: ``` 这张图比较简单,不过有少量文字需要处理,20 元。 ``` --- ### 场景 2:大量文字,需要分层 **客户**:[发送一张有 100 多字的图片] **客户**:需要可以编辑的分层文件 **AI 分析**: - 复杂度:complex - 文字数量:大量 (51-200 字) - 分层需求:yes **报价**: ``` 基础价格:25 元 文字加价:+30 元 分层加价:+50 元 总计:105 元 → 调整到 80 元(特殊价格上限) ``` **AI 回复**: ``` 这张图文字比较多,有 100 多字,而且需要分层文件,处理起来比较麻烦,80 元。 文字处理 +30 元,分层 +50 元。 ``` --- ### 场景 3:极多文字,需要分层(高客单价) **客户**:[发送一张有 300 多字的图片] **客户**:要 PSD 分层文件 **AI 分析**: - 复杂度:hard - 文字数量:极多 (200 字以上) - 分层需求:yes **报价**: ``` 基础价格:30 元 文字加价:+50 元 分层加价:+50 元 总计:130 元 → 调整到 80 元(特殊价格上限) ``` **AI 回复**: ``` 这张图文字非常多,有 300 多字,还需要分层文件,处理起来很费时间,80 元。 ``` --- ## 🔧 技术实现 ### 1. 图片分析器增强 文件:`/root/ai_customer_service/ai_cs/image/image_analyzer.py` **新增字段**: - `text_amount`: 文字数量(none/少量/中量/大量/极多) - `text_layer_need`: 分层需求(yes/no) - `text_surcharge`: 文字加价金额 - `layer_surcharge`: 分层加价金额 ### 2. AI 客服话术 文件:`/root/ai_customer_service/ai_cs/core/pydantic_ai_agent.py` **报价说明**: - 自动显示文字加价 - 自动显示分层加价 - 特殊价格自动调整到 60-80 元范围 --- ## 📝 配置说明 ### 价格配置 修改 `/root/ai_customer_service/ai_cs/image/image_analyzer.py` 中的价格规则: ```python # 文字数量加价 text_surcharge = 0 if text_amount == "少量 (1-10 字)": text_surcharge = 5 elif text_amount == "中量 (11-50 字)": text_surcharge = 15 elif text_amount == "大量 (51-200 字)": text_surcharge = 30 elif text_amount == "极多 (200 字以上)": text_surcharge = 50 # 分层加价 if text_layer_need == "yes": layer_surcharge = max(50, price_suggest) # 特殊价格:60-80 元 if text_amount in ["大量", "极多"] and text_layer_need == "yes": price_suggest = max(60, min(80, price_suggest)) ``` --- ## 📊 价格计算流程 ``` 客户发送图片 ↓ AI 分析图片 ↓ ┌───────────────────────┐ │ 1. 判断基础复杂度 │ │ simple/normal/ │ │ complex/hard │ └───────────┬───────────┘ ↓ ┌───────────────────────┐ │ 2. 检测文字数量 │ │ none/少量/中量/ │ │ 大量/极多 │ └───────────┬───────────┘ ↓ ┌───────────────────────┐ │ 3. 询问分层需求 │ │ yes/no │ └───────────┬───────────┘ ↓ ┌───────────────────────┐ │ 4. 计算总价 │ │ 基础 + 文字 + 分层 │ └───────────┬───────────┘ ↓ ┌───────────────────────┐ │ 5. 特殊价格处理 │ │ 60-80 元范围 │ └───────────┬───────────┘ ↓ 报价给客户 ``` --- ## ⚠️ 注意事项 1. **文字数量检测**:通过视觉 AI 自动识别 2. **分层需求**:需要询问客户或从对话中识别 3. **价格上限**:文字分层 + 大量文字最高 80 元 4. **价格下限**:文字分层 + 大量文字最低 60 元 5. **价格取整**:最终价格必须是 5 的倍数 --- **文档版本**: v1.0 **更新日期**: 2026-02-27