技术路线
技术路线|Gemma 4 如何生成无障碍证据
从现场照片到结构化报告,BarrierLens 通过 Gemma 4 多模态理解、结构化 JSON 输出、本机归档和可选公开案例池,完成无障碍问题的记录、反馈与复查闭环。
项目定位:基于 Gemma 4 的公共空间无障碍通行风险识别与证据生成工具 · GitHub 仓库
01
技术总览
用户上传盲道、坡道、出入口等现场照片后,前端将图片和地点信息提交到 /api/analyze。后端优先调用 Gemma 4 推理链路,生成问题类型、风险等级、影响人群、责任归口、整改建议等结构化 JSON。结果进入报告页面,可保存到本机,也可在用户主动确认后公开为案例。
02
核心数据流
从左到右(手机自上而下):现场输入 → Gemma 4 结构化分析 → 本机归档与可选公开、复查闭环。
03
Gemma 4 调用链路
#tool 工作台
AnalysisWorkflow · 图片 + 地点 FormData
POST /api/analyze
统一分析入口 · 返回 analysisSource + model
src/app/api/analyze/route.tssrc/lib/gemma.ts
Google REST generateContent · gemma-4-26b-a4b-it
src/lib/gemma.ts复现与演示分支
ollama.ts · mockAnalysis.ts(非 Production 主路径)
src/lib/ollama.tssrc/lib/mockAnalysis.tsAnalysisResult JSON
风险 · 障碍 · 建议 · 复查状态
src/types/analysis.ts04
结果来源标记 analysisSource
| 值 | 类型 | 含义 |
|---|---|---|
gemma | 真实推理 | 真实 Gemma 4 推理(Google API) |
nvidia_nim | NVIDIA NIM 托管 Gemma 4(自拍/upload) | |
ollama | 本地复现 | 本地 Gemma / Ollama 推理 |
mock | 演示数据 | 演示数据 |
mock_fallback | 降级演示 | 模型失败后的降级演示,不代表真实模型能力 |
我们不会把 mock 或 mock_fallback 包装成真实 Gemma 结果。
05
存储与隐私设计
localStorage 本机归档
Supabase 公开案例(用户确认)
公开位置模糊 · Key 不入库
- 登录不是必需;云端同步失败不影响本机主流程。
06
部署与复现
- MODEL_PROVENANCE.md — 模型来源与未微调声明
- LOCAL_REPRODUCE.md — 本地复现方式
- GEMMA4_DEPLOYMENT.md — Vercel 部署与环境变量
- TECHNICAL_REPORT.md — 完整技术报告
07
评委快速验证
打开 正式 Demo
上传现场照片或选择样例图
点击「生成报告」(读屏标签为「生成分析」)
在结果页查看 analysisSource 是否为 gemma;可在浏览器 Network 面板查看 /api/analyze 响应进一步核对