1. 大模型上层应用开发的基本流程
本文从实战角度出发,开发一个大模型的上层应用,用于广告文案设计。
1.1 步骤及代码
- 1)引入加载模块
# 用于加载大模型 from transformers import AutoModelForCausalLM # 大模型 # 用于加载分词器 from transformers import AutoTokenizer # 分词器 # 框架 import torch # 设备环境 device = "cuda" if torch.cuda.is_available() else "cpu" # 判断是否GPU,否则CPU model_dir = 'qwen2-0.5b-instruct' # 指定大模型当前路径
- 2)加载分词器
tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path=model_dir)
- 3)加载模型
# 加载模型 “from_pretrained“方法加载模型,而不是通过创建实例的方法 model = AutoModelForCausalLM.from_pretrained( pretrained_model_name_or_path=model_dir, torch_dtype="auto", device_map=device )
- 4)整理提示词
- 组织提示词,此步是决定大模型输出内容的重要一步;
- 提示词/提问的内容格式,赋值一个变量
- 提示词内容是关于产品宣传要求及关键词
- 按照大模型训练SFT阶段的输入语料格式,赋值一个message
- 通过分词器,按照模板生成输入语料,代码如下:
输出# 提问 Prompt prompt = ''' 用户将输入几个产品的关键词,请根据关键词生成一段适合老年市场的营销文案,要求:成熟,稳重,符合老年市场的特色。 用户输入为:助听器,清晰,方便,便宜,聆听世界。 营销文案是: ''' # 通过变量prompt,合并系统消息和用户提示词 messages = [ { "role": "system", "content": "你是一个创意营销文案生成专家!"}, { "role": "user", "content": prompt} ] # 将上述消息合并称为一个模板 text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True )
text
:<|im_start|>system 你是一个创意营销文案生成专家!