28 多模态(Multimodal)

多模态(Multimodal)

什么是多模态?

传统 LLM 只能处理文本,多模态模型(Multimodal / Vision Language Model,VLM)能同时理解多种输入类型:

类型 说明 代表模型
文本 + 图像 看图说话、图像分析 LLaVA、Qwen-VL、GPT-4o
文本 + 音频 语音识别 + 对话 Whisper + LLM
文本 + 视频 视频理解 Gemini 1.5

图像如何传给模型?

模型 API 不能直接收文件,图像有两种传递方式:

方式一:URL(模型从网上拉取图像)

复制代码
https://example.com/image.jpg

方式二:Base64(把图片编码成字符串,嵌进请求体)

复制代码
data:image/jpeg;base64,/9j/4AAQSkZJRgABA...
base64 编码
py 复制代码
import base64

with open("image.jpg", "rb") as f:
    data = base64.b64encode(f.read()).decode("utf-8")

url = f"data:image/jpeg;base64,{data}"

LangChain 封装了这两种方式,通过 HumanMessage 的 content 字段传入结构化列表:

py 复制代码
from langchain_core.messages import HumanMessage

message = HumanMessage(content=[
    {"type": "image_url", "image_url": {"url": "https://..."}},
    {"type": "text", "text": "这张图里有什么?"},
])

示例代码

py 复制代码
def ask_vision(llm: ChatOpenAI | ChatOllama, image_url: str, question: str):
    messages = [
        HumanMessage(
            content=[
                {"type": "image_url", "image_url": {"url": image_url}},
                {"type": "text", "text": question},
            ]
        )
    ]
    result = llm.invoke(messages)
    return result.content

def main():
    env = validate_env()
    if not env:
        return
    _, _, _, embedding_api_key, embedding_base_url, _ = env

    local_llm = ChatOllama(model="llava:7b")

    cloud_llm = ChatOpenAI(
        model="Qwen/Qwen3-VL-8B-Instruct",
        api_key=embedding_api_key,
        base_url=embedding_base_url,
    )
    q_arr = ["有什么颜色?", "有几个物体?"]
    for q in q_arr:
        image_url = describe_image(image_path)
        print(ask_vision(cloud_llm, image_url, q))
相关推荐
Geek-Chow2 小时前
02 多模态 LLM 是什么:定义、边界与生态位置
人工智能·大语言模型·多模态
山顶夕景2 天前
【MLLM Agent】多模态理解Agent研究进展
agent·强化学习·多模态·rl·agentic
uncle_ll2 天前
多模态大模型视听生成本地实战
llm·文生图·文生视频·多模态·ollama
XLYcmy4 天前
小红书 算法一面 十二
llm·负载均衡·强化学习·多模态·ppo·dpo·grpo
xiezhr4 天前
期待了很久的DeepSeek多模态视觉模型终于上线了
ai·多模态·ai agent·deepseek·视觉模型·deepseek harness
XLYcmy8 天前
小红书 算法一面 四
深度学习·llm·sft·强化学习·多模态·grpo·奖励函数
虎鲸不是鱼8 天前
【RTX Pro 4500】Qwen3.8 27B NVFP4在LM Studio挂载多模态模型
大模型·多模态·qwen·lm studio·千问
XLYcmy9 天前
小红书 算法一面 三
llm·sft·强化学习·多模态·损失函数·visual r1·奖励机制
XLYcmy10 天前
小红书 算法一面 二
llm·sft·memory·多模态·位置编码·grpo·视觉数据