在Ubuntu22.04上部署AI工具链:Dify、Ollama与Deepseek配置全攻略
2025.09.26 17:12浏览量:0简介:本文详细阐述在Ubuntu 22.04系统上配置安装Dify、Ollama及Deepseek的完整流程,涵盖环境准备、依赖安装、服务部署及验证步骤,助力开发者快速搭建AI开发环境。
一、环境准备与系统要求
1.1 系统版本确认
Ubuntu 22.04 LTS(Jammy Jellyfish)是长期支持版本,稳定性高,适合生产环境部署。执行以下命令确认系统版本:
cat /etc/os-release | grep PRETTY_NAME
输出应包含Ubuntu 22.04.x LTS
字样。
1.2 用户权限配置
建议使用非root用户操作,通过sudo
提权执行需要权限的命令。创建专用用户(如aiuser
):
sudo adduser aiuser
sudo usermod -aG sudo aiuser
su - aiuser
1.3 基础工具安装
更新软件包索引并安装必要工具:
sudo apt update
sudo apt install -y curl wget git python3-pip python3-venv tmux htop
tmux
:会话管理,防止远程连接中断导致操作中断htop
:资源监控,便于调试过程中观察系统状态
二、Dify部署指南
2.1 Dify简介
Dify是一个开源的LLMOps平台,支持模型管理、工作流编排及API服务,适合构建AI应用。
2.2 依赖安装
2.2.1 Node.js环境
Dify前端需要Node.js 16+,推荐使用nvm管理版本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc
nvm install 18
nvm use 18
2.2.2 PostgreSQL数据库
Dify默认使用PostgreSQL存储数据:
sudo apt install -y postgresql postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresql
创建数据库用户及数据库:
sudo -u postgres psql
CREATE USER dify_user WITH PASSWORD 'your_password';
CREATE DATABASE dify_db OWNER dify_user;
ALTER ROLE dify_user SET client_encoding TO 'utf8';
ALTER ROLE dify_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE dify_user SET timezone TO 'UTC';
\q
2.3 Dify安装
2.3.1 克隆代码库
git clone https://github.com/langgenius/dify.git
cd dify
2.3.2 配置环境变量
复制示例配置文件并修改:
cp .env.example .env
nano .env
关键配置项:
DATABASE_URL=postgresql://dify_user:your_password@localhost:5432/dify_db
REDIS_URL=redis://localhost:6379/0
2.3.3 启动服务
使用Docker Compose部署(推荐):
sudo apt install -y docker.io docker-compose
sudo usermod -aG docker $USER
newgrp docker # 立即生效
docker-compose up -d
验证服务状态:
docker-compose ps
三、Ollama部署指南
3.1 Ollama简介
Ollama是一个轻量级LLM服务框架,支持多种模型运行,适合本地化部署。
3.2 安装步骤
3.2.1 下载并安装
curl -fsSL https://ollama.com/install.sh | sh
验证安装:
ollama version
3.2.2 运行模型
以llama2
为例:
ollama run llama2
首次运行会自动下载模型文件。
3.3 配置为系统服务(可选)
创建systemd服务文件:
sudo nano /etc/systemd/system/ollama.service
内容如下:
[Unit]
Description=Ollama LLM Service
After=network.target
[Service]
User=aiuser
ExecStart=/usr/local/bin/ollama serve
Restart=always
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl enable ollama
sudo systemctl start ollama
四、Deepseek配置指南
4.1 Deepseek简介
Deepseek通常指深度求索的AI模型,此处假设为自定义模型或API服务。
4.2 本地模型部署(示例)
4.2.1 使用vLLM加速
安装vLLM:
pip install vllm
启动服务:
from vllm import LLM, SamplingParams
# 加载模型(需提前下载模型权重)
llm = LLM(model="path/to/deepseek_model")
# 创建采样参数
sampling_params = SamplingParams(temperature=0.7, top_p=0.9)
# 生成文本
outputs = llm.generate(["Hello, world!"], sampling_params)
print(outputs[0].outputs[0].text)
4.2.2 作为API服务
使用FastAPI封装:
from fastapi import FastAPI
from vllm import LLM, SamplingParams
app = FastAPI()
llm = LLM(model="path/to/deepseek_model")
@app.post("/generate")
async def generate(prompt: str):
sampling_params = SamplingParams()
outputs = llm.generate([prompt], sampling_params)
return {"response": outputs[0].outputs[0].text}
启动服务:
uvicorn main:app --host 0.0.0.0 --port 8000
4.3 连接Dify
在Dify中配置自定义LLM:
- 进入Dify控制台 → 模型管理 → 添加模型
- 选择”自定义LLM”类型
- 填写API端点(如
http://localhost:8000/generate
) - 测试连接并保存
五、验证与调试
5.1 服务健康检查
5.1.1 Dify状态
访问http://localhost:3000
(默认前端端口),应看到登录界面。
5.1.2 Ollama状态
curl http://localhost:11434
应返回{"version":"x.x.x"}
。
5.1.3 Deepseek API状态
curl -X POST http://localhost:8000/generate \
-H "Content-Type: application/json" \
-d '{"prompt":"Hello"}'
应返回生成的文本。
5.2 常见问题解决
5.2.1 端口冲突
使用ss -tulnp | grep <端口>
检查占用,修改服务配置或终止冲突进程。
5.2.2 权限问题
确保服务用户对模型目录有读写权限:
sudo chown -R aiuser:aiuser /path/to/models
5.2.3 内存不足
- 增加交换空间:
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
- 在
.env
中限制Dify工作进程数:WORKERS=2
六、性能优化建议
6.1 资源分配
- Dify:建议4核8G以上
- Ollama:根据模型大小调整,7B模型建议16G内存
- Deepseek:视具体模型而定
6.2 监控工具
安装Prometheus和Grafana监控系统资源:
sudo apt install -y prometheus grafana
配置Prometheus采集Docker和系统指标。
6.3 备份策略
定期备份PostgreSQL数据库:
sudo -u postgres pg_dump dify_db > dify_backup.sql
七、总结与扩展
本文详细介绍了在Ubuntu 22.04上部署Dify、Ollama和Deepseek的完整流程,涵盖环境准备、服务安装、配置及验证。通过Docker简化部署,使用systemd管理服务,结合监控工具确保系统稳定运行。
扩展方向:
- 集成Nginx作为反向代理,提供HTTPS访问
- 配置CI/CD流水线自动化部署
- 探索多模型协同工作流
- 实现模型自动更新机制
开发者可根据实际需求调整配置,建议先在测试环境验证后再迁移至生产环境。
发表评论
登录后可评论,请前往 登录 或 注册