logo

在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)是长期支持版本,稳定性高,适合生产环境部署。执行以下命令确认系统版本:

  1. cat /etc/os-release | grep PRETTY_NAME

输出应包含Ubuntu 22.04.x LTS字样。

1.2 用户权限配置

建议使用非root用户操作,通过sudo提权执行需要权限的命令。创建专用用户(如aiuser):

  1. sudo adduser aiuser
  2. sudo usermod -aG sudo aiuser
  3. su - aiuser

1.3 基础工具安装

更新软件包索引并安装必要工具:

  1. sudo apt update
  2. 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管理版本:

  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  2. source ~/.bashrc
  3. nvm install 18
  4. nvm use 18

2.2.2 PostgreSQL数据库

Dify默认使用PostgreSQL存储数据:

  1. sudo apt install -y postgresql postgresql-contrib
  2. sudo systemctl enable postgresql
  3. sudo systemctl start postgresql

创建数据库用户及数据库:

  1. sudo -u postgres psql
  2. CREATE USER dify_user WITH PASSWORD 'your_password';
  3. CREATE DATABASE dify_db OWNER dify_user;
  4. ALTER ROLE dify_user SET client_encoding TO 'utf8';
  5. ALTER ROLE dify_user SET default_transaction_isolation TO 'read committed';
  6. ALTER ROLE dify_user SET timezone TO 'UTC';
  7. \q

2.3 Dify安装

2.3.1 克隆代码库

  1. git clone https://github.com/langgenius/dify.git
  2. cd dify

2.3.2 配置环境变量

复制示例配置文件并修改:

  1. cp .env.example .env
  2. nano .env

关键配置项:

  1. DATABASE_URL=postgresql://dify_user:your_password@localhost:5432/dify_db
  2. REDIS_URL=redis://localhost:6379/0

2.3.3 启动服务

使用Docker Compose部署(推荐):

  1. sudo apt install -y docker.io docker-compose
  2. sudo usermod -aG docker $USER
  3. newgrp docker # 立即生效
  4. docker-compose up -d

验证服务状态:

  1. docker-compose ps

三、Ollama部署指南

3.1 Ollama简介

Ollama是一个轻量级LLM服务框架,支持多种模型运行,适合本地化部署。

3.2 安装步骤

3.2.1 下载并安装

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

验证安装:

  1. ollama version

3.2.2 运行模型

llama2为例:

  1. ollama run llama2

首次运行会自动下载模型文件。

3.3 配置为系统服务(可选)

创建systemd服务文件:

  1. sudo nano /etc/systemd/system/ollama.service

内容如下:

  1. [Unit]
  2. Description=Ollama LLM Service
  3. After=network.target
  4. [Service]
  5. User=aiuser
  6. ExecStart=/usr/local/bin/ollama serve
  7. Restart=always
  8. [Install]
  9. WantedBy=multi-user.target

启用并启动服务:

  1. sudo systemctl enable ollama
  2. sudo systemctl start ollama

四、Deepseek配置指南

4.1 Deepseek简介

Deepseek通常指深度求索的AI模型,此处假设为自定义模型或API服务。

4.2 本地模型部署(示例)

4.2.1 使用vLLM加速

安装vLLM:

  1. pip install vllm

启动服务:

  1. from vllm import LLM, SamplingParams
  2. # 加载模型(需提前下载模型权重)
  3. llm = LLM(model="path/to/deepseek_model")
  4. # 创建采样参数
  5. sampling_params = SamplingParams(temperature=0.7, top_p=0.9)
  6. # 生成文本
  7. outputs = llm.generate(["Hello, world!"], sampling_params)
  8. print(outputs[0].outputs[0].text)

4.2.2 作为API服务

使用FastAPI封装:

  1. from fastapi import FastAPI
  2. from vllm import LLM, SamplingParams
  3. app = FastAPI()
  4. llm = LLM(model="path/to/deepseek_model")
  5. @app.post("/generate")
  6. async def generate(prompt: str):
  7. sampling_params = SamplingParams()
  8. outputs = llm.generate([prompt], sampling_params)
  9. return {"response": outputs[0].outputs[0].text}

启动服务:

  1. uvicorn main:app --host 0.0.0.0 --port 8000

4.3 连接Dify

在Dify中配置自定义LLM:

  1. 进入Dify控制台 → 模型管理 → 添加模型
  2. 选择”自定义LLM”类型
  3. 填写API端点(如http://localhost:8000/generate
  4. 测试连接并保存

五、验证与调试

5.1 服务健康检查

5.1.1 Dify状态

访问http://localhost:3000(默认前端端口),应看到登录界面。

5.1.2 Ollama状态

  1. curl http://localhost:11434

应返回{"version":"x.x.x"}

5.1.3 Deepseek API状态

  1. curl -X POST http://localhost:8000/generate \
  2. -H "Content-Type: application/json" \
  3. -d '{"prompt":"Hello"}'

应返回生成的文本。

5.2 常见问题解决

5.2.1 端口冲突

使用ss -tulnp | grep <端口>检查占用,修改服务配置或终止冲突进程。

5.2.2 权限问题

确保服务用户对模型目录有读写权限:

  1. sudo chown -R aiuser:aiuser /path/to/models

5.2.3 内存不足

  • 增加交换空间:
    1. sudo fallocate -l 16G /swapfile
    2. sudo chmod 600 /swapfile
    3. sudo mkswap /swapfile
    4. sudo swapon /swapfile
  • .env中限制Dify工作进程数:
    1. WORKERS=2

六、性能优化建议

6.1 资源分配

  • Dify:建议4核8G以上
  • Ollama:根据模型大小调整,7B模型建议16G内存
  • Deepseek:视具体模型而定

6.2 监控工具

安装Prometheus和Grafana监控系统资源:

  1. sudo apt install -y prometheus grafana

配置Prometheus采集Docker和系统指标。

6.3 备份策略

定期备份PostgreSQL数据库:

  1. sudo -u postgres pg_dump dify_db > dify_backup.sql

七、总结与扩展

本文详细介绍了在Ubuntu 22.04上部署Dify、Ollama和Deepseek的完整流程,涵盖环境准备、服务安装、配置及验证。通过Docker简化部署,使用systemd管理服务,结合监控工具确保系统稳定运行。

扩展方向:

  1. 集成Nginx作为反向代理,提供HTTPS访问
  2. 配置CI/CD流水线自动化部署
  3. 探索多模型协同工作流
  4. 实现模型自动更新机制

开发者可根据实际需求调整配置,建议先在测试环境验证后再迁移至生产环境。

相关文章推荐

发表评论