将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