大模型私有部署(ollama/Xinference)和开发交互平台(dify)

1、模型部署

1.1、ollama部署

安装前关闭selinux

# 永久关闭selinux
vim /etc/selinux/config
SELINUX=disabled
# 临时关闭
sudo setenforce 0

官网:https://ollama.com/download/linux
GitHub地址:https://github.com/ollama/ollama

1.1.1、Linux上安装

1.1.1.1、安装
1.1.1.1.1、通过命令自动安装
curl -fsSL https://ollama.com/install.sh | sh
1.1.1.1.2、手动安装

注意
如果您是从旧版本进行升级,应先使用 sudo rm -rf /usr/lib/ollama 命令删除旧的库文件。

下载并解压该软件包:

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

启动Ollama:

ollama serve

在另一个终端中,验证 Ollama 是否正在运行:

ollama -v
1.1.1.2、 AMD GPU安装

如果您拥有 AMD 图形处理器(GPU),还需下载并解压额外的 ROCm 软件包:

curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr -xzf ollama-linux-amd64-rocm.tgz

ARM64 安装程序
下载并解压ARM64架构的特定包:

curl -L https://ollama.com/download/ollama-linux-arm64.tgz -o ollama-linux-arm64.tgz
sudo tar -C /usr -xzf ollama-linux-arm64.tgz
1.1.1.3、将Ollama添加开机启动服务(推荐)

为 Ollama 创建一个用户和一个组:

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)

创建系统服务文件 /etc/systemd/system/ollama.service:

