Ollama是一款开源工具,允许用户在本地轻松运行多种大型开源模型,包括清华大学的ChatGLM、阿里的千问,以及Meta的llama等。该工具目前兼容macOS、Linux和Windows三大主流操作系统。本文将详细介绍如何通过Docker安装Ollama,并将其部署以使用本地大模型,此外还将介绍如何通过接入one-api,实现对所需大规模语言模型的API调用。

Ollama工具展示

硬件配置要求

运行大模型对硬件配置要求较高,因此建议使用配置更高的设备,尤其是配备独立显卡的机器。推荐配置如下:

  • CPU:E5-2696 v2
  • 内存:64GB
  • 硬盘:512GB SSD
  • 显卡:无(使用CPU跑模型)
注:博主的服务器没有显卡,因此只能使用CPU来跑模型。

Docker安装Ollama

Ollama支持通过Docker安装,这极大地简化了服务器端的部署过程。以下是使用docker compose工具运行Ollama的步骤:

  1. 创建docker-compose.yaml文件,内容如下:

    version: '3'
    services:
     ollama:
       image: ollama/ollama
       container_name: ollama
       ports:
         - "11434:11434"
       volumes:
         - ./data:/root/.ollama
       restart: always
  2. 在命令行中输入以下命令启动容器:

    docker compose up -d
  3. 访问 http://IP:11434,当看到提示“Ollama is running”时,说明Ollama已成功运行。

Ollama运行成功界面

如果您的机器支持GPU,可以参考官方文档添加GPU参数。

部署大模型

Ollama安装完成后,您需要下载所需的大模型。Ollama支持的模型列表可以在官网找到。默认情况下,Ollama没有提供WEB界面,因此需要通过命令行操作。

进入Ollama容器:

docker exec -it ollama /bin/bash

在容器中,使用以下命令下载并运行阿里千问2模型:

ollama run qwen2

模型下载完成后,您可以通过命令行进行交互:

模型运行示例

Ollama常用命令

  • 运行指定大模型:ollama run llama3:8b-text
  • 查看本地大模型列表:ollama list
  • 查看运行中的大模型:ollama ps
  • 删除指定大模型:ollama rm llama3:8b-text
提示:更多命令可以通过ollama -h查看。

大模型使用体验

博主使用了llama2/qwen2/glm4/llama3/phi3等模型,得到以下体验总结:

  • llama模型对中文支持不佳。
  • phi3:3.8b模型较为简单,可能是模型参数过少,提升至14b可能会有所改善。
  • glm4/qwen2对中文支持较好。
  • 模型参数越小,模型表现越弱。7b及以上模型表现较为稳定。
  • 纯CPU运行7b模型速度稍慢。

将Ollama接入one-api

one-api是一个开源的AI中间件服务,可以整合多家大模型API,提供统一的调用方法。以下是接入步骤:

  1. 在one-api后台添加一个新的渠道,选择类型为Ollama。
  2. 设置渠道API地址为Ollama的WEB地址(如http://IP:11434)。
  3. 填写已下载的大模型名称和一个随机密钥。

成功接入后,可以通过以下命令调用模型:

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时,遇到返回空白的问题。根据issues页面的反馈,这是由于one-api的BUG导致的,降级至0.6.6版本可解决此问题。

安全性建议

由于Ollama没有内置鉴权机制,将其部署在服务器上存在安全隐患。为提高安全性,建议采取以下措施:

  • Linux内置防火墙:使用HOST网络并限制指定IP访问11434端口。
  • Nginx反向代理:将Ollama映射到127.0.0.1,通过Nginx设置IP白名单和黑名单。

结语

Ollama作为一款开源工具,为用户提供了便捷的本地大模型部署和调用方案。其出色的兼容性和灵活性,使得用户能够在多个操作系统上轻松运行大型语言模型。通过Docker的安装和部署,Ollama大大简化了用户的使用过程。然而,因缺乏内置鉴权机制,用户在生产环境中应注意采取适当的安全措施。总体而言,Ollama在本地AI模型应用和开发中具备极大的实用价值。

END
本文作者:
文章标题: 使用 Docker 安装 Ollama 部署本地大模型并接入 One-API
本文地址: https://www.haovps.top/archives/290.html
版权说明:若无注明,本文皆 高性能VPS推荐与IT技术博客 | Haovps.Top 原创,转载请保留文章出处。
cc
最后修改:2024 年 08 月 20 日
如果觉得我的文章对你有用,请随意赞赏