把DeepSeek部署到Linux服务器上,给自己的网站用,做一个AI在线网站

DeepSeek部署到Linux服务器上,并通过网站提供API服务,可以按照以下步骤进行。本教程假设你已经熟悉Linux基本操作、Python环境配置以及Web开发的基础知识。


1. 环境准备

1.1 服务器要求

  • 操作系统:Ubuntu 20.04/22.04 或其他 Linux 发行版。
  • Python:Python 3.7 或更高版本。
  • 硬件:建议使用 GPU 服务器(如 NVIDIA GPU)以加速推理。

1.2 安装依赖

更新系统并安装必要的工具:

sudo apt update
sudo apt upgrade -y
sudo apt install -y python3-pip python3-venv git curl

1.3 设置 Python 虚拟环境

python3 -m venv deepseek-env
source deepseek-env/bin/activate

2. 获取 DeepSeek 模型

2.1 下载模型

从 DeepSeek 官方仓库或 Hugging Face 下载预训练模型:

git clone https://github.com/deepseek-ai/deepseek-model.git
cd deepseek-model

2.2 安装模型依赖

pip install torch transformers

3. 创建 API 服务

3.1 安装 Web 框架

使用 FastAPI 或 Flask 创建 API 服务。这里以 FastAPI 为例:

pip install fastapi uvicorn

3.2 编写 API 代码

创建一个 Python 文件(如 api.py),编写以下代码:

from fastapi import FastAPI, HTTPException
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch

# 加载模型和分词器
model_name = "path_to_your_model"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

# 创建 FastAPI 应用
app = FastAPI()

# 定义 API 端点
@app.post("/predict")
async def predict(text: str):
    try:
        # 分词和编码
        inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True)
        
        # 模型推理
        with torch.no_grad():
            outputs = model(**inputs)
        
        # 获取结果
        logits = outputs.logits
        predictions = torch.softmax(logits, dim=-1).tolist()[0]
        
        return {"input_text": text, "predictions": predictions}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

# 运行服务
if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

3.3 运行 API 服务

python api.py

服务启动后,可以通过 http://<服务器IP>:8000/predict 访问 API。


4. 配置反向代理(可选)

为了让 API 服务更安全且可通过域名访问,可以使用 Nginx 作为反向代理。

4.1 安装 Nginx

sudo apt install nginx

4.2 配置 Nginx

编辑 Nginx 配置文件:

sudo nano /etc/nginx/sites-available/deepseek

添加以下内容:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

启用配置并重启 Nginx:

sudo ln -s /etc/nginx/sites-available/deepseek /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

5. 配置 HTTPS(可选)

使用 Certbot 为你的域名配置 HTTPS:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com

6. 测试 API

通过浏览器或 curl 测试 API:

curl -X POST "http://your_domain.com/predict" -H "Content-Type: application/json" -d '{"text": "这是一个测试句子。"}'

7. 部署到生产环境

7.1 使用 Gunicorn 和 Uvicorn

为了提高性能,可以使用 Gunicorn 运行 FastAPI

pip install gunicorn
gunicorn -w 4 -k uvicorn.workers.UvicornWorker api:app

7.2 使用 Systemd 管理服务

创建一个 Systemd 服务文件:

sudo nano /etc/systemd/system/deepseek.service

添加以下内容:

[Unit]
Description=DeepSeek API Service
After=network.target

[Service]
User=your_username
WorkingDirectory=/path/to/your/project
ExecStart=/path/to/deepseek-env/bin/gunicorn -w 4 -k uvicorn.workers.UvicornWorker api:app
Restart=always

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl enable deepseek
sudo systemctl start deepseek

8. 前端集成

在你的网站中,可以通过 fetch 或 axios 调用 API:

fetch("http://your_domain.com/predict", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ text: "用户输入的文本" }),
})
.then(response => response.json())
.then(data => console.log(data));

通过以上步骤,你可以将 DeepSeek 部署到 Linux 服务器上,并通过网站提供 API 服务。

本文来自投稿,不代表瓜5博客立场,如若转载,请注明出处:https://blog.gua5.com/xing/137

喜欢 (1)

发表回复

登录后才能评论

猜你喜欢