AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


本地大模型运行框架Ollama
发布日期:2024-04-14 14:13:14 浏览次数: 2183 来源:各种折腾


什么是 Ollama ?

Ollama 是一个简明易用的本地大模型运行框架。能在本地启动并运行 Llama 2MistralGemma 及其他大语言模型。

和老苏之前介绍的 LocalAI 比较类似,但是加载模型更容易,感觉上比较像 docker,也采用了 tags 来区分模型的不同版本,尤其是 CLI 也采用了 pullrmrun 等等;

因为老苏的小机器不支持 Nvidia GPU,所以下面?的安装示例仅支持 CPU

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 ollama ,选择第一个 ollama/ollama,版本选择 latest

本文写作时, latest 版本对应为  0.1.27

docker 文件夹中,创建一个新文件夹 ollama,并在其中建一个子文件夹 data

文件夹装载路径说明
docker/ollama/data/root/.ollama存放模型数据

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
1143411434

容器名称

因为后面有进入容器的操作,所以这里规范下命名,就叫 ollama

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 ollama 和 子目录
mkdir -p /volume1/docker/ollama/data

# 进入 ollama 目录
cd /volume1/docker/ollama

# 运行容器(仅 CPU)
docker run -d \
   --restart unless-stopped \
   --name ollama \
   -p 11434:11434 \
   -v $(pwd)/data:/root/.ollama \
   ollama/ollama

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    restart: unless-stopped
    ports:
      - 11434:11434
    volumes:
      - ./data:/root/.ollama

然后执行下面的命令

# 新建文件夹 ollama 和 子目录
mkdir -p /volume1/docker/ollama/data

# 进入 ollama 目录
cd /volume1/docker/ollama

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:11434 ,如果看到 Ollama is running,表示服务启动正常

下载模型

官方提供了一个模型库,地址:https://ollama.com/library

你可以根据需要进行搜索,例如搜索 llama2

选中 llama2 ,你会看到关于这个模型的简介

进入 tags 查看需要的版本

关于不同参数模型文件所需要的内存,之前提过,这里简单再说一下

  • 7b:至少需要 8GB 内存;
  • 13b:至少需要 16GB 内存;
  • 33b:至少需要 32GB 内存;

老苏接下来尝试了 llama2:7bllama2-chinese:7b,从介绍看,后者采用了中文指令集来进行微调,使其具备较强的中文对话能力。目前这个中文微调参数模型总共发布了 7B13B 两种参数大小。

模型下载需进入容器内,不熟悉命令行的,可以进入 终端机 操作

执行下面的命令

# 下载模型
ollama pull llama2:7b

#下载模型(中文微调参数模型)
ollama pull llama2-chinese:7b

老苏个人更喜欢用 SSH 客户端的命令行,多一步进入容器的命令,下载是一样的

# 进入容器
docker exec --user root -it ollama /bin/bash

# 下载模型
ollama pull llama2:7b

#下载模型(中文微调参数模型)
ollama pull llama2-chinese:7b

开始下载

下载完成

开始提问

接下里就可以提问了,比如:为什么天空是蓝色的

命令行

假设已经进入容器或者尚未退出容器,可以直接运行下面的命令

# 运行模型
ollama run llama2-chinese:7b

# 填写问题

因网络中断,答案并没有生成完全,就这几个字已经花了近 2 小时

curl

用 SSH 客户端登录到群晖后,执行下面的命令

curl -X POST http://192.168.0.197:11434/api/generate -d '{
  "model": "llama2-chinese:7b",
  "prompt": "你好吗"
 }'

其中:

  • IP 需要改为你自己的主机 IP
  • model 后面是我们要使用的模型文件;
  • prompt 后面就是我们提的问题;

当然你还可以用 API 工具,不过可能还是 Web UI 的界面用起来更好,暂时找到了 Open WebUI ,有时间再找找

小结

跑大模型,需要的硬件资源是越高越好的。老苏的小机器既不支持 GPU,内存也仅仅够了最低要求的 8GB,所以每个问题回答的时间,都慢到让你怀疑人生。

但是,这并不能阻止我们追求知识和进行探索的热情。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询