DeepSeek模型Linux部署

一、部署Ollama并调用

1. 安装Ollama

# 使用官方脚本安装
curl -fsSL https://ollama.com/install.sh | sh
# 启动服务(部分系统可能需要手动启动)
systemctl start ollama
    

2. 下载并运行模型

# 例如下载llama2模型
ollama run llama2
# 或者下载mistral模型
ollama run mistral
    

3. 验证Ollama运行

访问 http://localhost:11434,若返回Ollama相关信息则表示服务正常。
    

二、部署DeepSeek

1. 安装依赖

# 安装Python和pip
sudo apt update
sudo apt install python3 python3-pip
# 安装PyTorch(根据CUDA版本选择)
pip3 install torch torchvision torchaudio
# 安装Hugging Face库
pip3 install transformers huggingface_hub
    

2. 下载DeepSeek模型

# 使用Hugging Face CLI登录(需账号)
huggingface-cli login
# 下载模型(假设模型为deepseek-ai/deepseek-r1)
git lfs install
git clone https://huggingface.co/deepseek-ai/deepseek-r1
    

3. 创建FastAPI服务

创建 app.py:

from fastapi import FastAPI
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

app = FastAPI()
tokenizer = AutoTokenizer.from_pretrained("/path/to/deepseek-r1")
model = AutoModelForCausalLM.from_pretrained("/path/to/deepseek-r1", torch_dtype=torch.float16)

@app.post("/ask")
async def ask(prompt: str):
    inputs = tokenizer(prompt, return_tensors="pt")
    outputs = model.generate(**inputs, max_new_tokens=50)
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return {"answer": response}
    

4. 启动服务

pip3 install fastapi uvicorn
uvicorn app:app --host 0.0.0.0 --port 8000
    

三、程序调用示例

调用Ollama API(Python)

import requests

def ask_ollama(prompt, model="llama2"):
    response = requests.post(
        "http://localhost:11434/api/generate",
        json={"model": model, "prompt": prompt, "stream": False}
    )
    return response.json()["response"]

answer = ask_ollama("为什么天空是蓝色的?")
print(answer)
    

调用DeepSeek API(Python)

import requests

def ask_deepseek(prompt):
    response = requests.post(
        "http://localhost:8000/ask",
        json={"prompt": prompt}
    )
    return response.json()["answer"]

answer = ask_deepseek("为什么天空是蓝色的?")
print(answer)
    

四、注意事项