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
1.1.2.2.1、使用Apt安装
- 配置存储库
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安装
- 配置存储库
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
- 安装NVIDIA Container Toolkit packages
sudo yum install -y nvidia-container-toolkit
- 配置Docker使用Nvidia driver
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
- 启动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
- 启动服务器
- 确保
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文件后边输入这一句配置
- 克隆仓库:
$ git clone https://github.com/infiniflow/ragflow.git
- 进入 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
-
服务器启动成功后再次确认服务器状态:
$ docker logs -f ragflow-server
-
在你的浏览器中输入你的服务器对应的 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