CSDN 完整博文:本地 Qwen2.5 大模型实现电影评论情感分类(原生 transformers 最简代码)
目录一、项目前言二、环境依赖安装三、完整原生代码和需求完全一致四、代码逐段详细解析1. 模型与分词器加载2. 提示词工程核心分类逻辑3. 文本编码 tokenizer4. 模型推理 generate 生成5. 解码与结果截取五、运行示例演示输入控制台打印流程六、高频踩坑问题解决问题 1路径报错 HFValidationError: Repo id must use alphanumeric chars问题 2模型输出大量多余文字只想要单一结果问题 3CPU 运行速度极慢问题 4模型文件夹缺失文件报错七、拓展优化方向八、总结一、项目前言很多新手想上手本地开源大模型做文本分类任务但是不知道如何离线加载本地权重、如何通过提示词工程完成分类。本文使用阿里开源轻量模型 Qwen2.5-0.5B-Instruct仅依靠transformers库不需要微调、不需要训练数据集一行输入即可完成电影评论情感三分类正面、负面、中立代码极简、适合新手入门本地 LLM 推理流程。二、环境依赖安装先安装运行所需第三方库终端执行pip install torch transformerstorch深度学习张量计算框架transformersHuggingFace 官方库用于加载本地大模型、分词、推理生成这里是在modelscope平台下载的Qwen2.5-1.5B-Instruct模型三、完整原生代码和需求完全一致from transformers import AutoModelForCausalLM,AutoTokenizer # 本地模型文件夹相对路径 model_namer..\qianwen\Qwen2.5-1.5B-Instruct # 加载预训练大模型 modelAutoModelForCausalLM.from_pretrained(model_name) # 加载对应分词器 tokenizerAutoTokenizer.from_pretrained(model_name) # 提示词模板定义分类任务规则 prompt_template请判断以下文本的情感属于哪个类别:{text}.可选类别有正面、负面、中立。 # 接收用户输入电影评论 input_textinput(请输入电影评价) # 将用户文本填充进提示词模板 prompt_inputprompt_template.format(textinput_text) print(prompt_input:,prompt_input) # 分词编码转为模型可识别张量 inputstokenizer(prompt_input,return_tensorspt) print(inputs:,inputs) # 模型推理生成文本 output_sequencesmodel.generate(inputs.input_ids,max_new_tokens512,attention_maskinputs.attention_mask) print(output_sequences:,output_sequences) # 将数字张量解码为完整文本 generated_texttokenizer.decode(output_sequences[0],skip_special_tokensTrue) print(generated_text) # 截取模型新增回答部分剔除输入prompt textgenerated_text[len(prompt_input):] print(text:,text)四、代码逐段详细解析1. 模型与分词器加载from transformers import AutoModelForCausalLM,AutoTokenizer model_namer..\qianwen\Qwen2.5-1.5B-Instruct modelAutoModelForCausalLM.from_pretrained(model_name) tokenizerAutoTokenizer.from_pretrained(model_name)AutoModelForCausalLM通用因果大模型加载器适配 Qwen、Llama 等生成式 LLMAutoTokenizer自动匹配模型的分词器负责文本与数字 token 相互转换model_name本地模型文件夹路径..\代表向上一级文件夹Windows 原始字符串r避免转义符报错要求文件夹内必须包含config.json、pytorch_model.bin、vocab.json等完整模型权重文件。2. 提示词工程核心分类逻辑prompt_template请判断下面的电影评价属于哪个类别,只告诉我是”正面、负面、中立“中的哪一种只回答两个字电影评价如下{text}. input_textinput(请输入电影评价) prompt_inputprompt_template.format(textinput_text)无需训练依靠自然语言指令约束模型输出分类结果{text}为占位符通过format()填充用户输入的影评文本任务逻辑告诉模型仅从「正面、负面、中立」三选一输出结果。3. 文本编码 tokenizerinputstokenizer(prompt_input,return_tensorspt)大模型无法直接读取文字需要分词转换为数字 IDinput_idsreturn_tensorspt返回 PyTorch 张量格式适配模型输入返回对象包含两个关键参数input_ids文本分词后的数字编码attention_mask掩码1 代表有效文本0 代表填充占位。4. 模型推理 generate 生成output_sequencesmodel.generate(inputs.input_ids,max_new_tokens512,attention_maskinputs.attention_mask)generate()LLM 文本生成核心函数自动续写文本max_new_tokens512限制模型最多生成 512 个词防止无限输出attention_mask传入掩码让模型忽略填充占位符。5. 解码与结果截取generated_texttokenizer.decode(output_sequences[0],skip_special_tokensTrue) textgenerated_text[len(prompt_input):] print(text:,text)decode()将数字 token 还原为可读文本skip_special_tokensTrue过滤eos等模型特殊符号generated_text 原始输入 prompt 模型新增回答textgenerated_text[len(prompt_input):]切片截取只保留模型输出的分类结果。五、运行示例演示输入请输入电影评价这部电影剧情拖沓演员演技很差完全不值得看控制台打印流程打印拼接后的完整 promptprompt_input: 请判断以下文本的情感属于哪个类别:这部电影剧情拖沓演员演技很差完全不值得看.可选类别有正面、负面、中立。打印编码后的张量 inputs打印推理输出 token 序列output_sequences打印完整解码文本请判断以下文本的情感属于哪个类别:这部电影剧情拖沓演员演技很差完全不值得看.可选类别有正面、负面、中立。 该文本情感类别为负面切片后仅输出模型回答text: 该文本情感类别为负面六、拓展优化方向封装 Flask 网页接口前端输入评论实时展示分类结果增加结果清洗逻辑自动提取「正面 / 负面 / 中立」关键词过滤多余描述使用 Qwen 官方对话模板apply_chat_template提升指令跟随准确率增加量化加载load_in_4bitTrue大幅降低内存占用批量读取影评文件批量完成情感分类。七、总结本文使用最原生、无多余封装的 transformers 代码完整演示本地 Qwen2.5 大模型离线推理流程仅依靠提示词工程实现文本情感分类无需数据集、无需微调非常适合新手学习本地 LLM 基础开发流程。代码结构清晰每一步都有打印日志方便调试、理解大模型输入输出完整链路。

