使用离线大模型对文本生成摘要

📅 2026/7/9 7:55:30
使用离线大模型对文本生成摘要
离线大模型的种类国内常用的离线大模型有阿里Qwen、智谱GLM、深度求索DeepSeek、百度文心等等以千问的文本大模型为例又有Qwen1.5-1.8B-Chat和Qwen1.5-0.5B-Chat两种。Qwen1.5是一系列不同大小的解码器语言模型包括基础语言模型及其对齐的聊天模型。它基于Transformer架构使用SwiGLU激活函数、注意力QKV偏置、组查询注意力、滑动窗口注意力与全注意力混合等技术。此外Qwen1.5还提供了改进后适应多种自然语言和代码的分词器。其中Qwen1.5-1.8B-Chat的模型页面为 https://modelscope.cn/models/Qwen/Qwen1.5-1.8B-Chat 名称中的1.8B指的是18亿参数1.8 Billion模型文件大小为3.69GB。Qwen1.5-0.5B-Chat的模型页面为 https://modelscope.cn/models/Qwen/Qwen1.5-0.5B-Chat 名称中的0.5B指的是5亿参数0.5 Billion模型文件大小为1.25GB。对于大模型来说参数的数量就是模型的“脑子大小”越多越好。参数越大比如1.8B大模型越聪明、懂的多、逻辑好、写文章 / 推理更强缺点是占内存 / 硬盘更大、对电脑配置要求更高、跑得慢。参数越小比如0.5B大模型越傻瓜复杂推理、写长文不行只能日常聊天、简单问答优点是占用空间小、手机 / 低配电脑都能离线跑、速度飞快。本教程涉及到的代码使用场合推荐使用Qwen1.5-1.8B-Chat因为0.5B的大模型往往给不出令人满意的回答。二、下载离线大模型在下载离线大模型前要先在命令行执行下面的pip安装命令pip install modelscope接着命令行通过cd命令进入Python工程的所在目录再执行下面的模型下载命令modelscope download --model Qwen/Qwen1.5-1.8B-Chat --local_dir qwen1.5-1.8b-chat上面下载命令的“--model”参数表示离线大模型为“Qwen/Qwen1.5-1.8B-Chat”而“--local_dir”参数表示离线大模型的本地保存目录。注意Qwen1.5-1.8B-Chat的总大小为3.69GB下载过程较耗时请耐心等待。下载完毕即可在Python工程的目录下方找到qwen1.5-1.8b-chat文件夹里面保存的便是Qwen1.5-1.8B-Chat的具体模型文件。三、使用离线大模型输出摘要接下来演示如何使用Qwen1.5-1.8B-Chat对一段文本生成摘要。在编写Python代码前要先在命令行执行下面的pip安装命令pip install transformers然后编写下面的Python摘要测试代码from transformers import AutoTokenizer, AutoModelForCausalLM model_path ./qwen1.5-1.8b-chat # 离线大模型的本地保存目录 def local_model_summary(text: str, max_new_tokens256) - str: 加载本地离线模型 Qwen1.5-1.8B-Chat 做摘要 【无需联网、无需下载、纯本地运行】 # 加载本地分词器 本地模型完全离线 tokenizer AutoTokenizer.from_pretrained( model_path, trust_remote_codeTrue # Qwen 必须加这个 ) model AutoModelForCausalLM.from_pretrained( model_path, trust_remote_codeTrue, # Qwen 必须加这个 dtypeauto, device_mapauto ).eval() # 构造 Qwen1.5 官方对话格式 messages [ {role: system, content: 请对用户输入的内容做精简摘要摘要文字压缩在50字以内}, {role: user, content: text} ] # 官方模板构造 text_input tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue ) inputs tokenizer( [text_input], return_tensorspt, truncationTrue ).to(model.device) # 离线生成摘要 outputs model.generate( **inputs, max_new_tokensmax_new_tokens, # 返回文本最多占用多少Token temperature0.3, top_p0.7, do_sampleTrue, pad_token_idtokenizer.eos_token_id ) # 提取摘要结果 response outputs[0][len(inputs[input_ids][0]):] summary tokenizer.decode(response, skip_special_tokensTrue) return summary.strip() if __name__ __main__: content 火山方舟是火山引擎推出的大模型平台提供模型训练、推理、评测、精调等全方位功能与服务。 平台支持多种主流大模型接入具有稳定可靠、安全互信的特点。 企业可以通过火山方舟快速构建自己的AI应用降低开发成本与技术门槛。 print(正在使用【本地离线模型】生成摘要...\n) result local_model_summary(content, max_new_tokens28) print(【离线摘要结果】) print(-, result)