各大文章都在讲如何通过ollama运行DeepSeek R1蒸馏版,我也深以为然,但我一直是通过vllm来运行的,想着都是同样的模型,也就觉得没什么不同了。
可是今晚在测试ollama时,发现不对啊。
服务器上资源有限,我使用了vllm
来运行deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
,经过多次尝试后,context-length
只能达到15,520的数量,在我测试智能体时经常不够用,甚是困扰。
后来查阅ollama上的模型文件deepseek-r1:32b
,发现其contenxt-length
达到13万
,这很可观,因此就想下载试用一下。经过长达一天的龟速下载,终于可以使用了。
可是一运行推理代码,就报错了,根本不输出啊。我这里罗列几个:
SYSTEMP PROMPT:一连串信息,大致意思就是让它生成json格式的指令
USER PROMPT:请分别检索大连海事大学、武汉理工大学、集美大学和上海海事大学近一星期的动态,并形成报告
来看结果:
空白
{}
换学校
{
"id": "search_1",
"task": "使用Google搜索查找四所高校的最新动态或新闻。",
"tool": "google_search_tool",
"params": {
"search_term": "清华大学 北京大学 浙江大学 复旦大学 最新动态 新闻",
"top_k": 20
}
}
直接给你杜撰一段文字
{'<%>': '4', '<^>': '-', '<<4>>': '11'}
使用vllm运行的办法
这个方法其实也比较简单,我比较建议使用docker
来运行。
假设
操作系统: Linux
我是用Linux系统,Windows系统其实也一样的,因为用Docker也就不用太多区分系统了。模型目录: ~/models
前提
安装好 Docker
和nvidia运行时
环境。有 python
运行环境,也就是有pip
或者pip3
命令。
下载模型
我喜欢从modelscope上下载,就在国内,速度也快。
# install modelscope
pip install modelscope
# download model
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-32B README.md --local_dir ~/models/DeepSeek-R1-Distill-Qwen-32B
运行模型
docker run \
--rm -d \
--runtime nvidia \
--gpus all \
-v $(pwd)/models:/models \
-p 8000:8000 \
--ipc=host \
vllm/vllm-openai:latest \
--model /models/DeepSeek-R1-Distill-Qwen-32B \
--served-model-name deepseek-reasoner \
--max-model-len 15520 \
--gpu-memory-utilization 0.9
后面的--max-model-len
可以根据机器情况来定。
前端
前端你用AnythingLLM、Chatbox之类的都可以。
疑惑
同样都是DeepSeek-R1-Distill-Qwen-32B,不知道为什么ollama效果这么差。
还没有评论,来说两句吧...