|
| 1 | +# 智能门店巡检系统 |
| 2 | + |
| 3 | +基于AgentKit的智能门店巡检助手,专门用于门店质量检测:招牌LED发光状态检测、洗手池整洁检测、货架陈列检测、工服穿着检测。系统能够自动识别异常情况,实现门店运营的标准化管理。 |
| 4 | + |
| 5 | +## 概述 |
| 6 | + |
| 7 | +本项目构建了一个AI驱动的门店质量检测解决方案,通过计算机视觉和人工智能技术,实现对门店各项设施状态的自动化巡检。系统能够智能识别招牌LED发光状态、洗手池整洁度、货架陈列规范等关键指标,并在发现异常时及时上报,帮助门店管理者快速响应和处理问题。 |
| 8 | + |
| 9 | +## 核心功能 |
| 10 | + |
| 11 | +### 🔍 智能图像处理与分析 |
| 12 | + |
| 13 | +- **精准目标检测**:自动识别门店招牌区域,智能框选完整招牌范围 |
| 14 | +- **智能图像剪裁**:自动提取招牌主体,去除无关背景干扰 |
| 15 | +- **文字智能识别**:准确检测招牌中的中英文文字 |
| 16 | +- **多模态图像理解**:通过视觉大模型深度理解图像内容,识别LED发光异常、货架/洗手池整洁度等问题 |
| 17 | + |
| 18 | +### 🤖 多智能体协同架构 |
| 19 | + |
| 20 | +- **Multi-Agent架构**:采用多智能体协同工作模式,自主判断最优任务执行流程 |
| 21 | +- **专业分工协作**:图像处理、异常分析各司其职,提升检测效率 |
| 22 | +- **端到端自动化**:从图像采集到告警通知的全流程自动化处理 |
| 23 | + |
| 24 | +## Agent 能力 |
| 25 | + |
| 26 | +主要的火山引擎产品或 Agent 组件: |
| 27 | + |
| 28 | +- 豆包大模型: |
| 29 | + - doubao-seed-1.6-vision |
| 30 | + - doubao-seed-1-6-251015 |
| 31 | +- 自定义工具 |
| 32 | +- Identity |
| 33 | +- APMPlus |
| 34 | + |
| 35 | +## 目录结构说明 |
| 36 | + |
| 37 | +```bash |
| 38 | +. |
| 39 | +├── Dockerfile |
| 40 | +├── README.md |
| 41 | +├── __init__.py |
| 42 | +├── agent.py # Agent应用入口 |
| 43 | +├── agent.yaml # Agent配置文件(定义智能体核心特性、行为规则) |
| 44 | +├── requirements.txt |
| 45 | +└── tools # 自定义工具 |
| 46 | + ├── __init__.py |
| 47 | + ├── image # 图片识别、图片检测工具 |
| 48 | + │ ├── __init__.py |
| 49 | + │ ├── attire_inspection.py # 工人着装检查工具 |
| 50 | + │ ├── image_cropper.py # 图片裁剪工具 |
| 51 | + │ ├── image_editor.py # 图片标识画框工具 |
| 52 | + │ ├── shelf_inspection.py # 货架检测工具 |
| 53 | + │ ├── signboard_inspection.py # 门店招牌检测工具 |
| 54 | + │ └── sink_inspection.py # 水池检测工具 |
| 55 | + ├── model_auth.py # 方舟大模型API_KEY置换工具 |
| 56 | + └── tos_upload.py # 火山TOS文件上传工具 |
| 57 | +``` |
| 58 | + |
| 59 | +## 快速开始 |
| 60 | + |
| 61 | +### 前置条件 |
| 62 | + |
| 63 | +**Python 版本:** |
| 64 | + |
| 65 | +- Python 3.12 或更高版本 |
| 66 | + |
| 67 | +**火山引擎访问凭证:** |
| 68 | + |
| 69 | +1. 登录 [火山引擎控制台](https://console.volcengine.com) |
| 70 | +2. 进入"访问控制" → "用户" -> 新建用户 或 搜索已有用户名 -> 点击用户名进入"用户详情" -> 进入"密钥" -> 新建密钥 或 复制已有的 AK/SK |
| 71 | + - 如下图所示 |
| 72 | +  |
| 73 | +3. 为用户配置 AgentKit运行所依赖服务的访问权限: |
| 74 | + - 在"用户详情"页面 -> 进入"权限" -> 点击"添加权限",将以下策略授权给用户 |
| 75 | + - `AgentKitFullAccess`(AgentKit 全量权限) |
| 76 | + - `APMPlusServerFullAccess`(APMPlus 全量权限) |
| 77 | +4. 为用户获取火山方舟模型 Agent API Key |
| 78 | + - 登陆[火山方舟控制台](https://console.volcengine.com/ark/region:ark+cn-beijing/overview?briefPage=0&briefType=introduce&type=new) |
| 79 | + - 进入"API Key管理" -> 创建 或 复制已有的 API Key,后续 `MODEL_AGENT_API_KEY`环境变量需要配置为该值 |
| 80 | + - 如下图所示 |
| 81 | +  |
| 82 | +5. 开通模型预置推理接入点 |
| 83 | + - 登陆[火山方舟控制台](https://console.volcengine.com/ark/region:ark+cn-beijing/overview?briefPage=0&briefType=introduce&type=new) |
| 84 | + - 进入"开通管理" -> "语言模型" -> 找到相应模型 -> 点击"开通服务" |
| 85 | + - 确认开通,等待服务生效(通常1-2分钟) |
| 86 | + - 开通本案例中使用到的以下模型(您也可以根据实际需求开通其他模型的预置推理接入点,并在 `agent.py`代码中指定使用的模型) |
| 87 | + - `deepseek-v3-1-terminus` |
| 88 | + - `doubao-seed-1-6-vision-250815` |
| 89 | + - `doubao-seed-1-6-251015` |
| 90 | + - 如下图所示 |
| 91 | +  |
| 92 | + |
| 93 | +### 安装依赖 |
| 94 | + |
| 95 | +```bash |
| 96 | +pip install -r requirements.txt |
| 97 | +``` |
| 98 | + |
| 99 | +### 配置环境变量 |
| 100 | + |
| 101 | +设置以下环境变量: |
| 102 | + |
| 103 | +```bash |
| 104 | +# 火山引擎AK/SK |
| 105 | +export VOLCENGINE_ACCESS_KEY=AK |
| 106 | +export VOLCENGINE_SECRET_KEY=SK |
| 107 | +# TOS桶名称 |
| 108 | +export DATABASE_TOS_BUCKET=agentkit-platform-{{your_account_id}} |
| 109 | +# 大模型API_KEY (可选) |
| 110 | +export MODEL_AGENT_API_KEY=<your_ark_api_key> |
| 111 | +``` |
| 112 | + |
| 113 | +## 本地运行 |
| 114 | + |
| 115 | +使用 `veadk web` 进行本地调试: |
| 116 | + |
| 117 | +```bash |
| 118 | +# 1. 进入上级目录 |
| 119 | +cd 02-use-cases |
| 120 | + |
| 121 | +# 2. 可选: 创建 .env 文件 (如果已设置环境变量可跳过) |
| 122 | +touch .env |
| 123 | +echo "VOLCENGINE_ACCESS_KEY=AK" >> .env |
| 124 | +echo "VOLCENGINE_SECRET_KEY=SK" >> .env |
| 125 | +# 设置 TOS 存储桶用于上传检测过程的结果文件 |
| 126 | +echo "DATABASE_TOS_BUCKET=agentkit-platform-{{your_account_id}}" >> .env |
| 127 | + |
| 128 | +# 3. 启动 Web 界面 |
| 129 | +veadk web |
| 130 | +``` |
| 131 | + |
| 132 | +服务默认运行在 8000 端口。访问 `http://127.0.0.1:8000`,选择 `inspection_assistant` 智能体,在输入面板中开始测试。 |
| 133 | + |
| 134 | +### 示例提示词 |
| 135 | + |
| 136 | +```text |
| 137 | +检查门店招牌的LED发光状态,图片url: https://agentkit-demo.tos-cn-beijing.volces.com/volc_coffe.jpeg |
| 138 | +检查门店的洗手池整洁度,图片url: https://agentkit-demo.tos-cn-beijing.volces.com/20251111-174301.png |
| 139 | +检查门店的的货架陈列,图片url: https://agentkit-demo.tos-cn-beijing.volces.com/20251111-192602.jpeg |
| 140 | +检查门店的工人着装,图片url: https://agentkit-demo.tos-cn-beijing.volces.com/20251112-102002.jpeg |
| 141 | +``` |
| 142 | + |
| 143 | +## AgentKit 部署 |
| 144 | + |
| 145 | +1. 部署到火山引擎 AgentKit Runtime: |
| 146 | + |
| 147 | +```bash |
| 148 | +# 1. 进入项目目录 |
| 149 | +cd 02-use-cases/inspection_assistant |
| 150 | + |
| 151 | +# 2. 配置 agentkit |
| 152 | +agentkit config \ |
| 153 | +--agent_name inspection_assistant \ |
| 154 | +--entry_point 'agent.py' \ |
| 155 | +--runtime_envs DATABASE_TOS_BUCKET=agentkit-platform-{{your_account_id}} \ |
| 156 | +--launch_type cloud |
| 157 | + |
| 158 | +# 3. 部署到运行时 |
| 159 | +agentkit launch |
| 160 | +``` |
| 161 | + |
| 162 | +### 测试已部署的智能体 |
| 163 | + |
| 164 | +部署成功后: |
| 165 | + |
| 166 | +1. 访问 [火山引擎 AgentKit 控制台](https://console.volcengine.com/agentkit/region:agentkit+cn-beijing/runtime) |
| 167 | +2. 点击 **Runtime** 查看已部署的智能体 `inspection_assistant` |
| 168 | +3. 获取公网访问域名 (例如: `https://xxxxx.apigateway-cn-beijing.volceapi.com`) 和 API Key |
| 169 | + |
| 170 | +#### **基于chatui调试** |
| 171 | + |
| 172 | +Agentkit的智能体列表页面提供了调试入口,点击之后即可以UI可视化的方式调试智能体功能 |
| 173 | + |
| 174 | + |
| 175 | + |
| 176 | +#### **基于命令行调试** |
| 177 | + |
| 178 | +可以直接使用agentkit invoke发起对当前智能体的调试,命令如下 |
| 179 | + |
| 180 | +```bash |
| 181 | +agentkit invoke '{"prompt": "检查门店招牌的LED发光状态,图片url: https://agentkit-demo.tos-cn-beijing.volces.com/volc_coffe.jpeg"}' |
| 182 | +``` |
| 183 | + |
| 184 | +## 效果展示 |
| 185 | + |
| 186 | +智能门店巡检效果展示。 |
| 187 | + |
| 188 | +## 常见问题 |
| 189 | + |
| 190 | +## 最佳实践 |
| 191 | + |
| 192 | +- **图像质量要求**:确保上传的门店图像清晰、光线充足,以获得最佳的检测效果 |
| 193 | +- **监控与维护**:建立完善的监控机制,确保系统稳定运行 |
| 194 | + |
| 195 | +## 🔗 相关资源 |
| 196 | + |
| 197 | +- [AgentKit 官方文档](https://www.volcengine.com/docs/86681/1844878?lang=zh) |
| 198 | +- [TOS 对象存储](https://www.volcengine.com/product/TOS) |
| 199 | +- [AgentKit 控制台](https://console.volcengine.com/agentkit/region:agentkit+cn-beijing/overview?projectName=default) |
| 200 | +- [火山方舟控制台](https://console.volcengine.com/ark/region:ark+cn-beijing/overview?briefPage=0&briefType=introduce&type=new) |
| 201 | + |
| 202 | +## 代码许可 |
| 203 | + |
| 204 | +本工程遵循 Apache 2.0 License |
| 205 | + |
| 206 | +## 技术支持 |
| 207 | + |
| 208 | +如需技术支持或有任何疑问,请参考AgentKit官方文档或联系火山引擎技术支持团队。 |
0 commit comments