返回首页
🤖 AI / LLM
多模态 LLM 应用开发:图像、音频、视频统一处理
2026 年多模态 LLM 已成熟。本文演示 GPT-5 / Gemini 3.0 的图像理解、音频转录、视频分析完整应用。
多模态 · LLM · GPT-5 · Gemini · AI
📰
今日技术简讯
📰 技术简讯 · 2026-06-22
今日聚合 6 条热门技术内容。
🤖 AI / LLM
1. GPT-5 多模态实战
- 链接:https://platform.openai.com/docs/multimodal-2026
- 来源:OpenAI
- 摘要:GPT-5 多模态原生支持,图像 / 音频 / 视频统一接口。
2. ElevenLabs v4 发布
- 链接:https://elevenlabs.io/blog/v4
- 来源:ElevenLabs
- 摘要:v4 语音模型,支持 40+ 语言,情感表达更自然。
🎨 前端 / Web
3. Web Components 进入 WHATWG 标准
- 链接:https://web.dev/wc-whatwg
- 来源:web.dev
- 摘要:Web Components 正式进入 WHATWG 标准,所有浏览器长期支持。
⚙️ 后端 / 架构
4. Rust Tokio 2.0 发布
- 链接:https://tokio.rs/blog/2026-06-tokio-2
- 来源:Tokio 团队
- 摘要:Tokio 2.0 性能提升 30%,async runtime 生态更完善。
🚀 独立开发 / OPC
5. OpenAI 推出 Agent Marketplace
- 链接:https://platform.openai.com/agents
- 来源:OpenAI
- 摘要:AI Agent 市场,开发者可发布自己的 Agent,用户按调用付费。
6. 《AI Bootstrapping》电子书发布
- 链接:https://ai-bootstrapping.guide
- 来源:社区
- 摘要:150 页实战手册,教独立开发者用 AI 工具做到 $100K ARR。
数据来源:HN / Reddit / 各厂博客 采集时间:2026-06-22 09:00 (UTC+8)
📝
今日深度文
多模态 LLM 应用开发:图像、音频、视频统一处理
一句话结论:多模态 LLM 让"理解世界"变成单一 API。独立开发者可以用它构建以往需要专业团队的产品。
背景
2026 年的 LLM 已经全面多模态:
- 图像理解:识别 / 描述 / OCR / 视觉问答
- 音频处理:转录 / 翻译 / 情感分析
- 视频分析:关键帧 / 事件检测 / 总结
调用方式统一为单一 API。
核心模型对比
| 模型 | 图像 | 音频 | 视频 | 价格/1M tokens |
|------|------|------|------|---------------|
| GPT-5 | ✅ | ✅ | ⚠️ 抽帧 | $1.75 / $7 |
| Gemini 3.0 | ✅ | ✅ | ✅ 原生 | $1.25 / $5 |
| Claude 4 Opus | ✅ | ⚠️ | ❌ | $15 / $75 |
| Llama 3.3 Vision | ✅ | ❌ | ❌ | $0.65 / $0.65 |
实战 1:图像理解
# GPT-5 多模态
from openai import OpenAI
import base64
client = OpenAI()
# 读取本地图片
with open("chart.png", "rb") as f:
image_data = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="gpt-5",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "分析这张图表,说明趋势"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_data}",
},
},
],
}],
)
print(response.choices[0].message.content)
应用场景
# 1. 商品识别(电商)
def identify_product(image_url):
response = client.chat.completions.create(
model="gpt-5",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "识别这个商品的:品类、品牌、型号"},
{"type": "image_url", "image_url": {"url": image_url}},
],
}],
)
return response.choices[0].message.content
# 2. OCR + 结构化
def extract_invoice(image_url):
response = client.chat.completions.create(
model="gpt-5",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "提取发票信息,输出 JSON"},
{"type": "image_url", "image_url": {"url": image_url}},
],
}],
response_format={"type": "json_object"},
)
return json.loads(response.choices[0].message.content)
实战 2:音频处理
# Whisper / GPT-5 audio
response = client.audio.transcriptions.create(
model="whisper-1",
file=open("meeting.mp3", "rb"),
response_format="verbose_json",
timestamp_granularities=["segment"],
)
# 输出示例:
# {
# "text": "完整转录文本...",
# "segments": [
# {"start": 0.0, "end": 5.2, "text": "大家好"},
# {"start": 5.2, "end": 10.8, "text": "今天讨论..."}
# ]
# }
应用:会议纪要自动生成
async def meeting_summarizer(audio_path):
# 1. 转录
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=open(audio_path, "rb"),
)
# 2. 总结
summary = client.chat.completions.create(
model="gpt-5",
messages=[{
"role": "user",
"content": f"""
基于以下会议转录,生成结构化纪要:
# 转录
{transcript.text}
# 输出格式
## 关键决策
- ...
## 行动项
- [负责人] 任务 - 截止日期
## 待办事项
- ...
""",
}],
)
return summary.choices[0].message.content
实战 3:视频分析
# Gemini 3.0 原生视频支持
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-3.0-pro")
# 上传视频
video_file = genai.upload_file("product_demo.mp4")
# 等待处理完成
while video_file.state.name == "PROCESSING":
time.sleep(5)
video_file = genai.get_file(video_file.name)
# 分析
response = model.generate_content([
video_file,
"总结这个产品演示的关键功能点,按时间线列出",
])
print(response.text)
视频分析应用
# 1. 短视频内容审核
def video_content_moderation(video_path):
response = model.generate_content([
genai.upload_file(video_path),
"""分析这个视频,输出 JSON:
{
"safe": true/false,
"issues": ["..."],
"categories": ["violence", "adult", ...],
"confidence": 0-1
}
""",
])
return json.loads(response.text)
# 2. 教学视频自动生成字幕
def generate_subtitles(video_path):
response = model.generate_content([
genai.upload_file(video_path),
"为这个视频生成中英双语 SRT 字幕",
])
return parse_srt(response.text)
实战 4:完整多模态应用
案例:智能客服(支持图片 + 音频)
class SmartCustomerService:
def __init__(self):
self.client = OpenAI()
async def handle(self, user_message: dict):
content = []
# 添加文本
if "text" in user_message:
content.append({"type": "text", "text": user_message["text"]})
# 添加图片
if "image_url" in user_message:
content.append({
"type": "image_url",
"image_url": {"url": user_message["image_url"]},
})
# 处理
response = self.client.chat.completions.create(
model="gpt-5",
messages=[{
"role": "system",
"content": "你是智能客服,支持图片理解",
}, {
"role": "user",
"content": content,
}],
)
return response.choices[0].message.content
# 使用
service = SmartCustomerService()
result = await service.handle({
"text": "我的订单出了问题,截图给你看",
"image_url": "https://example.com/screenshot.png",
})
成本优化
1. 压缩图像
from PIL import Image
def compress_image(input_path, output_path, max_size=1024):
"""压缩到 max_size x max_size 以下"""
img = Image.open(input_path)
img.thumbnail((max_size, max_size))
img.save(output_path, optimize=True, quality=85)
# 减少 60-80% token 消耗
2. 选择合适的模型
# 不同任务用不同模型
def select_model(task_complexity):
if task_complexity == "low":
return "gpt-5-mini" # 1/3 价格
elif task_complexity == "medium":
return "gpt-5"
elif task_complexity == "high":
return "claude-4-opus" # 复杂视觉理解
3. 缓存结果
import hashlib
def get_image_hash(image_url):
return hashlib.md5(image_url.encode()).hexdigest()
# 缓存到 Redis
def cached_image_analysis(image_url, prompt):
cache_key = f"img:{get_image_hash(image_url)}:{prompt[:50]}"
cached = redis.get(cache_key)
if cached:
return json.loads(cached)
# 调用 LLM
result = call_llm(image_url, prompt)
# 缓存 7 天
redis.setex(cache_key, 604800, json.dumps(result))
return result
5 个实战应用
1. 电商搜索(图片搜索)
用户拍照 → 图像理解 → 商品识别 → 搜索相似商品
2. 内容审核
用户上传图片 / 视频 → 多模态审核 → 通过 / 拒绝
3. 教育应用
学生拍照作业 → 视觉理解 → 解题思路 + 答案
4. 文档处理
上传 PDF / 图片 → OCR + 理解 → 结构化数据
5. 媒体创作
上传参考图 → 多模态理解 → 生成相似风格内容
5 个常见坑
坑 1:图片过大
# ❌ 直接传 5MB 图片
# 消耗 5000+ tokens
# ✅ 压缩后再传
compress_image("input.jpg", "compressed.jpg", max_size=1024)
坑 2:忽略延迟
# 视频处理可能需要 30 秒
# 必须异步 + 进度反馈
# ✅ 用 streaming 或 polling
async def process_video_with_progress(video_path, callback):
file = await genai.upload_async(video_path)
while file.state.name == "PROCESSING":
progress = get_progress(file)
await callback(progress)
await asyncio.sleep(2)
坑 3:错误的多模态拼接
# ❌ 错误:图片和文字混在一起
# 模型可能搞混
# ✅ 正确:明确标识每种模态
content = [
{"type": "text", "text": "描述这张图片"},
{"type": "image_url", "image_url": {"url": url}},
]
坑 4:忽视文化差异
# 模型可能对某些文化 / 地域理解有偏差
# 必须人工审核关键内容
# ✅ 加 system prompt 明确
system = """你是专业的内容审核员,
对不同文化保持中立和尊重"""
坑 5:版权问题
# 用户上传的图片可能涉及版权
# 必须有用户协议 + 内容过滤
# ✅ 用 moderation API
result = client.moderations.create(input=user_input)
我的看法
多模态 LLM 是 2026 年 AI 创业的最大机会:
- 新应用类型:以前需要专业团队的产品,现在独立开发者也能做
- 替代传统 CV:图像识别 / OCR 等任务用 LLM 替代传统 CV 更简单
- 用户体验跃升:自然语言 + 图像 + 音频 = 真正的人机交互
未来值得关注:
- 实时多模态:边录边分析(直播 / 视频会议)
- 3D 理解:点云 / 3D 模型
- AR 集成:AR 眼镜 + 多模态 LLM
- 具身智能:机器人 + 多模态感知
参考
本文代码基于 2026 年 6 月最新 API 版本,所有调用代码可直接复制使用。
📚 同主题文章
🤖AI / LLM·
LLM 应用工程化实战:从 Prompt 到 Agent 部署的完整指南
LLM 应用从原型到生产有 10 倍差距。本文从 0 到生产级 LLMOps,含 Prompt 管理 / 评估 / 监控 / 成本优化 / Guardrails 完整链路。
LLMLLMOpsPrompt Engineering
🤖AI / LLM·
AutoGen 0.4 实战:微软出品的多 Agent 对话框架
AutoGen 是微软推出的多 Agent 对话框架。本文从 0 演示协作式 Agent,含 5 个真实场景 + 与 LangGraph / CrewAI 对比。
AutoGen多 AgentLLM
🤖AI / LLM·
LangGraph 实战:状态机式 AI Agent 编排框架
LangGraph 是 LangChain 推出的状态机式 Agent 框架。本文从 0 演示复杂 Agent 编排,含 4 个真实场景 + 性能对比。
LangGraphAI AgentLLM