本地部署大模型?看这篇就够了,Ollama 部署和实战

本地部署大模型(Ollama) 摘要: 本文介绍了如何部署大语言模型,从硬件需求到具体操作步骤。硬件配置分为三档:入门(4GB显存GPU)、流畅运行(8GB显存GPU)和专业级(多张企业GPU)。核心步骤包括:1) 安装Ollama工具;2) 下载模型(如DeepSeek 7B);3) 运行测试模型。还提供了进阶选项,如使用图形界面或API服务。适合不同需求的用户快速上手部署大模型。(149字) 阅读详情
AI摘要

本文介绍了Ollama这一本地大模型部署和运行工具,详细阐述了其在Mac、Windows和Linux系统的部署方法,包括裸机和Docker部署。还说明了Ollama的使用,如常用命令、模型库、自定义模型、API服务、OneAPI集成及Open WebUI界面搭建等,最后分享了AI大模型学习资料。

写在前面

前几篇,分享的都是如何白嫖国内外各大厂商的免费大模型服务~

有小伙伴问,如果我想在本地搞个大模型玩玩,有什么解决方案?

Ollama,它来了,专为在本地机器便捷部署和运行大模型而设计。

也许是目前最便捷的大模型部署和运行工具,配合Open WebUI,人人都可以拥有大模型自由。

今天,就带着大家实操一番,从 0 到 1 玩转 Ollama。

1. 部署

1.1 Mac & Windows

相对简单,根据你电脑的不同操作系统,下载对应的客户端软件,并安装:

  • macOS:https://ollama.com/download/Ollama-darwin.zip
  • Windows:https://ollama.com/download/OllamaSetup.exe

1.2 Linux

推荐大家使用 Linux 服务器进行部署,毕竟大模型的对机器配置还是有一定要求。

裸机部署

step 1: 下载 & 安装

命令行一键下载和安装:

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

如果没有报错,它会提示你 ollama 的默认配置文件地址:

Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.

接下来,我们采用如下命令查看下服务状态, running 就没问题了:

systemctl status ollama

查看是否安装成功,出现版本号说明安装成功:

ollama -v

step 2: 服务启动

浏览器中打开:http://your_ip:11434/,如果出现 Ollama is running,说明服务已经成功运行。

img

step 3: 修改配置(可选) 如果有个性化需求,需要修改默认配置:

配置文件在:/etc/systemd/system/ollama.service,采用任意编辑器打开,推荐 vim

  1. 默认只能本地访问,如果需要局域网内其他机器也能访问(比如嵌入式设别要访问本地电脑),需要对 HOST 进行配置,开启监听任何来源IP
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
  1. 如果需要更改模型存放位置,方便管理,需要对 OLLAMA_MODELS 进行配置:
[Service]
Environment="OLLAMA_MODELS=/data/ollama/models"

不同操作系统,模型默认存放在:

macOS: ~/.ollama/models
Linux: /usr/share/ollama/.ollama/models
Windows: C:\Users\xxx\.ollama\models
  1. 如果有多张 GPU,可以对 CUDA_VISIBLE_DEVICES 配置,指定运行的 GPU,默认使用多卡。
Environment="CUDA_VISIBLE_DEVICES=0,1"

4.配置修改后,需要重启 ollama

systemctl daemon-reload
systemctl restart ollama

注意:上面两条指令通常需要同时使用:只要你修改了任意服务的配置文件(如 .service 文件),都需要运行systemctl daemon-reload使更改生效。

Docker 部署

我们也介绍下 Docker 部署,无需配置各种环境,相对小白来说,更加友好。

step 1: 一键安装

如果是一台没有 GPU 的轻量级服务器:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama

简单介绍下这个命令的参数:

  • docker run:用于创建并启动一个新的 Docker 容器。
  • -d:表示以分离模式(后台)运行容器。
  • -v ollama:/root/.ollama:将宿主机上的 ollama 目录挂载到容器内的 /root/.ollama 目录,便于数据持久化。
  • -p 11434:11434:将宿主机的 11434 端口映射到容器的 11434 端口,使外部可以访问容器服务。
  • –name ollama:为新创建的容器指定一个名称为 ollama,便于后续管理。
  • –restart always:容器在退出时自动重启,无论是因为错误还是手动停止。
  • ollama/ollama:指定要使用的 Docker 镜像,这里是 ollama 镜像。

