本地大模型一键部署与运行框架,提供类似 Docker 的极简体验,支持 macOS、Linux 和 Windows 平台的 GPU 加速。
项目概述#
Ollama 是一个专为本地环境设计的 AI 基础设施工具,旨在解决开发者和爱好者在本地 PC 上运行开源大模型时面临的配置复杂、模型下载繁琐、硬件适配困难等痛点。
核心特性#
极简安装与运行#
- 类似 Docker 的体验,安装后即可通过一条命令拉取并运行模型
- 跨平台支持:macOS Metal、Windows DirectX/ROCm 及 Linux CUDA
- 自动利用本地 GPU 加速
模型库管理#
- 提供类似于 Docker Hub 的模型仓库,支持
ollama pull、ollama run命令 - 默认提供 4-bit 量化版本(Q4_0 等),大幅降低显存/内存占用
- 内置丰富的模型库:Llama 3、Mistral、Gemma、Qwen 等
Modelfile 机制#
- 声明式配置文件,定义模型来源、系统提示词、温度参数、停止符等
- 类似 Dockerfile 的设计理念,便于定制化
REST API 服务#
- 内置本地 HTTP 服务(默认端口 11434)
- 提供兼容 OpenAI 风格的 API 接口
- 支持流式对话,保持上下文 Session
- 可生成文本向量(用于 RAG)
多模态支持#
- 支持 LLaVA、BakLLaVA 等视觉语言模型
- 具备图像理解能力
技术架构#
- 技术栈:Go 语言编写(主逻辑),C++(底层推理库 binding)
- 推理引擎:集成 llama.cpp 作为核心推理引擎
- 模型格式:采用 GGUF 格式,将权重、分词器和元数据打包在单一文件中
- 内存管理:动态加载/卸载模型,支持 mmap 内存映射加快加载速度
运行机制#
- Ollama Server:后台常驻进程,负责管理模型加载、GPU 内存分配和请求调度
- Ollama CLI:客户端工具,通过 Unix Socket/Named Pipe 与 Server 通信
- 支持多请求并发队列管理(视硬件能力而定)
使用示例#
# 安装后直接运行模型
ollama run llama3
# 查看本地已下载模型
ollama list
# API 调用示例
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "Why is the sky blue?"
}'
生态集成#
- Web UI: Open WebUI、Text Generation Web UI
- 官方 SDK: ollama-python、ollama-js
- 框架集成: LangChain、LlamaIndex 均有深度集成插件