Gemma 4 看图写故事:3 步生成精彩短篇

你 5 岁的女儿画了一只长着翅膀的猫,举着蜡笔对你说:“爸爸,它叫什么名字?在哪儿生活?” 你愣了一下。你不是编不出故事,而是想给她一个更精彩、更连贯的版本,而不是“从前有只猫,飞走了,完了”。

这种时刻,你需要的不是大模型列表和复杂配置,而是一个能看图编故事的 AI,恰好——Google 刚开源的 Gemma 4 就是为此而生的。

下面我用 15 分钟,带你跑通一次“从涂鸦到短篇故事”的完整过程。你不需要懂深度学习,只要能复制几行代码,就能让 AI 给你家小朋友的每一张画配上一个专属童话。


1. 它为什么懂图

Gemma 4 是一种多模态语言模型(image-text-to-text),你可以把它想象成一个会仔细看画的作家。它先像人一样扫描整个画面——猫的翅膀颜色、背景的太阳、孩子的笔触——然后把这些视觉信号转译成文字故事。之前的模型也能看图说话,但往往只给一段客观描述,而 Gemma 4 更擅长在理解图像后创造性地展开叙事,这正是“写故事”场景下的巨大进步。

我们选的是 google/gemma-4-E4B-it,一个约 4B 参数、精炼过的版本,普通显卡就能跑,不需要抢 A100。它既能看图,也能理解文字的“风格指令”。


2. 三步上手:从图片到睡前故事

第一步:把“笔和纸”准备好

你需要 Python 3.10 以上环境,然后安装三个库:

pip install transformers torch pillow accelerate

安装很快,30 秒以内。
接着需要去 Hugging Face 接受许可协议(这是 Google 模型的安全要求),并登录你的账号:

huggingface-cli login

粘贴你的 Hugging Face Token(在 huggingface.co/settings/tokens 创建),等它显示 Login successful 就完成了前置工作。


第二步:加载“作家大脑”

下面代码会下载并初始化模型。第一次运行需下载约 8GB 文件,之后便缓存下来。

import torch
from transformers import Gemma4ForConditionalGeneration, Gemma4Processor

model_id = "google/gemma-4-E4B-it"

model = Gemma4ForConditionalGeneration.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)
processor = Gemma4Processor.from_pretrained(model_id)

如果你的显卡不到 8GB 显存,可以在 from_pretrained 里加上 load_in_4bit=True,用量化压缩模型,肉眼几乎看不出故事质量下降,类似把高清图存成 JPG。


第三步:给图,收故事

准备好一张图片(手绘、照片、海报都行),我们给模型发请求时会带上两个要素:图片和创作指令。指令里可以指定故事类型、主角性格甚至暗黑/温馨基调。

from PIL import Image

image = Image.open("child_drawing.png")  # 换成你的图片路径

prompt = "Write a short magical bedtime story for a 5-year-old, \
based on the image. Give the characters names, describe \
where they live, and end with a happy moment."

inputs = processor(
    images=image,
    text=prompt,
    return_tensors="pt"
).to(model.device)

generated_ids = model.generate(**inputs, max_new_tokens=512)
story = processor.decode(generated_ids[0], skip_special_tokens=True)

print(story)

对那张“翅膀猫”的画,我得到的开篇是这样的:

“Once upon a time, in a land called Featherfield, lived a tiny cat named Clover. She wasn’t like other cats—she had two feathery wings the color of sunset …”

结尾是 Clover 用翅膀带着蒲公英种子飞到云朵上,蜷在一朵月亮花里睡着了。念给女儿听时,她的眼睛亮得像发现了宝藏。


3. 这件事意味着什么

过去“给孩子编故事”需要家长的灵感、绘本的辅助,现在你把纸上的涂鸦即时转化为千人千面的叙事,而且故事质量稳定、角色一致。更关键的是,整个过程完全本地运行(除了首次下载模型),你给孩子画的东西,不会上传到任何云端服务——隐私和安全都握在自己手里。

成本上,一块 RTX 3060(12GB 显存)就能流畅跑 E4B-it 版本,生成一个 500 字的故事大约 8 秒。如果你手头只有 CPU,也可以跑量化的 Gemma-4-31B-it GGUF 版本,时间会慢一些,但完全免费。


如果要继续深入,试一下把同一个故事指令里的“magical”改成“sci-fi”,看看 Clover 穿上太空服的样子——你会开始理解,这个“作家”的可塑性远比想象中大。


皖ICP备2025105865号-2|皖公网安备34010402704739号