【部署glm4】属性找不到、参数错误问题解决(思路:修改模型包版本)

前言:在部署glm时,遇到了一些属性找不到、参数错误的问题,通常遇到这种问题都是因为模型包版本问题导致的,要注意模型版本是否可用。

【运行官方vllm_cli_demo.py】报错

GLM-4: rank0: Traceback (most recent call last):
rank0: File "/app/glm4/code/GLM-4-main/basic_demo/vllm_cli_demo_self.py", line 176, in
rank0: asyncio.run(chat())
rank0: File "/opt/conda/envs/chatglm4/lib/python3.9/asyncio/runners.py", line 44, in run
rank0: return loop.run_until_complete(main)
rank0: File "/opt/conda/envs/chatglm4/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
rank0: return future.result()
rank0: File "/app/glm4/code/GLM-4-main/basic_demo/vllm_cli_demo_self.py", line 169, in chat
rank0: async for output in vllm_gen(LORA_PATH, enable_lora, messages, top_p, temperature, max_length):
rank0: File "/app/glm4/code/GLM-4-main/basic_demo/vllm_cli_demo_self.py", line 100, in vllm_gen
rank0: inputs = tokenizer.apply_chat_template(
rank0: AttributeError: 'tuple' object has no attribute 'apply_chat_template'

目前该问题并没有解决,但是猜测是因为vllm版本需要为0.6.4,但是目前找不到这个版本,因此只能用)0.6.3.post1替代,猜测大概率是因为版本问题导致找不到apply_chat_template 属性。由于vllm包较大,测试可用版本比较麻烦。
因此,目前可以暂时用tansformers代替vllm!!!

【运行官方trans_cli_demo.py】报错

Traceback (most recent call last):
File "/app/glm4/code/GLM-4-main/basic_demo/trans_cli_demo.py", line 64, in
model_inputs = tokenizer.apply_chat_template(
File "/root/.cache/huggingface/modules/transformers_modules/glm4-models/tokenization_chatglm.py", line 220, in apply_chat_template
output = self.batch_encode_plus(
File "/opt/conda/envs/chatglm4/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 3311, in batch_encode_plus
return self._batch_encode_plus(
File "/opt/conda/envs/chatglm4/lib/python3.9/site-packages/transformers/tokenization_utils.py", line 892, in _batch_encode_plus
batch_outputs = self._batch_prepare_for_model(
File "/opt/conda/envs/chatglm4/lib/python3.9/site-packages/transformers/tokenization_utils.py", line 970, in _batch_prepare_for_model
batch_outputs = self.pad(
File "/opt/conda/envs/chatglm4/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 3527, in pad
outputs = self._pad(
TypeError: _pad() got an unexpected keyword argument 'padding_side'

具体可以参考这篇博客:
GLM-4V-9B TypeError: ChatGLMTokenizer._pad() got an unexpected keyword argument 'padding_side'
我的解决方法是将transformers版本降为4.44.0

最终运行截图如下:

相关推荐
weixin_468466857 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
朋友圈自动点赞工具7 小时前
科学AI插件化:从蛋白质结构到古籍修复
人工智能
龙粤GEO7 小时前
实体Entity在GEO中代表什么含义
人工智能
前端精髓8 小时前
结构化输出with_structured_output(抽卡)
python·langchain
尹人入圣8 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
剑雨巍巍8 小时前
AI Agent面试之基础概念
人工智能
微帧Visionular9 小时前
AI视频单帧清晰,播放时却闪烁,原因是什么?
人工智能·深度学习·音视频
武子康9 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
云智慧AIOps社区9 小时前
智能巡检机器人应用场景解析:机房巡检、园区安防、管廊巡视与展厅导览
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·机房巡检机器人·导览机器人
EnCi Zheng9 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用