生成式AI在最近几年成为开发热点,Python凭借丰富的生态成为实现文本与图像生成应用的首选语言。本文通过两个实战示例,带你用Python完成基础的文本生成与图像生成任务。

一、环境准备
在开始之前,需要安装以下核心库。建议使用Python 3.10及以上版本,并在独立虚拟环境中操作。
- torch:深度学习基础框架
- transformers:Hugging Face提供的自然语言处理库
- diffusers:Hugging Face提供的扩散模型推理库
- pillow:图像保存与处理库
可通过pip执行安装:
pip install torch transformers diffusers pillow
二、文本生成实战
我们使用 transformers 中的 GPT2 中文小模型完成文本续写。下面代码演示如何加载模型并生成内容。
2.1 基础文本生成代码
from transformers import pipeline
# 加载中文文本生成管道
generator = pipeline('text-generation', model='uer/gpt2-chinese-cluecorpussmall')
# 输入提示词
prompt = '今天天气真好,'
# 生成文本
result = generator(prompt, max_length=50, num_return_sequences=1)
print(result[0]['generated_text'])
上述代码中,pipeline 封装了分词与模型推理过程。max_length 控制输出长度,提示词设计会直接影响生成质量。
三、图像生成实战
图像生成可使用 diffusers 调用 Stable Diffusion 类模型。以下示例根据文本提示生成一张风景图。
3.1 文本到图像代码
from diffusers import StableDiffusionPipeline
import torch
from PIL import Image
# 加载模型,使用半精度加快推理
pipe = StableDiffusionPipeline.from_pretrained('runwayml/stable-diffusion-v1-5')
pipe = pipe.to('cuda' if torch.cuda.is_available() else 'cpu')
# 文本提示
prompt = 'a quiet lake surrounded by mountains, sunset'
# 生成图像
image = pipe(prompt, num_inference_steps=30).images[0]
# 保存结果
image.save('output.png')
如果无GPU,可将 to('cpu') 保留,但推理速度较慢。num_inference_steps 越大图像细节通常越好,但耗时增加。
四、参数与提示词优化
无论是文本还是图像生成,提示词都极为关键。文本生成中可加入领域关键词,图像生成中可描述风格、光线与构图。常见可调参数如下:
| 任务类型 | 参数 | 作用 |
|---|---|---|
| 文本生成 | temperature | 控制随机性,值越高越发散 |
| 图像生成 | guidance_scale | 提示词服从度,值高更贴近描述 |
五、小结
通过 transformers 与 diffusers,Python开发者能以少量代码实现生成式AI应用。实际项目中可替换更大模型、加入批量处理与后端服务,逐步构建完整产品。