在linux上本地大模型部署与推理

流程是:安装推理服务 -> 运行模型 -> 配置网络 -> 修改代码连接

第一步:通过SSH连接到您的Linux服务器

首先,您需要使用SSH客户端(如PuTTY, Windows Terminal,vscode)连接到远程服务器:

ssh your_username@your_server_ip

第二步:检查服务器环境(特别是GPU)

这是在服务器上部署的关键一步。推理服务的选择和性能很大程度上取决于服务器是否配备了NVIDIA GPU。

在服务器终端中运行以下命令:

nvidia-smi
  • 如果成功显示GPU信息 (如Tesla T4, A100, RTX 3090等),恭喜您!您可以使用GPU进行高速推理,推荐使用Ollama或更专业的vLLM。
  • 如果提示 command not found 或报错,说明服务器上可能没有NVIDIA GPU或驱动未正确安装。您仍然可以在CPU上运行模型,但速度会慢很多。Ollama同样支持CPU模式。

第三步:选择并安装推理服务 (Linux命令行版)

在Linux服务器上,我们完全通过命令行操作。

选项A:Ollama (依然是首选,最简单快捷)

Ollama对Linux服务器的支持非常好,安装和管理都极为方便。

  1. 一键安装Ollama:
    在您的服务器终端中,执行官方安装脚本:

    curl -fsSL https://ollama.com/install.sh | sh
    

    这个命令会自动下载并把Ollama安装为一个系统服务(systemd service),这意味着它会开机自启,非常省心。

  2. 下载并运行模型:
    和本地一样,使用 ollama run 命令。例如,运行Qwen 7B模型:

    ollama run qwen:7b
    

    Ollama会自动检测服务器上的GPU并优先使用它。下载完成后,模型服务就已经在后台运行了。

  3. 验证服务状态:
    您可以随时检查Ollama服务的运行状态:

    sudo systemctl status ollama
    

    如果看到 active (running),就表示服务正常。服务默认监听 127.0.0.1:11434 地址。

选项B:vLLM (进阶选择,追求极致性能)

如果您的服务器有强大的NVIDIA GPU,并且您对性能有更高的要求(例如需要高吞吐量),vLLM是更好的选择。

  1. 安装vLLM:
    确保您的服务器上有Python和pip。

    pip install vllm
    
  2. 启动OpenAI兼容的API服务器:
    使用一行命令即可启动,vLLM会自动从Hugging Face下载模型。

    # 示例:使用Qwen1.5-7B-Chat模型
    python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen1.5-7B-Chat --host 0.0.0.0
    
    • --model Qwen/Qwen1.5-7B-Chat: 指定了Hugging Face上的模型ID。
    • --host 0.0.0.0: 非常重要,这让服务监听服务器的所有网络接口,而不仅仅是本地localhost,以便我们从外部访问。
    • vLLM默认的服务端口是 8000

第四步:网络配置 - 如何从外部连接到服务

这是与本地部署最大的不同。您的Python脚本(客户端)可能在您的个人电脑上,而模型服务(服务器)在远程Linux服务器上。您需要一种方法来安全地连接它们。

场景1:您的Python脚本也在这台Linux服务器上运行

这是最简单的情况。您的代码和模型服务在同一台机器上,可以直接使用 localhost 连接。

  • Ollama的base_url: "http://localhost:11434/v1"
  • vLLM的base_url: "http://localhost:8000/v1"
场景2:您的Python脚本在本地电脑,连接远程服务器上的模型服务

您有两种主流的连接方式:

方式一:SSH端口转发 (最安全、最推荐)

这种方式无需向公网暴露服务器端口,而是通过加密的SSH通道将服务器的端口“映射”到您的本地电脑上。

  1. 在您的本地电脑上,打开一个新的终端窗口(不是连接到服务器的那个),执行以下命令:

    # 将服务器的11434端口映射到你本地的11434端口
    ssh -L 11434:localhost:11434 your_username@your_server_ip
    
    • -L 11434:localhost:11434 的意思是:Listen on local port 11434 and forward traffic to localhost:11434 on the remote server.
    • 保持这个终端窗口打开,它维持着转发通道。
  2. 修改您的Python代码:
    现在,您的代码就像连接本地服务一样,base_url直接写 localhost 即可。

    client = OpenAI(
        base_url=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

frostmelody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值