[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"

[Install]
WantedBy=multi-user.target

启动服务

sudo systemctl daemon-reload
sudo systemctl enable ollama
1.1.1.4、安装 CUDA 驱动程序(可选)

下载和安装 CUDA.

请运行以下命令来验证驱动程序是否已安装,该命令应输出有关您 GPU 的详细信息:

nvidia-smi
1.1.1.5、启动 Ollama

启动 Ollama 并确认其正在运行:

sudo systemctl start ollama
sudo systemctl status ollama
1.1.1.6、更新

再次运行安装脚本来更新 Ollama:

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

或者重新下载 Ollama:

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
1.1.1.7、安装特定版本

在安装脚本中使用 OLLAMA_VERSION 环境变量来安装 Ollama 的特定版本(包括预发布版本)。您可以在 发布页面 中找到版本号。

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

查看日志记录
若要查看 Ollama 作为启动服务运行时的日志,请执行以下操作:

journalctl -e -u ollama

参考资料:
https://github.com/ollama/ollama/blob/main/docs/linux.md

1.1.2、在Docker上安装

需要先部署Docker环境,相关Docker安装参加《docker安装和常用命令》

1.1.2.1、CPU运行
docker run -d -v /mnt/e/wsl/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
1.1.2.2、Nvidia GPU

安装NVIDIA Container Toolkit.

1.1.2.2.1、使用Apt安装
  1. 配置存储库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
    | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
    | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
   
# 如果国外官方源无法访问,可以使用中科大源的源
https://mirrors.ustc.edu.cn/help/libnvidia-container.html
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo   

2.安装the NVIDIA Container Toolkit packages

sudo apt-get install -y nvidia-container-toolkit
1.1.2.2.2、使用Yum or Dnf安装
  1. 配置存储库
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
  1. 安装NVIDIA Container Toolkit packages
sudo yum install -y nvidia-container-toolkit
  1. 配置Docker使用Nvidia driver
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
  1. 启动container
docker run -d --gpus=all -v /mnt/e/wsl/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
1.1.2.3、AMD GPU

To run Ollama using Docker with AMD GPUs, use the rocm tag and the following command:
如果使用AMD GPU的Docker来运行 Ollama,请使用rocm标签并执行以下命令:

docker run -d --device /dev/kfd --device /dev/dri -v /mnt/e/wsl/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm

在本地运行模型

docker exec -it ollama ollama run deepseek-r1:70b # 1.5b、7b、8b、14b、32b、70b、671b

1.1.3、常用命令

ollama常用命令

#1.启动ollama服务
ollama serve

# 2.创建模型 (create),使用 Modelfile 来创建一个新模型。你需要提供一个包含模型信息的 Modelfile。
ollama create /path/to/Modelfile

# 3.显示模型信息 (show),查看特定模型的详细信息,例如模型名称、版本等。
ollama show model_name

# 4.列出所有模型 (list),列出本地所有可用的模型,可以在这里查找模型名称。
ollama list
ollama ls

# 5.运行模型 (run),运行一个已安装的模型,执行某些任务。
ollama run model_name

# 6.列出正在运行的模型 (ps),显示当前正在运行的模型列表。
ollama ps

# 7.删除模型 (rm),删除一个已安装的模型。
ollama rm model_name

# 8.查看版本 (version),显示当前 ollama 工具的版本信息。
ollama -v
ollama --version

# 9.复制模型 (cp),复制一个模型到另一个位置或给定名称的地方。
ollama cp old_model new_model

# 10.从注册表拉取模型 (pull),从模型注册表中拉取一个模型,供本地使用。
ollama pull model_name

# 11.推送模型到注册表 (push),将本地模型推送到模型注册表中,以便他人或其他系统使用。
ollama push model_name
# 拉取嵌入模型
docker exec -it ollama ollama pull bge-large
docker exec -it ollama ollama pull dztech/bge-large-zh:v1.5
docker exec -it ollama ollama pull quentinz/bge-large-zh-v1.5

1.1.4、常用配置

配置 Ollama
Ollama 提供了多种环境变量以供配置:

OLLAMA_DEBUG:是否开启调试模式,默认为 false。
OLLAMA_FLASH_ATTENTION:是否闪烁注意力,默认为 true。
OLLAMA_HOST:Ollama 服务器的主机地址,默认为空。
OLLAMA_KEEP_ALIVE:保持连接的时间,默认为 5m。
OLLAMA_LLM_LIBRARY:LLM 库,默认为空。
OLLAMA_MAX_LOADED_MODELS:最大加载模型数,默认为 1。
OLLAMA_MAX_QUEUE:最大队列数,默认为空。
OLLAMA_MAX_VRAM:最大虚拟内存,默认为空。
OLLAMA_MODELS:模型目录,默认为空。
OLLAMA_NOHISTORY:是否保存历史记录,默认为 false。
OLLAMA_NOPRUNE:是否启用剪枝,默认为 false。
OLLAMA_NUM_PARALLEL:并行数,默认为 1。
OLLAMA_ORIGINS:允许的来源,默认为空。
OLLAMA_RUNNERS_DIR:运行器目录,默认为空。
OLLAMA_SCHED_SPREAD:调度分布,默认为空。
OLLAMA_TMPDIR:临时文件目录,默认为空。
OLLAMA_DEBUG:是否开启调试模式,默认为 false。
OLLAMA_FLASH_ATTENTION:是否闪烁注意力,默认为 true。
OLLAMA_HOST:Ollama 服务器的主机地址,默认为空。
OLLAMA_KEEP_ALIVE:保持连接的时间,默认为 5m。
OLLAMA_LLM_LIBRARY:LLM 库,默认为空。
OLLAMA_MAX_LOADED_MODELS:最大加载模型数,默认为 1。
OLLAMA_MAX_QUEUE:最大队列数,默认为空。
OLLAMA_MAX_VRAM:最大虚拟内存,默认为空。
OLLAMA_MODELS:模型目录,默认为空。
OLLAMA_NOHISTORY:是否保存历史记录,默认为 false。
OLLAMA_NOPRUNE:是否启用剪枝,默认为 false。
OLLAMA_NUM_PARALLEL:并行数,默认为 1。
OLLAMA_ORIGINS:允许的来源,默认为空。
OLLAMA_RUNNERS_DIR:运行器目录,默认为空。
OLLAMA_SCHED_SPREAD:调度分布,默认为空。
OLLAMA_TMPDIR:临时文件目录,默认为空。

1.2、Xinference部署

中文社区:https://xorbits.cn/community
中文入门指南:https://inference.readthedocs.io/zh-cn/latest/index.html
GitHub官网:https://github.com/xorbitsai/inference

# GPU运行
docker run -d --name xinference --gpus all  -v /mnt/e/wsl/deepseek/xinference/docker/xinference:/workspace -e XINFERENCE_MODEL_SRC=modelscope -e XINFERENCE_HOME=/workspace -p 9997:9997  registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference:latest xinference-local -H 0.0.0.0

# CPU运行
docker run -d --name xinference -v /mnt/e/wsl/deepseek/xinference/docker/xinference:/workspace -e XINFERENCE_MODEL_SRC=modelscope -p 9998:9997 xprobe/xinference:latest-cpu xinference-local -H 0.0.0.0 --log-level debug

支持的模型:https://inference.readthedocs.io/zh-cn/latest/models/builtin/llm/index.html

2、大模型交互端

2.1、chatbox

https://chatboxai.app/zh#download

2.2、lobe-chat

https://github.com/lobehub/lobe-chat/blob/main/README.zh-CN.md

# 非数据库部署模式,不能上传文件
$ docker run -d -p 3210:3210 \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat

2.3、open-webui

访问:http://localhost:3000
https://github.com/open-webui/open-webui

# 如果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

# If Ollama is on a Different Server, use this command:
# To connect to Ollama on another server, change the OLLAMA_BASE_URL to the server's URL:
# 如果ollama在另一个服务器上运行,使用配置 OLLAMA_BASE_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

# 如果运行在Nvidia GPU上,使用以下命令:
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
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://192.168.X.X:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main

2.4、dify

官网:https://dify.ai/zh
GitHub地址:https://github.com/langgenius/dify

使用Docker Compose 部署

# 克隆 Dify 源代码至本地环境。
# 假设当前最新版本为 0.15.3
git clone https://github.com/langgenius/dify.git --branch 0.15.3

# 进入 Dify 源代码的 Docker 目录
cd dify/docker

# 复制环境配置文件
cp .env.example .env

# 启动 Docker 容器
docker compose up -d

安装教程:https://github.com/langgenius/dify/blob/main/README_CN.md
中文文档:https://docs.dify.ai/zh-hans

2.5、RAGFlow 深度文档理解构建的开源 RAG引擎

RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎
官网:https://ragflow.io/
GitHub地址:https://github.com/infiniflow/ragflow

  • 前提条件
CPU >= 4 核  
RAM >= 16 GB  
Disk >= 50 GB  
Docker >= 24.0.0 & Docker Compose >= v2.26.1   
  • 启动服务器
  1. 确保 vm.max_map_count 不小于 262144:
# 如需确认 `vm.max_map_count` 的大小:
$ sysctl vm.max_map_count

# 如果 `vm.max_map_count` 的值小于 262144,可以进行重置:
# 这里我们设为 262144:
$ sudo sysctl -w vm.max_map_count=262144

#你的改动会在下次系统重启时被重置。如果希望做永久改动,还需要在 /etc/sysctl.conf文件里把 `vm.max_map_count` 的值再相应更新一遍:
$ vim /etc/sysctl.conf 
vm.max_map_count=262144 # /etc/sysctl.conf文件后边输入这一句配置

  1. 克隆仓库:
$ git clone https://github.com/infiniflow/ragflow.git
  1. 进入 docker 文件夹,利用提前编译好的 Docker 镜像启动服务器:

请注意,目前官方提供的所有 Docker 镜像均基于 x86 架构构建,并不提供基于 ARM64 的 Docker 镜像。
运行以下命令会自动下载 RAGFlow slim Docker 镜像 v0.17.2-slim。如需下载不同于 v0.17.2-slim 的 Docker 镜像,请在运行 docker compose 启动服务之前先更新 docker/.env 文件内的 RAGFLOW_IMAGE 变量。比如,你可以通过设置 RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.2 来下载 RAGFlow 镜像的 v0.17.2 完整发行版。

$ cd ragflow/docker
# 使用CPU运行
$ docker compose -f docker-compose.yml up -d

# 使用GPU运行
# docker compose -f docker-compose-gpu.yml up -d

如果你遇到 Docker 镜像拉不下来的问题,可以在 docker/.env 文件内根据变量 RAGFLOW_IMAGE 的注释提示选择华为云或者阿里云的相应镜像。

  • 华为云镜像名:swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow
  • 阿里云镜像名:registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow
  1. 服务器启动成功后再次确认服务器状态:

    $ docker logs -f ragflow-server
    
  2. 在你的浏览器中输入你的服务器对应的 IP 地址并登录 RAGFlow。

上面这个例子中,您只需输入 http://IP:PORT 即可:未改动过配置则无需输入端口(默认的 HTTP 服务端口 80)。

参考官方文档:https://github.com/infiniflow/ragflow/blob/main/README_zh.md

3、其它

3.1、DB-GPT

DB-GPT是一个开源的AI原生数据应用开发框架,目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。
https://www.yuque.com/eosphoros/dbgpt-docs

中文教程:https://www.yuque.com/eosphoros/dbgpt-docs
GitHub地址:https://github.com/eosphoros-ai/DB-GPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

penngo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值