from peft import PeftModelfrom transformers import AutoModelForCausalLM, AutoTokenizerimport torch base = "Qwen/Qwen2.5-7B-Instruct"adapter = "wc8084/cnc-qwen2.5-7b-lora" tokenizer = AutoTokenizer.from_pretrained(base, trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained( base, trust_remote_code=True, device_map="auto", torch_dtype=torch.bfloat16,)model = PeftModel.from_pretrained(model, adapter)model.eval() prompt = """请根据以下机床故障信息进行诊断分析,给出可能原因、排查步骤和处理建议。 机床系统:FANUC CNC报警代码:PS300故障现象:ILLEGAL""" messages = [{"role": "user", "content": prompt}]text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)inputs = tokenizer(text, return_tensors="pt").to(model.device) out = model.generate(**inputs, max_new_tokens=768, temperature=0.3, top_p=0.7)print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)) 推理示例输入:机床系统:FANUC CNC报警代码:PS300故障现象:ILLEGAL 输出(节选):【可能原因】1. 报警含义:ILLEGAL2. COMMAND IN SCALING — scaling 过程中指定了非法 G 代码 【排查步骤】1. 在 FANUC 诊断界面确认报警号 PS3002. 记录报警发生时的程序段与操作模式... 【处理建议】1. 修改程序中的 scaling 相关 G 代码2. 修复后执行 RESET 复位... 效果参考模式 三段式格式通过率 备注仅 LoRA~33%Siemens 较好,FANUC 偶发重复生成RAG + LoRA~67%检索手册后输出更稳定配合 ChromaDB + bge-small-zh-v1.5 检索 FANUC/Siemens 报警手册,FANUC 类问题改善明显。 文件说明文件 说明adapter_model.safetensorsLoRA 权重(~77 MB)adapter_config.jsonLoRA 配置tokenizer.json分词器(与基座一致)chat_template.jinjaQwen 对话模板局限与免责声明本模型不能替代机床厂商官方维修手册与持证工程师判断FANUC 部分报警文本来源于公开资料解析,可能存在截断或不完整自我认知建议通过 System Prompt 固定,勿仅依赖微调覆盖基座身份适用于辅助诊断与学习参考,生产环境请结合 RAG 与人工复核引用如在项目或论文中使用,请注明: CNC Fault Diagnosis LoRA (Qwen2.5-7B-Instruct)Author: WChttps://huggingface.co/wc8084/cnc-qwen2.5-7b-loraBase model: Qwen/Qwen2.5-7B-InstructLicenseMIT