十四、本地运行大模型——Ollama


除了可以调用商业api,如前面一直用的OpenAI的模型,我们也可以部署自己的模型,或者说在很多环境下,对于数据的保密性要求,我们只能使用本地部署大模型。提到大模型部署,不得不提Ollama,Ollama 的出现极大地简化了在个人计算机上本地运行大模型的过程。

一、Ollama

Ollama 是一个开源的、轻量级的大型语言模型服务工具。它将模型的权重、配置和数据打包成一个统一的格式(Modelfile),并提供了一个简单的命令行界面和 API 服务,让用户可以轻松地在本地下载、运行和管理这些模型。

Ollama 的核心优势在于其易用性高效性。你不再需要深入了解复杂的模型部署细节,也无需手动配置繁琐的运行环境。通过几条简单的命令,即可在自己的电脑上(支持 macOS、Windows 和 Linux)启动大模型。

整个对大模型的管理过程就像docker,比如ollama pull <llm_name>拉取大模型并运行大模型,就像docker pull <image>

二、Ollama部署大模型

使用 Ollama 部署大模型的过程非常直接。首先,你需要从Ollama 官网下载并安装适合你操作系统的客户端。

安装完成后,打开你的终端(命令行工具),就可以通过ollama run命令来下载并运行一个模型。例如,想要运行 Llama 3 的 8B 版本,只需执行:

ollama run llama3

Ollama 会自动从其模型库中下载模型文件,并在下载完成后启动一个交互式的命令行界面,你便可以直接与模型进行对话了。

你可以在Ollama Library页面找到所有支持的模型列表和它们的标签。

三、Ollama 常用操作

下载并运行模型

ollama pull <llm_name>

列出本地已下载模型

ollama list

运行已下载模型

ollama run <llm_name>

删除一个模型

ollama rm <llm_name>

查看模型详情信息

ollama show --modelfile <llm_name>

四、Ollama环境变量

Ollama的设置信息需要通过系统的环境变量来设置,以MacOS为例

环境变量描述默认值
OLLAMA_HOST设置 Ollama 服务监听的 IP 地址和端口。如果你希望从网络中的其他设备访问 Ollama,可以将其设置为 0.0.0.0:11434127.0.0.1:11434
OLLAMA_MODELS指定存放下载模型的目录路径。这对于将模型存储在具有更大空间的外部驱动器上非常有用。~/.ollama/models
OLLAMA_ORIGINS设置允许访问 Ollama API 的跨域来源 (CORS)。可以设置为逗号分隔的 URL 列表。为了允许所有来源,可以设置为 *,但这在生产环境中应谨慎使用。(未设置)
OLLAMA_TMPDIR指定用于存放临时文件的位置。系统的临时目录
OLLAMA_DEBUG设置为1true 以启用详细的调试日志输出。false
OLLAMA_NOHISTORY如果设置为1true,在ollama run 的交互模式下将禁用历史记录功能。false

例如:

设置ollama监听端口
export OLLAMA_HOST=0.0.0.0:12345
ollama serve

其它还有一些调优的参数,一般不需要修改。

五、主流本地大模型工具对比

当然,除了 Ollama,还有一些其他的优秀工具。

特性OllamavLLMXinference
主要目标极致简化。让任何人都可以在个人电脑上通过一条命令快速运行开源大模型。极致性能。为生产环境提供最高的推理吞吐量和最低的延迟。功能全面与可扩展。提供一站式的、可扩展的推理平台,支持多种 AI 模型。
易用性极高。以命令行工具为核心,开箱即用,几乎零配置。较低。需要编写 Python 服务代码,对环境和配置有一定要求。高。提供命令行、WebUI 和 Python SDK,兼顾了易用性和灵活性。
性能与优化基础水平。主要优化在于使用量化模型(GGUF),本身不以高性能并发为目标。顶尖水平。核心优势,使用 PagedAttention 等先进技术,吞吐量和并发性能极高。良好。性能优于 Ollama,支持量化模型和分布式部署来提升性能,但单点性能不如 vLLM。
支持的模型类型主要支持语言模型 (LLM),特别是 GGUF 格式。主要支持语言模型 (LLM),对主流 PyTorch 模型格式支持良好。非常广泛 (核心优势)。原生支持语言模型、嵌入模型、重排模型、多模态模型等。
API 与集成提供 REST API 和 Python/JS 库,但功能相对基础。不直接提供 API,需结合 FastAPI 等 Web 框架自行构建服务。提供与 OpenAI 兼容的 REST API,集成非常方便,可无缝对接现有生态。
硬件支持非常广泛。支持 NVIDIA GPU, Apple Silicon (M系列芯片) 和纯 CPU 运行。严格限制。主要为 NVIDIA GPU 设计和优化,依赖 CUDA。广泛。支持 NVIDIA/AMD GPU, Apple Silicon 和 CPU。
分布式能力无。设计为单机本地运行。支持。支持张量并行,可将大模型分布在多张 GPU 上运行。原生支持 (核心优势)。可以轻松地部署在多设备或多服务器的分布式集群中。
管理界面无。纯命令行操作。无。需要自行构建。有。提供一个直观的 WebUI 来启动、管理和测试模型。
核心应用场景个人开发者、爱好者、研究人员在本地电脑上进行快速实验、学习和原型验证。对性能要求苛刻的生产环境,如需要服务大量用户的在线 AI 应用。构建复杂的 AI 应用(如 RAG)、企业内部模型服务平台、需要从单机平滑扩展到集群的场景。
一句话总结本地运行大模型最简单的方式。让大模型在生产中跑得最快的方式。功能最全面的、可扩展的 AI 推理平台。
### 本地部署大规模模型 Ollama 的教程 #### 工具简介 Ollama 是一种用于在本地环境部署和运行大型语言模型的工具,其操作命令类似于 Docker 命令集。这使得熟悉容器化应用的开发者能够快速上手并利用该平台进行开发工作[^1]。 #### 部署准备 为了成功安装和配置 Ollama,在开始之前需确认计算机满足最低硬件需求,并已预先安装好必要的软件依赖项如 Docker 或者其他支持虚拟化的解决方案。由于具体版本可能会有所变化,请访问官方文档获取最新的兼容性和设置指导[^2]。 #### 初始化服务 通过执行 `ollama serve` 来启动核心的服务进程,这是后续所有交互的基础。一旦此命令被执行,将会初始化后台守护程序以便管理和调度各个实例的任务请求。 ```bash $ ollama serve ``` #### 创建与管理模型 对于初次使用者来说,可以先尝试从远程仓库拉取预训练好的模型本地存储中,使用如下指令完成这一过程: ```bash $ ollama pull model_name ``` 这里 `model_name` 应替换为目标模型的实际名称。之后可以通过 `ollama list` 查看当前已经加载至系统的全部可用资源列表;如果想要进一步查看某个特定条目的详情,则可调用 `ollama show model_name`。 当准备好要使用的模型后,便能借助 `ollama run model_name` 开始实际推理流程或是提供 API 接口供外部应用程序调用了。此外还有诸如复制(`cp`)、删除(`rm`)等功能帮助维护整个生命周期内的资产状态调整。 #### 故障排除提示 遇到问题时不要慌张,记得查阅内置的帮助手册——只需输入 `ollama help [command]` 即可以获得关于任意子命令的具体说明和支持选项介绍。同时也可以参考社区论坛或联系技术支持团队寻求更专业的建议和服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷学技术的梁胖胖yo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值