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/10/9 1:38:08 阅读更多 →
5分钟找回QQ空间消失的记忆:GetQzonehistory数据恢复终极指南

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

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

2026/10/13 14:12:44 阅读更多 →
AI 普及靠的不是有钱:Anthropic 加拿大报告揭示‘能力—产业匹配’才是关键

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

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

2026/10/14 0:41:37 阅读更多 →

最新新闻

SpringBoot+Vue医院预约挂号系统设计与优化

SpringBoot+Vue医院预约挂号系统设计与优化

1. 项目概述:现代化医疗预约解决方案这个基于SpringBootVue的医院预约挂号系统,是我去年为某三甲医院信息化改造设计的核心模块。传统医疗机构的预约挂号流程普遍存在页面卡顿、数据不同步、操作繁琐等问题,而采用前后端分离架构后&#xff0…

2026/10/15 10:39:41 阅读更多 →
微信小游戏是什么?运行原理与开发入门全解析

微信小游戏是什么?运行原理与开发入门全解析

做前端时间长了,总有人问我:微信小游戏到底是个什么东西?能像网页一样不用下载就玩,又能做出挺复杂的游戏,还能在朋友圈里被疯转。说实话,我一开始也绕了不少弯路,总觉得它像小程序,…

2026/10/15 10:39:41 阅读更多 →
超帧在SLAM中的作用:从关键帧组织到局部优化的全面解析

超帧在SLAM中的作用:从关键帧组织到局部优化的全面解析

1. 为什么我会盯上 Hyperframes 这个概念做了这么多年SLAM相关的工作,我逐渐意识到一个残酷的事实:绝大多数做视觉SLAM的人,对关键帧的认知停留在“选一帧长得不一样的图”这个层面,更别说超帧(Hyperframes&#xff09…

2026/10/15 10:39:41 阅读更多 →
D-S证据理论:用不确定性推理解决急诊分诊与医疗AI评估难题

D-S证据理论:用不确定性推理解决急诊分诊与医疗AI评估难题

急诊分诊这件事,表面上是个分诊护士按个红黄绿标签的过程,实际上是个高压、高噪声、高代价的决策现场。病患到急诊的那一刻,能采集到的信息往往是零散的:病人自己的口述、家属慌张的补充、监护仪上跳动的几个数字、既往病历里一段…

2026/10/15 10:39:41 阅读更多 →
superpowers安装全攻略:从环境准备到排错重装的一条龙实操

superpowers安装全攻略:从环境准备到排错重装的一条龙实操

“superpowers”这个词最近在我几个技术交流群里出现的频率高得离谱,不少人在问“想要安装superpowers”,还有人把它列进新机器必备清单。我最初以为是什么夸张的营销宣传,直到自己在全新的机器上完整走了一遍安装、配置、排错的全流程&#…

2026/10/15 10:39:41 阅读更多 →
学Simulink——储能变流器(PCS)中 PWM 整流器的恒流充放电(CC Charge / CC Discharge)仿真

学Simulink——储能变流器(PCS)中 PWM 整流器的恒流充放电(CC Charge / CC Discharge)仿真

目录 手把手教你学Simulink——储能变流器(PCS)中 PWM 整流器的恒流充放电(CC Charge / CC Discharge)仿真 一、为什么储能 PCS 要做 恒流(CC)充放电双向 PWM 整流器 二、PCS 双向控制与 CC 模式原理** 2.1 功率平衡估算(用于 idref​折算) 2.2 模式定义 三、关键…

2026/10/15 10:38:32 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →