首页
/ 基于GPU加速的Chat-Ollama项目Docker Compose部署指南

基于GPU加速的Chat-Ollama项目Docker Compose部署指南

2025-07-10 02:15:58作者:柯茵沙

项目概述

Chat-Ollama是一个结合了Ollama大模型服务和ChromaDB向量数据库的智能对话系统。通过Docker Compose编排,可以轻松部署包含GPU加速支持的完整服务栈。本文将详细介绍如何使用提供的docker-compose_gpu.yaml文件进行项目部署。

核心组件解析

1. Ollama服务

Ollama是项目的核心大模型服务,配置中特别启用了NVIDIA GPU支持:

  • 使用官方ollama/ollama镜像
  • 暴露11434端口供外部访问
  • 通过volumes持久化模型数据
  • 关键GPU配置部分确保模型推理可以充分利用GPU加速

2. ChromaDB向量数据库

作为项目的向量存储组件:

  • 使用chromadb/chroma官方镜像
  • 8000端口对外提供服务
  • 数据持久化到chromadb_data卷

3. Chat-Ollama应用

项目的前端交互层:

  • 使用0001coder/chatollama最新镜像
  • 3000端口提供Web服务
  • 配置了与ChromaDB和Redis的连接
  • 应用数据持久化到宿主机~/.chatollama目录

4. Redis服务

作为缓存和会话存储:

  • 使用官方redis镜像
  • 数据持久化到redis_data卷

部署前准备

  1. 硬件要求

    • NVIDIA显卡(需要安装正确驱动)
    • 至少16GB内存(大模型运行需求)
    • 50GB以上磁盘空间(模型存储)
  2. 软件依赖

    • Docker 20.10+
    • Docker Compose 2.0+
    • NVIDIA Container Toolkit
  3. NVIDIA环境配置

# 安装NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

部署步骤

  1. 创建项目目录并进入:
mkdir chat-ollama && cd chat-ollama
  1. 创建docker-compose_gpu.yaml文件,内容如本文开头所示

  2. 启动服务:

docker-compose -f docker-compose_gpu.yaml up -d
  1. 验证服务:
docker-compose ps

应看到四个服务(ollama, chromadb, chatollama, redis)都处于运行状态

配置说明

GPU资源配置

deploy:
  resources:
    reservations:
      devices:
        - driver: nvidia
          count: all
          capabilities: [ gpu ]

这段配置确保Ollama服务可以使用所有可用的NVIDIA GPU资源。

数据持久化

  • ollama_data:存储下载的大模型
  • chromadb_data:存储向量索引
  • redis_data:存储缓存数据
  • ~/.chatollama:存储应用SQLite数据库

常见问题解决

  1. GPU无法识别

    • 确认NVIDIA驱动已安装(nvidia-smi命令可用)
    • 确认Docker有权限访问GPU
    • 重启Docker服务
  2. 端口冲突

    • 修改yaml文件中ports部分的宿主机端口号
  3. 磁盘空间不足

    • 大模型需要大量空间,确保挂载卷所在分区有足够空间

性能优化建议

  1. 根据GPU显存大小选择合适的模型:

    • 7B参数模型需要约10GB显存
    • 13B参数模型需要约16GB显存
  2. 调整Ollama服务的资源限制:

deploy:
  resources:
    limits:
      cpus: '4'
      memory: 16G
  1. 生产环境建议:
    • 使用数据库替代SQLite
    • 配置HTTPS访问
    • 设置适当的日志轮转

总结

本文详细介绍了Chat-Ollama项目的GPU加速部署方案,通过Docker Compose可以一键部署包含大模型服务、向量数据库和应用前端的完整系统。特别强调了GPU环境的配置和优化,确保大模型能够充分发挥硬件加速性能。这种部署方式特别适合需要本地化部署大模型应用的场景。