宿主机上的数据卷 volume 通常在 /var/lib/docker/volumes/,可以采用如下命令进行查看:

[root@instance-20240702-1632 ~]# docker volume ls
DRIVER    VOLUME NAME
local     dockers_postgres-data
local     ollama
local     open-webui
[root@instance-20240702-1632 ~]# ls /var/lib/docker/volumes/
backingFsBlockDev  dockers_postgres-data  metadata.db  ollama  open-webui

如果拥有 Nvidia-GPU:

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

安装成功后,注意要给服务器打开 11434 端口的防火墙,然后浏览器打开 http://your_ip:11434/,如果出现 Ollama is running,说明服务已经成功运行。

img

step 2: 进入容器

如何进入容器中执行指令呢?

docker exec -it ollama /bin/bash

参数说明:

  • exec:在运行中的容器中执行命令。
  • -it:表示以交互模式运行,并分配一个伪终端。
  • ollama:容器的名称。
  • /bin/bash:要执行的命令,这里是打开一个 Bash shell。

执行后,你将进入容器的命令行,和你本地机器上使用没有任何区别。

如果不想进入容器,当然也可以参考如下指令,一键运行容器中的模型:

docker exec -it ollama ollama run qwen2:0.5b

如果一段时间内没有请求,模型会自动下线。

2. 使用

2.1 Ollama 常用命令

Ollama 都有哪些指令?

终端输入 ollama:

Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.

我们翻译过来,和 docker 命令非常类似:

ollama serve # 启动ollama
ollama create # 从模型文件创建模型
ollama show  # 显示模型信息
ollama run  # 运行模型,会先自动下载模型
ollama pull  # 从注册仓库中拉取模型
ollama push  # 将模型推送到注册仓库
ollama list  # 列出已下载模型
ollama ps  # 列出正在运行的模型
ollama cp  # 复制模型
ollama rm  # 删除模型

2.2 Ollama 模型库

类似 Docker 托管镜像的 Docker Hub,Ollama 也有个 Library 托管支持的大模型。

传送门:https://ollama.com/library

从0.5B 到 236B,各种模型应有尽有,大家可以根据自己的机器配置,选用合适的模型。

img

同时,官方也贴心地给出了不同 RAM 推荐的模型大小,以及命令:

img

注:至少确保,8GB的 RAM 用于运行 7B 模型,16GB 用于运行 13B 模型,32GB 用于运行 33B 模型。这些模型需经过量化。

因为我的是一台没有 GPU 的轻量级服务器,所以跑一个 0.5B 的 qwen 模型,给大家做下演示:

root@535ec4243693:/# ollama run qwen2:0.5b
pulling manifest 
pulling 8de95da68dc4... 100% ▕████████████████████████████████████▏ 352 MB                         
pulling 62fbfd9ed093... 100% ▕████████████████████████████████████▏  182 B                         
pulling c156170b718e... 100% ▕████████████████████████████████████▏  11 KB                         
pulling f02dd72bb242... 100% ▕████████████████████████████████████▏   59 B                         
pulling 2184ab82477b... 100% ▕████████████████████████████████████▏  488 B                         
verifying sha256 digest 
writing manifest 
removing any unused layers 
success 
>>> 你是谁
我是来自阿里云的超大规模语言模型——通义千问。我能够理解、生产、传播各种语言和文字,可以回答您在任
何语言或任何问题的问题。

>>> Send a message (/? for help)

2.3 自定义模型

如果要使用的模型不在 Ollama 模型库怎么办?

GGUF (GPT-Generated Unified Format)模型

GGUF 是由 llama.cpp 定义的一种高效存储和交换大模型预训练结果的二进制格式。

Ollama 支持采用 Modelfile 文件中导入 GGUF 模型。

下面我们以本地的 llama3 举例,详细介绍下实操流程:

step 1: 新建一个文件名为 Modelfile 的文件,然后在其中指定 llama3 模型路径:

FROM /root/models/xxx/Llama3-FP16.gguf

step 2: 创建模型

ollama create llama3 -f Modelfile

step 3: 运行模型

ollama run llama3