相关新闻

终极指南:如何用LLBot构建多协议QQ机器人开发平台

终极指南:如何用LLBot构建多协议QQ机器人开发平台

终极指南:如何用LLBot构建多协议QQ机器人开发平台 【免费下载链接】LuckyLilliaBot 支持 OneBot 11、Satori 和 Milky 协议 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot LLBot是一个功能强大的多协议QQ机器人框架,支持OneBot 11…

2026/7/23 7:19:17 阅读更多 →
5分钟找回QQ空间消失的记忆:GetQzonehistory数据恢复终极指南

5分钟找回QQ空间消失的记忆:GetQzonehistory数据恢复终极指南

5分钟找回QQ空间消失的记忆:GetQzonehistory数据恢复终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾试图找回那些被时间冲淡的QQ空间记忆?那些…

2026/7/23 9:11:54 阅读更多 →
AI 普及靠的不是有钱:Anthropic 加拿大报告揭示‘能力—产业匹配’才是关键

AI 普及靠的不是有钱:Anthropic 加拿大报告揭示‘能力—产业匹配’才是关键

2026 年 7 月 14 日,Anthropic 发布了最新一期区域经济研究:《How Canada uses Claude: Findings from the Anthropic Economic Index》。 最抓眼球的数据是:加拿大只占全球工作年龄人口的一小部分,却贡献了 2.6% 的 Claude.ai 全…

2026/7/22 21:28:02 阅读更多 →

最新新闻

Linux进程控制:从基础概念到高级实践

Linux进程控制:从基础概念到高级实践

1. 进程控制基础概念 在Linux系统中,进程控制是系统管理的核心技能之一。作为一个长期使用Linux的老用户,我发现很多新手对进程的理解还停留在"运行中的程序"这个层面,其实进程控制远不止这么简单。 进程本质上是操作系统进行资源…

2026/7/24 11:19:48 阅读更多 →
Transformer模型中Padding策略对表达能力的影响研究

Transformer模型中Padding策略对表达能力的影响研究

1. 项目背景与研究动机在自然语言处理领域,Transformer架构已经成为事实上的标准模型。然而,关于其理论表达能力的系统性研究仍然存在空白,特别是在考虑实际应用中常见的padding操作时。这项研究旨在精确刻画带有padding机制的Transformer模型…

2026/7/24 11:19:48 阅读更多 →
【资源编号330】FongMi 免费影视Box 影视APP

【资源编号330】FongMi 免费影视Box 影视APP

【资源编号330】FongMi 免费影视Box 影视APP 📝 配置使用教程 安装完软件后直接复制下方配置链接:https://tv.菜妮丝.top 打开APP依次进入「设置」-「点播」页面,将链接填入「使用配置接口」栏确认即可完成配置。📱 手机版 当前版…

2026/7/24 11:19:48 阅读更多 →
TLV320AIC3109-Q1音频编解码器寄存器配置实战指南

TLV320AIC3109-Q1音频编解码器寄存器配置实战指南

1. 项目概述与核心价值音频编解码器,这个在嵌入式音频系统中看似不起眼的小芯片,却往往是决定整个系统音质、功耗和稳定性的“心脏”。无论是车载信息娱乐系统里传来的导航提示音,还是便携式蓝牙音箱播放的音乐,背后都离不开这颗芯…

2026/7/24 11:19:48 阅读更多 →
Vibe Coding 正在退潮:63k 人已偷偷转向 Agentic Engineering

Vibe Coding 正在退潮:63k 人已偷偷转向 Agentic Engineering

一年多前「vibe coding」火的时候,所有人都在晒:对着 AI 说一句「帮我做个 App」,几分钟出一个能跑的版本,爽到飞起。但没过多久,同一批人开始吐槽——代码能跑,但没人敢改;Bug 修一个冒三个&am…

2026/7/24 11:19:48 阅读更多 →
C语言预处理介绍

C语言预处理介绍

预处理的底层含义就是“编译前的源代码重写引擎”。它不分析语法、不分配内存、不生成任何机器码,纯粹是一个文本流转换器——把源文件(.c)和头文件(.h)搅拌成一份巨大的、纯文本的“翻译单元”(Translatio…

2026/7/24 11:18:48 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