跳转至

多模态AI教程

概述

多模态AI是能够处理多种类型数据(文本、图像、音频、视频)的人工智能,是AI发展的重要方向。

什么是多模态

# 数据模态

文本(Text):自然语言
图像(Image):图片、图表
音频(Audio):语音、音乐
视频(Video):动态画面

# 多模态AI

能够同时理解/生成多种模态数据的AI系统

主流多模态模型

GPT-5.5(2026年最新)

# GPT-5.5能力

- 文本理解/生成
- 图像理解与生成(Images 2.0)
- 语音对话
- 105万token上下文

# 特点
- Terminal-Bench 82.7%编码第一
- 图像生成质量最强
- 性价比最高

Claude Opus 4.7(2026年最新)

# Claude Opus 4.7能力

- 文本处理(200K上下文)
- 图像理解
- 代码生成(SWE-Bench 80.8%)
- Agent能力最强

# 特点
- 编程能力业界领先
- 安全性高
- 中文写作最佳

Gemini 3.1 Pro(2026年最新)

# Gemini 3.1 Pro能力

- 文本、图像、音频、视频理解
- 多模态推理
- 长上下文(200万token)

# 特点
- 上下文窗口最大
- 原生多模态支持
- Google生态整合

开源多模态模型

模型 公司 特点
LLaVA 开源 图文理解
Qwen-VL 阿里 中文优化
InternVL 上海AI Lab 图文视频

图像理解

使用GPT-5.5分析图像

from openai import OpenAI
import base64

client = OpenAI(api_key="your-api-key")

# 从URL分析图像
response = client.chat.completions.create(
    model="gpt-5.5",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "请描述这张图片的内容"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/image.jpg"}
                }
            ]
        }
    ]
)

print(response.choices[0].message.content)

本地图像分析

import base64

# 读取本地图像
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

base64_image = encode_image("image.jpg")

response = client.chat.completions.create(
    model="gpt-5.5",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "这张图片里有什么?"},
                {
                    "type": "image_url",
                    "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}
                }
            ]
        }
    ]
)

使用开源模型

from transformers import pipeline

# 使用LLaVA
pipe = pipeline("image-to-text", model="llava-hf/llava-1.5-7b-hf")

result = pipe("image.jpg", prompt="请描述这张图片")
print(result[0]['generated_text'])

图像生成

DALL-E

response = client.images.generate(
    model="dall-e-3",
    prompt="一只可爱的猫咪在太空漫步,科幻风格",
    size="1024x1024",
    quality="standard",
    n=1
)

image_url = response.data[0].url

Stable Diffusion

from diffusers import StableDiffusionPipeline
import torch

# 加载模型
pipe = StableDiffusionPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5",
    torch_dtype=torch.float16
)
pipe = pipe.to("cuda")

# 生成图像
image = pipe("A beautiful sunset over the ocean").images[0]
image.save("sunset.png")

Midjourney

# 使用方式

1. Discord机器人
2. /imagine命令
3. 输入提示词

# 示例
/imagine a cyberpunk city, neon lights, rainy night --ar 16:9

语音处理

语音转文字(Whisper)

import whisper

# 加载模型
model = whisper.load_model("base")

# 转录音频
result = model.transcribe("audio.mp3")
print(result["text"])

文字转语音

from gtts import gTTS

# 生成语音
tts = gTTS(text="你好,欢迎使用AI助手", lang='zh')
tts.save("output.mp3")

语音对话

# GPT-5.5语音对话

1. 实时语音输入
2. 理解语音内容
3. 生成语音回复
4. 支持情感表达

视频理解

视频内容分析

# 提取视频关键帧
import cv2

def extract_frames(video_path, interval=30):
    cap = cv2.VideoCapture(video_path)
    frames = []
    count = 0

    while cap.isOpened():
        ret, frame = cap.read()
        if not ret:
            break
        if count % interval == 0:
            frames.append(frame)
        count += 1

    cap.release()
    return frames

# 分析关键帧
frames = extract_frames("video.mp4")
# 使用GPT-5.5分析每帧

视频生成

# Sora(OpenAI)

- 文本生成视频
- 最长60秒
- 高质量输出

# Pika

- 文本/图像生成视频
- 免费可用
- 简单易用

# Runway

- 专业视频生成
- 多种风格
- API可用

多模态应用

文档理解

# PDF/文档分析
def analyze_document(file_path):
    # 提取文本和图像
    # 使用多模态模型理解
    # 返回结构化结果
    pass

# 示例:发票识别
response = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "请提取这张发票的所有信息"},
            {"type": "image_url", "image_url": {"url": "invoice.jpg"}}
        ]
    }]
)

电商应用

# 应用场景

1. 商品图像搜索
   - 以图搜图
   - 相似商品推荐

2. 商品描述生成
   - 图像生成文案
   - 多语言描述

3. 质量检测
   - 产品缺陷识别
   - 自动分类

医疗影像

# 应用场景

1. 影像诊断
   - X光、CT、MRI分析
   - 病灶检测

2. 病历理解
   - 多模态病历分析
   - 辅助诊断

3. 医学问答
   - 影像解读
   - 报告生成

实战示例:图文问答系统

from openai import OpenAI
import gradio as gr

client = OpenAI(api_key="your-api-key")

def analyze_image(image, question):
    # 转换图像为base64
    import base64
    from io import BytesIO

    buffered = BytesIO()
    image.save(buffered, format="JPEG")
    img_str = base64.b64encode(buffered.getvalue()).decode()

    response = client.chat.completions.create(
        model="gpt-5.5",
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": question},
                    {
                        "type": "image_url",
                        "image_url": {"url": f"data:image/jpeg;base64,{img_str}"}
                    }
                ]
            }
        ]
    )

    return response.choices[0].message.content

# 创建界面
demo = gr.Interface(
    fn=analyze_image,
    inputs=[
        gr.Image(type="pil"),
        gr.Textbox(label="问题")
    ],
    outputs=gr.Textbox(label="回答"),
    title="图文问答系统"
)

demo.launch()

未来趋势

# 多模态AI发展方向

1. 原生多模态
   - 统一架构处理所有模态
   - 模态间无缝转换

2. 实时多模态
   - 实时视频理解
   - 实时语音对话

3. 具身智能
   - 机器人+多模态
   - 物理世界交互

下一步学习

  1. 大语言模型原理 - 理解基础原理
  2. 计算机视觉 - 图像处理深入
  3. 自然语言处理 - 文本处理深入