一、下载大模型

1、模型选择

选轻量的模型。这个模型3G多。

主页:https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B/tree/main

2、下载的主要步骤:

sudo apt update

sudo apt install git-lfs

git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

git clone https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B //国内镜像

参考资料:官方向导

二、准备运行环境

1、准备python环境

创建虚拟环境(不管什么操作系统使用虚拟环境让你减少不少麻烦,Ubuntu不让直接pip install,我采用uv创建虚拟环境)

(1)安装uv

uv安装文档:Installation | uv

也可拷贝二进制到path路径:下载地址:https://github.com/astral-sh/uv

(2)创建venv环境:

uv venv --python 3.13 //python版本太新会导致框架不支持

(3)安装完激活环境

source .venv/bin/activate

2、安装vllm

uv pip install vllm

参考资料:官方向导

三、运行大模型

1、启动命令

直接指定模型路径,而不是指定模型名称模型让它自动下载。

vllm serve ./DeepSeek-R1-Distill-Qwen-1.5B --gpu-memory-utilization 0.8 --dtype float16 --max-model-len 61024 --compilation-config '{"level":0}'

--gpu-memory-utilization 0.8 :使用80%的显存。其他程序也使用了一些。

--dtype float16: 辅助降低显存使用量

--max-model-len 61024 降低模型提供的最大序列长度,减少显存需求

--compilation-config '{"level":0} 解决我机器的一个问题:vLLM试图使用PyTorch的Inductor编译器进行模型编译优化,而该过程需要调用NVIDIA CUDA编译器nvcc,但当前用户没有执行权限。

  • --compilation-config level=0或 VLLM_COMPILATION_BACKEND=None会禁用PyTorch的编译优化,从而避免调用nvcc

  • 这会略微降低推理性能,但能解决权限问题

  • 如果您需要最佳性能,可以为用户添加nvcc的执行权限。

即使本模型已经很小了,但对显存的需求还是超过了一般笔记本的配置。所以精心调整了参数。

参考资料:官方向导

同上一章节

四、使用大模型

1、请求:

curl -X POST "http://localhost:8000/v1/chat/completions"        -H "Content-Type: application/json"     --data '{
                "model": "./DeepSeek-R1-Distill-Qwen-1.5B",
                "messages": [
                        {
                                "role": "user",
                                "content": "法国的首都?"
                        }
                ]
        }'

2、响应:

{
    "id": "chatcmpl-cd20dadfa15a4ed383f6cb40a3d0f042", 
    "object": "chat.completion", 
    "created": 1760337107, 
    "model": "./DeepSeek-R1-Distill-Qwen-1.5B", 
    "choices": [
        {
            "index": 0, 
            "message": {
                "role": "assistant", 
                "content": "嗯,我现在要找一个法国首都的名字。首先,我应该回想一下法国有哪些著名的城市。法国的首都通常比较特别,所以得仔细想一想。\n\n法国的首都是巴黎,这个我知道。那还有其他城市吗?比如,我好像听说过巴黎的邻居,比如卢日尼,但是卢日尼不是首都,它是一个小城市,属于法国的东部。那么,除了卢日尼,还有其他首都吗?\n\n让我想想,法国的首都还包括巴黎、里尔、里昂、巴黎圣母院区等等。不过,我是不是记错了?比如,里尔是不是首都?不,里尔是一个小城市,属于法国的中部。那巴黎圣母院区是不是首都?不对,巴黎圣母院区是法国的著名旅游景点,而不是首都。\n\n那还有其他可能性吗?比如,巴黎的其他地区,比如卢日尼,但卢日尼也不是首都。那法国的首都有没有其他名字?比如,巴黎是不是唯一的首都?我记得法国只有巴黎一个首都,其他都是小城或镇。所以,我是不是需要确认一下?\n\n或者,是不是有其他地方的首都,比如法国内拼的其他地方,比如卢日尼是不是法国的首都?不,卢日尼是法国东部的一个城市,属于卢日尼共和国,而不是法国首都。法国首都只能是巴黎。\n\n所以,总结一下,法国只有一个首都,就是巴黎。其他地方都是小城或镇,没有其他的首都。\n</think>\n\n法国只有一个首都,是巴黎。其他地方如卢日尼虽然属于法国东部,但并非法国首都。法国的首都只有巴黎,其他地方都是小城市或镇。", 
                "refusal": null, 
                "annotations": null, 
                "audio": null, 
                "function_call": null, 
                "tool_calls": [ ], 
                "reasoning_content": null
            }, 
            "logprobs": null, 
            "finish_reason": "stop", 
            "stop_reason": null, 
            "token_ids": null
        }
    ], 
    "service_tier": null, 
    "system_fingerprint": null, 
    "usage": {
        "prompt_tokens": 9, 
        "total_tokens": 356, 
        "completion_tokens": 347, 
        "prompt_tokens_details": null
    }, 
    "prompt_logprobs": null, 
    "prompt_token_ids": null, 
    "kv_transfer_params": null
}

参考资料:官方向导

同上一章节

五、回顾资源使用量

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