Python中用GPT类Transformer模型做文本生成,核心在于理解输入控制、解码策略与模型行为的耦合关系;关键参数包括temperature(0.5–0.7适合中文)、top_k/top_p、repetition_penalty(>1.0抑重复)、max_new_tokens必设,配合prompt约束与后处理可提升稳定性。
Python中用GPT类Transformer模型做文本生成,核心不在调包,而在理解输
入控制、解码策略与模型行为的耦合关系。真正影响生成质量的,往往是temperature、top_k、repetition_penalty这些参数的组合方式,而不是模型结构本身。
使用Hugging Face Transformers库是最直接的方式。推荐优先选用facebook/opt-1.3b、mistralai/Mistral-7B-v0.1或Qwen/Qwen2-1.5B这类开源可本地运行的模型——它们在消费级显卡(如RTX 4090)上也能高效推理。
AutoTokenizer.from_pretrained()自动匹配分词器,不要手动指定tokenizer_classdevice_map="auto"和torch_dtype=torch.bfloat16,兼顾速度与显存占用生成不是“扔进去就出结果”,而是通过参数引导模型在确定性与创造性之间找平衡。
单纯靠模型默认行为很难稳定产出合格文本。需结合prompt设计与轻量后处理。
text.strip().split('\n')[0]取首行作为标题候选num_return_sequences=3,再用简单规则(如长度、标点完整性、关键词覆盖率)挑最优一条,比单次调用更可靠不想依赖API?也不必强求全精度运行。以下方法可显著降低门槛:
bitsandbytes加载4-bit量化模型:load_in_4bit=True,1.5B模型可在12GB显存跑起来llama.cpp或mlc-llm将模型转成GGUF格式,在Mac M2/M3或普通CPU上也能跑推理(速度慢但可用)