实战:多模态 AI 应用开发 (卡路里计算器)
以前做“拍照识物”需要训练复杂的卷积神经网络(CNN),现在有了多模态大模型,你只需要写一句 Prompt。
5分钟
2025-12-26
实战项目教程实战:多模态
实战:多模态 AI 应用开发 (卡路里计算器)
以前做“拍照识物”需要训练复杂的卷积神经网络(CNN),现在有了多模态大模型,你只需要写一句 Prompt。
本教程带你做一个**“拍照测热量”**的小程序。
1. 原理
用户上传食物照片 -> GPT-4o / Claude 3.5 Sonnet -> 识别食物 -> 估算重量 -> 查询热量库 -> JSON 返回
2. 核心 Prompt
Prompt 是这个项目的灵魂。不要只让它“看图”,要让它按格式输出。
你是一个专业的营养师。请分析这张图片中的食物。
请按照以下 JSON 格式输出结果,不要输出任何 Markdown 标记:
{
"food_name": "食物名称",
"ingredients": ["主要配料1", "主要配料2"],
"estimated_weight_g": "预估重量(克)",
"calories": "预估总热量(kcal)",
"nutrients": {
"protein": "蛋白质(g)",
"fat": "脂肪(g)",
"carbs": "碳水(g)"
},
"health_tips": "一句话健康建议"
}
3. 代码实现 (伪代码)
def analyze_food_image(image_path):
base64_image = encode_image(image_path)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "请分析这张图(附带上面的Prompt)"},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}
]
}
],
response_format={"type": "json_object"} # 强制输出 JSON
)
return json.loads(response.choices[0].message.content)
4. 更多创意场景
- AI 验房师:拍一张房间照片,识别墙皮脱落、插座位置是否合理。
- 作业批改:拍一张数学卷子,AI 识别题目和手写答案,判断对错。
- 穿搭顾问:拍一下今天的衣服,让 AI 推荐搭配鞋子。
多模态 API 极大地降低了计算机视觉(CV)应用的门槛,现在想象力才是你的唯一限制。