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

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

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

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

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

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

2026/7/19 18:31:08 阅读更多 →

最新新闻

互联网大厂常见Java面试题及答案汇总(2026持续更新)

互联网大厂常见Java面试题及答案汇总(2026持续更新)

金九银十即将来袭,又是一个跳槽的好季节,准备跳槽的同学都摩拳擦掌准备大面好几场,今天为大家准备了互联网面试必备的 1 到 5 年 Java 面试者都需要掌握的面试题,分别 JVM,并发编程,MySQL,Tomca…

2026/7/20 0:15:40 阅读更多 →
ngx_output_chain_get_buf

ngx_output_chain_get_buf

1 定义 ngx_output_chain_get_buf 函数 定义在 src/core/ngx_output_chain.cstatic ngx_int_t ngx_output_chain_get_buf(ngx_output_chain_ctx_t *ctx, off_t bsize) {size_t size;ngx_buf_t *b, *in;ngx_uint_t recycled;in ctx->in->buf;size ctx->buf…

2026/7/20 0:13:39 阅读更多 →
python数据可视化技巧的100个练习 -- 31. 类别数据的点图

python数据可视化技巧的100个练习 -- 31. 类别数据的点图

重要性★★★☆☆ 难度★★☆☆☆ 你是一家零售公司的数据分析师。你的经理要求你可视化最近产品发布的客户满意度评级分布。评级是分类的,范围从“非常不满意”到“非常满意”。创建一个点图以显示每个评级类别的频率。使用 Python 进行数据处理和可视化。在代码中生成输入…

2026/7/20 0:12:39 阅读更多 →
智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

在2026世界人工智能大会(WAIC 2026)举办期间,千里科技董事长、阶跃星辰董事长印奇作为特邀嘉宾出席大会开幕式并在大会主论坛(上午场)发表主题演讲《当智能体进入物理世界》。在印奇看来,"智能体"…

2026/7/20 0:12:39 阅读更多 →
商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

7月18日,在WAIC 2026商汤科技 “基座大模型架构创新与生态合作论坛”上,商汤科技联合创始人、大装置事业群总裁杨帆发表《智变共生——加速AI基础设施持续升级》主题演讲,系统呈现了商汤大装置国产AI基础设施“技术-生态-商业”闭环布局&…

2026/7/20 0:12:39 阅读更多 →
2026年具身智能领域代表性机器人产品观察:普渡一脑多形底座与实景落地解析

2026年具身智能领域代表性机器人产品观察:普渡一脑多形底座与实景落地解析

前言2026年被行业视为具身智能从"实验室炫技"走向"规模化量产"的关键拐点。据弗若斯特沙利文《全球商用服务机器人市场研究报告》,普渡科技以23%市占率位居全球商用服务机器人第一,业务覆盖85+个国家和地区,累…

2026/7/20 0:11:39 阅读更多 →

日新闻

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

7月18日智东西消息,在2026 WAIC期间,努比亚联合字节豆包打造的二代“豆包手机”努比亚NaviX Ultra首次亮相,相比一代有诸多升级。智能体手机理念中兴通讯终端事业部总裁、努比亚总裁倪飞表示,智能体手机要从人操作手机变为手机帮人…

2026/7/20 0:00:34 阅读更多 →
努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra:外观与功能双升级在2026 WAIC期间,首次亮相的努比亚NaviX Ultra吸引了众多目光。它是努比亚联合字节豆包打造的二代“豆包手机”,与一代努比亚M153相比,外观设计变化较大。其机身背部搭载横向排布的大尺寸影像模…

2026/7/20 0:00:34 阅读更多 →
C# 将逗号分割的字符串转换为long,并添加到List<long>

C# 将逗号分割的字符串转换为long,并添加到List<long>

目录 方法1:使用Split和Convert.ToInt64 方法2:使用LINQ的Select和ToList 方法3:使用TryParse进行异常安全转换(推荐) 如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天…

2026/7/20 0:00:34 阅读更多 →

周新闻

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

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

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

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

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

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

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

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

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

2026/7/19 0:00:40 阅读更多 →

月新闻