当前位置: 首页 > article >正文

在阿里云Linux主机上运行大模型deepseek r1

先来看运行deepseek大模型需要的配置,以阿里云主机为例。

deepseek部署说明:deepseek-r1

模型规格显卡显存磁盘占用ECS主机规格主机配置
1.5b-1.1Gecs.c7.xlarge4核8G
7b8G4.7Gecs.gn7r-c16g1.4xlarge16核64G/ NVIDIA GA107 16G
8b8G4.7Gecs.gn7r-c16g1.4xlarge16核64G/ NVIDIA GA107 16G
14b16G9Gecs.gn7r-c16g1.4xlarge16核64G/ NVIDIA GA107 16G
32b24G20Gecs.gn7i-c16g1.4xlarge16核60G/ NVIDIA A10 24G
70b48G43Gecs.gn7i-2x.8xlarge32核128G/2 * NVIDIA A10 24G
671b480G404Gecs.ebmgn8v.48xlarge(768G显存)192核1024G/8 * NVIDIA H 96G

运行deepseek-r1:1.5b 没有显卡也是可以的,其他模型需要独立显卡。

1 创建主机,安装驱动

aliyun-ecs-install-driver

选择镜像时,把GPU驱动安装一下,如果没有安装后续可以手动安装。

2 安装ollama,启动服务
wget https://github.com/ollama/ollama/releases/download/v0.5.7/ollama-linux-amd64.tgz
tar -C /usr -xzf ollama-linux-amd64.tgz
useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
usermod -a -G ollama $(whoami)
cat > /etc/systemd/system/ollama.service << EOF
[Unit]
Description=Ollama Service
After=network-online.target
 
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_HOST=0.0.0.0"
 
[Install]
WantedBy=default.target
EOF
 
systemctl daemon-reload
systemctl start ollama
ollama pull deepseek-r1:32b
ollama list
3 安装docker
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce-24.0.9 docker-ce-cli-24.0.9 containerd.io
systemctl enable docker
systemctl start docker
4 部署open-webui
4.1 docker-compose方式部署

docker-compose安装部署参考:docker-compose安装部署-CSDN博客

open-webui docker-compose.yaml文件如下:

# cat docker-compose.yaml
version: '3'
services:
  openwebui:
    container_name: openwebui
    image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.5.4
    restart: always
    environment:
      OPENAI_API_BASE_URL: "None"
      OLLAMA_BASE_URL: "http://127.0.0.1:11434"
      HF_HUB_OFFLINE: 1
      GUPS: "all"
      ADD_HOST: "host.docker.internal:host-gateway"
    network_mode: "host"
    volumes:
      - ./openwebui:/app/backend/data
# docker-compose up -d
4.2 docker方式部署

官方安装文档:https://docs.openwebui.com/

Open WebUI官网文档翻译:

注意:

使用Docker安装Open WebUI时,请确保在Docker命令中包含

-v open-webui:/app/backend/data

这一步至关重要,因为它确保数据库正确挂载,避免任何数据丢失。

安装默认配置

1)如果计算机上安装了Ollama,可以使用以下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

2)如果Ollama在另一台服务器上,请使用以下命令:

连接到另一台服务器上的Ollama时,请将OLLAMA_BASE_URL更改为服务器的URL:

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

3)要使用Nvidia GPU支持运行Open WebUI,请使用以下命令:

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

4)仅用于OpenAI API使用的安装

如果仅使用OpenAI API,请使用以下命令:

docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 

4)带有捆绑Ollama支持的Open WebUI安装

此安装方法使用一个单独的容器映像,将Open WebUI与Ollama捆绑在一起,通过单个命令实现简化设置。根据硬件设置选择适当的命令:

使用GPU支持:通过运行以下命令利用GPU资源

docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama 

仅CPU:如果不使用GPU,请改用以下命令:

docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama 

这两个命令都支持内置、简单的安装Open WebUI和Ollama,确保可以快速启动。

# 我用到的命令
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://192.168.1.100:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

访问:http://192.168.1.120:3000即可。 

5 使用open-webui界面与deepseek聊天

浏览器打开 http://IP_address:8080 输入用户名 admin,邮箱 admin@123.com, 密码123456,就能登录到后台。这样直接在web端聊天

deepseek-r1-chat


http://www.kler.cn/a/552310.html

相关文章:

  • Go 模块管理工具 `go mod tidy` 和 `go.sum` 文件详解
  • Django 创建表 choices的妙用:get_<field_name>_display()
  • 【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析④】
  • python环境的yolov11.rknn物体检测
  • vscode/cursor 写注释时候出现框框解决办法
  • 深度学习论文: RailYolact -- A Yolact Focused on edge for Real-Time Rail Segmentation
  • Linux环境基础开发工具的使用(一)
  • 五档历史Level2行情数据:期货市场的信息宝库
  • 【Spring快速入门】不断更新...
  • 实现可拖拽的 Ant Design Modal 并保持下层 HTML 可操作性
  • 百度智能云—千帆 ModelBuilder API的简单调用(Java)
  • leetcode232-用栈实现队列
  • 百度搜索和文心智能体接入DeepSeek满血版——AI搜索的新纪元
  • 【网络安全 | 漏洞挖掘】我如何通过Cookie Manipulation发现主域上的关键PII?
  • [OD E 100] 服务器广播需要广播的服务器数量
  • Hive Orc表数据导出和导入
  • Param ‘serviceName‘ is illegal, serviceName is blank
  • Rabbitmq的三个端口区分
  • python 的框架 dash 开发TodoList Web 应用
  • Spring Boot自动装配:约定大于配置的魔法解密