终端出现 >>,开启和 Ollama 的对话旅程吧~

下面是几个常用案例:

  • 多行输入:用"""包裹
>>> """Hello,
... world!
... """
I'm a basic program that prints the famous "Hello, world!" message to the console.
  • 多模态模型:文本 + 图片地址
>>> What's in this image? /Users/jmorgan/Desktop/smile.png
The image features a yellow smiley face, which is likely the central focus of the picture.
  • 将提示作为参数传递
$ ollama run llama3 "Summarize this file: $(cat README.md)"
 Ollama is a lightweight, extensible framework for building and running language models on the local machine. 

PyTorch or Safetensors 模型

Ollama 本身不支持 PyTorch or Safetensors 类型,不过可以通过 llama.cpp 进行转换、量化处理成 GGUF 格式,然后再给 Ollama 使用。

关于 llama.cpp 的使用,小伙伴可以前往官方仓库:https://github.com/ggerganov/llama.cpp。下载后需要编译使用,成功后会在目录下生成三个可执行文件:

main:模型推理
quantize:模型量化,包括1.5位、2位、3位、4位、5位、6位和8位整数量化
server:提供模型API服务

不过我们只能需要用到它的模型转换功能,还是以 llama3 举例:首先安装项目依赖,然后调用 convert.py 实现模型转换:

pip install -r requirements.txt
python convert.py  /root/xxx/Llama3-Chinese-8B-Instruct/ --outtype f16 --vocab-type bpe --outfile ./models/Llama3-FP16.gguf

提示词实现模型定制

刚才我们介绍了 Modelfile,其中我们还可以自定义提示词,实现更个性化的智能体。

假设现在你从模型库下载了一个 llama3:

ollama pull llama3

然后我们新建一个 Modelfile,其中输入:

FROM llama3

# 设置温度参数
PARAMETER temperature 0.7

# 设置SYSTEM 消息
SYSTEM """
你是猴哥的 AI 智能助手,将基于猴哥发表的所有文章内容回答问题,拒绝回答任何无关内容。
"""

Ollama 实现模型量化

Ollama 原生支持 FP16 or FP32 模型的进一步量化,支持的量化方法包括:

Q4_0 Q4_1 Q5_0 Q5_1 Q8_0

K-means Quantizations:
Q3_K_S Q3_K_M Q3_K_L Q4_K_S Q4_K_M Q5_K_S Q5_K_M Q6_K

在编写好 Modelfile 文件后,创建模型时加入 -q 标志:

FROM /path/to/my/gemma/f16/model
ollama create -q Q4_K_M mymodel -f Modelfile

2.3 API 服务

除了本地运行模型以外,还可以把模型部署成 API 服务。

执行下述指令,可以一键启动 REST API 服务:

ollama serve

下面介绍两个常用示例:

1、生成回复

curl http://129.150.63.xxx:11434/api/generate -d '{
  "model": "qwen2:0.5b",
  "prompt":"Why is the sky blue?",
  "stream":false
}'

2、模型对话

curl http://localhost:11434/api/chat -d '{
  "model": "qwen2:0.5b",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ],
  "stream":false
}'

更多参数和使用,可参考 API 文档:https://github.com/ollama/ollama/blob/main/docs/api.md

2.4 OneAPI 集成

前段时间,我们已经完成了 OneAPI 的部署。

OneAPI 也支持 Ollama 模型,我们只需在 OneAPI 中为 Ollama 添加一个渠道。

img

创建好之后,点击 测试 一下,右上角出现提示,说明已经配置成功,接下来就可以采用 OpenAI 的方式调用了。

img

2.5 Open WebUI 界面搭建

Open WebUI 是一个可扩展的自托管 WebUI,前身就是 Ollama WebUI,为 Ollama 提供一个可视化界面,可以完全离线运行,支持 Ollama 和兼容 OpenAI 的 API。

🚀 一键直达:https://github.com/open-webui/open-webui

Open WebUI 部署

我们直接采用 docker 部署 Open WebUI:

因为我们已经部署了 Ollama,故采用如下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

其中:--add-host=host.docker.internal:host-gateway 是为了添加一个主机名映射,将 host.docker.internal 指向宿主机的网关,方便容器访问宿主机服务

假设你之前没有安装过 Ollama,也可以采用如下镜像(打包安装Ollama + Open WebUI):

docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

Open WebUI 使用

在打开主机 3000 端口的防火墙之后,浏览器中输入:http://your_ip:3000/,注册一个账号:

img

可以发现界面和 ChatGPT 一样简洁美观,首先需要选择一个模型,由于我们只部署了 qwen2:0.5b,于是先用它试试:

img

右上角这里可以设置系统提示词,以及模型参数等等:

img

在个人设置这里,可以看到内置的 TTS 服务:img

管理员面板这里,有更多探索性功能,比如图像生成,如果你部署了 StableDiffusion,这里同样支持调用:

img

不得不说,Open WebUI 的功能真的非常强大,更多功能可参考官方文档:https://docs.openwebui.com/

感兴趣的小伙伴赶紧去试试吧~

3. 文末福利

相信看到这里的你,已经基本可以玩转 Ollama 了。

只不过觉得上述流程略显麻烦?

没问题,你的困惑早有人帮你搞定了,GitHub 上有开发者做了 docker-compose 一键整合安装包:

传送门:https://github.com/valiantlynx/ollama-docker

你只需要一行命令:

docker-compose up -d

就能一键启动 Ollama + Open WebUI~

启动成功后,注意看一下不同容器的端口号:

docker ps

接下来的操作,和前两部分一致,快去愉快玩耍吧~

写在最后

至此,我们一起走完了 Ollama 的部署和实战流程。

在我看来,Ollama 也许是目前最便捷的大模型部署和使用工具,对小白非常友好。

简单的命令行操作,用户即可快速启动和管理模型,极大降低了技术门槛,用户可以专注于模型的应用,而无需关注底层技术细节。此外,Ollama 的离线运行也为数据安全提供了保障。

期待大家在使用 Ollama 的过程中,发现更多有趣的 AI 应用场景。让我们一起推动大模型技术的应用落地,探索更广阔的可能性!

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

Ollama部署本地大模型详细教程 创建ModelfilePARAMETER num_gpu 50 # GPU 层卸载比例(0~100)场景是否推荐本地开发/测试 Agent✅ 强烈推荐内部知识库问答(RAG)✅ 推荐(配合 Pgvector)生产环境高并发服务⚠️ 谨慎(建议评估 vLLM / Triton)需要 Function Calling 的 Agent❌ 不推荐(改用 DashScope API)🔑核心价值Ollama 是“本地大模型的 Docker”——让开源模型像容器一样 easy to run。 阅读详情

相关推荐

本地LLM部署--Ollama 入门教程

Ollama 是一款专注于快速开发、部署和运行大语言模型的平台。无论是学习AI,还是将其集成到实际项目中,Ollama 都能提供简单高效的工具和方法。本教程介绍了如何在 Windows 平台上安装和使用 Ollama,包括安装、配置、加载模型和运行推理任务的完整流程。同时,还提供了解决常见问题的方法。如果想了解更多高级功能,请访问官方文档。

qq_43819568的博客 4348

【超详细教程】本地部署大模型:Ollama部署与实战指南,一文搞定!

前几篇,分享的都是如何白嫖国内外各大厂商的免费大模型服务~有小伙伴问,如果我想在本地搞个大模型玩玩,有什么解决方案?Ollama,它来了,专为在本地机器便捷部署和运行大模型而设计。也许是目前最便捷的大模型部署和运行工具,配合OpenWebUI,人人都可以拥有大模型自由。今天,就带着大家实操一番,从0到1玩转Ollama。

2401_84495872的博客 1万+

【深度学习|语义分割之UNet】如何使用ResNet50 作为 U-Net 网络的骨干网络(backbone)并使用预训练的 ResNet50 模型。附代码及解读。

【深度学习|语义分割之UNet】如何使用ResNet50 作为 U-Net 网络的骨干网络(backbone)并使用预训练的 ResNet50 模型。附代码及解读。

985小水博的摸鱼日常 3090

本地部署大模型?Ollama 部署和实战,看这篇就够了

Ollama 也许是当前最便捷的大模型部署工具,配合Open WebUI,人人都可以拥有大模型自由。

u010522887的专栏 4万+

第02章:HSA-Runtime架构概览

摘要: 本章深入解析HSA Runtime的三层架构设计,包括公共API层(C语言接口)、核心实现层(C++业务逻辑)和驱动抽象层(硬件交互)。重点介绍了Runtime的核心组件(Agent、Queue、Signal、Memory)及其关系,以及初始化流程、配置选项和调试功能。通过学习,读者将掌握HSA Runtime的整体架构,为后续模块学习奠定基础。

图形/计算GPU的驱动与虚拟化技术分享园地 2928

2024年12月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

他尝试编写了如下程序,请你完善划线处的代码,计算出在h点s分放学时,三个时针分别经过3点位置的次数,用一个元组表示各指针经过3点位置的次数 (时针次数,分针次数,秒针次数) ,并输出。所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。匿名函数,冒号之前表示的是这个函数的参数,冒号之后表示返回值,可以使用默认值,使用时需要将它赋值给一个变量,设置默认值不是必须,如无传入实参则使用默认值,如有传入实参则使用实参。

人生就是一个不断学习的过程 370

本地部署大模型?Ollama 部署和实战,看这篇就够了!

前几篇,分享的都是如何白嫖国内外各大厂商的免费大模型服务~有小伙伴问,如果我想在本地搞个大模型玩玩,有什么解决方案?Ollama,它来了,专为在本地机器便捷部署和运行大模型而设计。也许是目前最便捷的大模型部署和运行工具,配合Open WebUI,人人都可以拥有大模型自由。今天,就带着大家实操一番,从 0 到 1 玩转 Ollama。

python1234567_的博客 1万+

RK3588部署YOLO模型 包含模型量化+npu轻量化+ubuntu+RGA图像加速和多线程模型加速 包源码

本专栏为深度学习部署全栈学习体系,包含68篇由浅入深的教程,专为零基础学习者设计。内容涵盖TensorRT与RK3588平台部署技术,包含Jetson系列和RK系列硬件部署实战,采用"理论+源码+实战"三位一体的教学模式。学习路径从基础环境搭建到模型优化、容器化部署、多硬件平台适配,最终掌握工业级AI部署能力。特色包括C++基础教学、Docker容器化、INT8量化、多线程优化等核心技术,并附带YOLOv5、人脸检测、车牌识别等多个实战项目源码。适合算法工程师转部署方向、嵌入式开发者及对

FJN110的博客 3731

本地部署大模型?Ollama 部署和实战,看这篇就够了!_ollama本地部署

本文介绍了如何在本地部署和使用Ollama大模型服务。主要内容包括:1) Ollama在不同系统(Mac、Windows、Linux)的安装方法,其中Linux提供裸机和Docker两种部署方式;2) 服务配置说明,如修改模型存储路径、指定GPU设备等;3) 基本使用指南,包括常用命令解释和官方模型库介绍。Ollama作为便捷的大模型本地部署工具,配合Open WebUI可实现人人拥有大模型自由的目标,适合开发者和AI爱好者快速搭建本地大模型环境。

Z4400840的博客 2279

SpringBoot+Vue+kkFileView实现文档管理(文档上传、下载、在线预览)

上面在使用OpenOffice实现doc、excel、ppt等文档的管理和预览。除此之外可用kkFileView实现包括且更多文档的预览。

BADAO_LIUMANG_QIZHI的博客 1万+

VMware ESXi 直通GPU

虚拟机需要独享GPU资源,那么就需要用到DirectPath I/O (直通),ESXi hypervisor 把 GPU 设备直接映射成虚机中的 GPU 设备,供应用使用。注意,内存注意一定要勾选预留,否则开机后报错如下:无法打开虚拟机 win10 的电源。1.ESXi主机,管理,硬件,PCI设备,勾选GPU卡,切换直通,会提示要求重启主机,重启主机之后,该GPU设备直通一栏显示为“活动”。先确认虚拟机是否EFI引导:编辑虚拟机 - 虚拟机选项 - 引导选项 - 固件 - EFI。

liwension的博客 6293
上一篇: 这是我见过最强的AI大模型教程书籍!熬夜也要看完!
下一篇: Qwen2大模型微调入门实战(附完整代码)
AI大模型_学习君
博客等级 码龄3年 6137粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值