目录

Docker部署全攻略:Ollama安装、本地大模型配置与One-API接入

Ollama 是一款开源工具,允许用户在本地便捷地运行多种大型开源模型,如清华大学的 ChatGLM、阿里的千问以及 Meta 的 Llama 等。它支持 macOS、Linux 和 Windows 三大主流操作系统。本文将详细介绍如何通过 Docker 安装 Ollama,并将其部署以使用本地大模型,同时接入 one-api,以便通过 API 接口轻松调用所需的大规模语言模型。


硬件配置

由于大模型对硬件配置要求较高,建议配置如下:

  • CPU:高性能多核处理器(如 E5-2696 v2)
  • 内存:32G 起步(建议 64G 或更高)
  • 硬盘:SSD(建议 512G 或更大)
  • 显卡:独立显卡(如 NVIDIA GPU)更佳,但若无显卡,也可使用 CPU 运行。

博主使用的服务器配置如下:

  • CPU:E5-2696 v2
  • 内存:64G
  • 硬盘:512G SSD
  • 显卡:无(纯 CPU 运行)

Docker 安装 Ollama

Ollama 支持 Docker 安装,极大简化了部署流程。以下是具体步骤:

  1. 创建 docker-compose.yaml 文件

    新建一个 docker-compose.yaml 文件,内容如下:

    yaml 复制代码
    version: '3'
    services:
      ollama:
        image: ollama/ollama
        container_name: ollama
        ports:
          - "11434:11434"
        volumes:
          - ./data:/root/.ollama
        restart: always
  2. 启动 Ollama

    在终端中运行以下命令启动 Ollama:

    bash 复制代码
    docker compose up -d

    或(如果使用旧版 Docker Compose):

    bash 复制代码
    docker-compose up -d
  3. 验证安装

    访问 http://IP:11434,如果看到提示 Ollama is running,说明安装成功。

  4. GPU 支持(可选)

    如果机器支持 GPU,可以在 docker-compose.yaml 中添加 GPU 参数。参考 Ollama Docker Hub 页面 获取更多信息。


使用 Ollama 部署大模型

Ollama 安装完成后,需要下载大模型。以下是具体步骤:

  1. 进入容器

    运行以下命令进入容器:

    bash 复制代码
    docker exec -it ollama /bin/bash
  2. 下载大模型

    Ollama 模型库 中找到所需模型,例如下载阿里千问 2 模型:

    bash 复制代码
    ollama run qwen2
  3. 命令行对话

    模型下载并运行后,可以通过命令行与模型进行对话。


Ollama 常用命令

以下是 Ollama 的一些常用命令:

  • 运行指定大模型ollama run llama3:8b-text
  • 查看本地大模型列表ollama list
  • 查看运行中的大模型ollama ps
  • 删除本地指定大模型ollama rm llama3:8b-text
  • 查看帮助ollama -h

大模型体验

博主测试了多个模型,得出以下使用感受:

  • Llama 模型:对中文支持不友好。
  • Phi3:3.8b:微软推出的小模型,支持多语言,但 3.8b 版本表现较弱。
  • GLM4/Qwen2:对中文支持较好。
  • 模型参数:参数越小,模型表现越差。7b 及以上模型基本可以正常对话。

将 Ollama 接入 one-api

one-api 是一个开源 AI 中间件服务,可以聚合多家大模型 API,提供统一的 OpenAI 调用方法。

  1. 安装 one-api

    参考 one-api 官方项目地址 进行安装。

  2. 添加 Ollama 渠道

    在 one-api 后台 >> 渠道 >> 添加新渠道:

    • 类型:Ollama
    • 渠道 API 地址http://IP:11434
    • 模型:已下载的本地大模型名称
    • 密钥:随意填写(Ollama 默认无鉴权)
  3. 调用测试

    使用以下命令测试调用:

    bash 复制代码
    curl https://ai.xxx.com/v1/chat/completions \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer sk-xxx" \
      -d '{
        "model": "qwen2",
        "messages": [
          {
            "role": "system",
            "content": "You are a helpful assistant."
          },
          {
            "role": "user",
            "content": "Hello!"
          }
        ]
      }'
    • ai.xxx.com 替换为 one-api 的域名。
    • sk-xxx 替换为 one-api 创建的令牌。

遇到的问题

博主在使用 stream 方式调用 one-api Ollama 时,返回空白。通过降级 one-api 版本至 0.6.6 解决此问题。


安全风险

由于 Ollama 默认无鉴权机制,部署到服务器上存在安全隐患。以下是两种提高安全性的方法:

  1. Linux 内置防火墙

    • 将 Docker 部署 Ollama 的网络模式改为 host
    • 通过防火墙限制仅允许指定 IP 访问 11434 端口。
  2. Nginx 反向代理

    • 将 Ollama 的端口映射为 127.0.0.1:11434
    • 使用 Nginx 反向代理,并设置 IP 白名单和黑名单。

结语

Ollama 作为一款开源工具,为用户提供了便捷的本地大模型部署和调用方式。通过 Docker 安装与部署,用户可以快速上手并灵活使用各类大型模型。然而,由于 Ollama 缺乏内置鉴权机制,用户在生产环境中需采取适当的安全措施。未来若能完善鉴权机制,Ollama 将成为 AI 开发者的得力助手。

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
结冰架构16 分钟前
【AI提示词】Emoji风格排版艺术与设计哲学
大数据·人工智能·ai·提示词
zandy10111 小时前
飞书集成衡石ChatBot实战:如何10分钟搭建一个业务数据问答机器人?
大数据·人工智能·机器人·飞书·chatbot·衡石科技
机器之心1 小时前
200B参数击败满血DeepSeek-R1,字节豆包推理模型Seed-Thinking-v1.5要来了
人工智能
James. 常德 student1 小时前
CV - 目标检测
人工智能·目标检测·计算机视觉
说私域1 小时前
开源AI大模型AI智能名片S2B2C商城小程序:科技浪潮下的商业新引擎
人工智能·小程序·开源·产品运营·零售
_一条咸鱼_1 小时前
深入剖析 AI 大模型的 Embeddings 原理
人工智能·深度学习·机器学习
davysiao1 小时前
从 SaaS 到 MCP:构建 AI Agent 生态的标准化服务升级之路
人工智能
搞程序的心海1 小时前
OpenCV 进阶实战与技巧——图像处理的全面解析
图像处理·人工智能·opencv
小刘私坊1 小时前
脑科学与人工智能的交叉:未来智能科技的前沿与机遇
人工智能·科技
怎么全是重名1 小时前
VPN(2020)Cross-view Semantic Segmentation for Sensing Surroundings
人工智能·计算机视觉·目标跟踪