Ollama 是一个开源的本地大语言模型运行框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。
Ollama 支持多种操作系统,包括 macOS、Windows、Linux 以及通过 Docker 容器运行。
Ollama 提供对模型量化的支持,可以显著降低显存要求,使得在普通家用计算机上运行大型模型成为可能。
谁适合阅读本教程?
Ollama 适用于开发者、研究人员以及对数据隐私有较高要求的用户,它可以帮助用户在本地环境中快速部署和运行大型语言模型,同时提供灵活的定制化选项。
使用 Ollama,我们可以在在本地运行 Llama 3.3、DeepSeek-R1、Phi-4、Mistral、Gemma 2 和其他模型。
相关链接
Ollama 官方地址:Ollama
Github 开源地址:https://github.com/ollama/ollama
Ollama 官方文档:https://github.com/ollama/ollama/tree/main/docs
Ollama 简介
Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。
Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。
Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。
与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,使得机器学习不再是只有深度技术背景的开发者才能触及的领域。
Ollama 支持多种硬件加速选项,包括纯 CPU 推理和各类底层计算架构(如 Apple Silicon),能够更好地利用不同类型的硬件资源。
核心功能与特点
-
多种预训练语言模型支持
Ollama 提供了多种开箱即用的预训练模型,包括常见的 GPT、BERT 等大型语言模型。用户可以轻松加载并使用这些模型进行文本生成、情感分析、问答等任务。 -
易于集成和使用
Ollama 提供了命令行工具(CLI)和 Python SDK,简化了与其他项目和服务的集成。开发者无需担心复杂的依赖或配置,可以快速将 Ollama 集成到现有的应用中。 -
本地部署与离线使用
不同于一些基于云的 NLP 服务,Ollama 允许开发者在本地计算环境中运行模型。这意味着可以脱离对外部服务器的依赖,保证数据隐私,并且对于高并发的请求,离线部署能提供更低的延迟和更高的可控性。 -
支持模型微调与自定义
用户不仅可以使用 Ollama 提供的预训练模型,还可以在此基础上进行模型微调。根据自己的特定需求,开发者可以使用自己收集的数据对模型进行再训练,从而优化模型的性能和准确度。 -
性能优化
Ollama 关注性能,提供了高效的推理机制,支持批量处理,能够有效管理内存和计算资源。这让它在处理大规模数据时依然保持高效。 -
跨平台支持
Ollama 支持在多个操作系统上运行,包括 Windows、macOS 和 Linux。这样无论是开发者在本地环境调试,还是企业在生产环境部署,都能得到一致的体验。 -
开放源码与社区支持
Ollama 是一个开源项目,这意味着开发者可以查看源代码,进行修改和优化,也可以参与到项目的贡献中。此外,Ollama 有一个活跃的社区,开发者可以从中获取帮助并与其他人交流经验。
应用场景
-
内容创作:
帮助作家、记者、营销人员快速生成高质量的内容,例如博客文章、广告文案等。 -
编程辅助::
帮助开发者生成代码、调试程序或优化代码结构。 -
教育和研究:
辅助学生和研究人员进行学习、写作和研究,例如生成论文摘要或解答问题。 -
跨语言交流:
提供高质量的翻译功能,帮助用户打破语言障碍。 -
个人助手:
作为一个智能助手,帮助用户完成日常任务,例如撰写邮件、生成待办事项等。
Ollama 与其他 LLM 的区别
区别维度 | Ollama 的特点 | 说明 |
---|---|---|
本地化 | 更注重本地运行 | 与 ChatGPT 等依赖云服务的 LLM 不同,适合对数据隐私要求较高的用户 |
灵活性 | 可加载不同模型 | 用户可以根据需要加载不同的模型,而无需局限于单一的模型 |
开源 | 开源项目 | 用户可以自由地修改和扩展其功能 |
Ollama 安装
Ollama 支持多种操作系统,包括 macOS、Windows、Linux 以及通过 Docker 容器运行。
Ollama 对硬件要求不高,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。
- CPU:多核处理器(推荐 4 核或以上)。
- GPU:如果你计划运行大型模型或进行微调,推荐使用具有较高计算能力的 GPU(如 NVIDIA 的 CUDA 支持)。
- 内存:至少 8GB RAM,运行较大模型时推荐 16GB 或更高。
- 存储:需要足够的硬盘空间来存储预训练模型,通常需要 10GB 至数百 GB 的空间,具体取决于模型的大小。
- **软件要求:**确保系统上安装了最新版本的 Python(如果打算使用 Python SDK)。
Ollama 官方下载地址:Download Ollama on macOS。
我们可以根据不同的系统下载对应的包。
1、Windows 系统安装
打开浏览器,访问 Ollama 官方网站:Download Ollama on macOS,下载适用于 Windows 的安装程序。
下载地址为:https://ollama.com/download/OllamaSetup.exe。
下载完成后,双击安装程序并按照提示完成安装。
验证安装
打开命令提示符或 PowerShell,输入以下命令验证安装是否成功:
ollama --version
如果显示版本号,则说明安装成功。
更改安装路径(可选)
如果需要将 Ollama 安装到非默认路径,可以在安装时通过命令行指定路径,例如:
OllamaSetup.exe /DIR="d:\some\location"
这样可以将 Ollama 安装到指定的目录。
2、macOS 系统安装
打开浏览器,访问 Ollama 官方网站:Download Ollama on macOS,下载适用于 macOS 的安装程序。
下载地址为:https://ollama.com/download/Ollama-darwin.zip。
下载完成后,双击安装包并按照提示完成安装。
安装完成后,通过以下命令验证:
ollama --version
如果显示版本号,则说明安装成功。
3、Linux 系统安装
Linux 下可以使用一键安装脚本,我们打开终端,运行以下命令:
curl -fsSL https://ollama.com/install.sh | bash
安装完成后,通过以下命令验证:
ollama --version
如果显示版本号,则说明安装成功。
4、Docker 安装
如果你熟悉 Docker,也可以通过 Docker 安装 Ollama。
官方 Docker 镜像 ollama/ollama 可在 Docker Hub 上获取:https://hub.docker.com/r/ollama/ollama。
拉取 Docker 镜像:
docker pull ollama/ollama
运行容器:
docker run -p 11434:11434 ollama/ollama
访问 http://localhost:11434 即可使用 Ollama。
Ollama 运行模型
Ollama 运行模型使用 ollama run 命令。
例如我们要运行 Llama 3.2 并与该模型对话可以使用以下命令:
ollama run llama3.2
执行以上命令如果没有该模型会去下载 llama3.2 模型:
等待下载完成后,我们在终端中,输入以下命令来加载 LLama3.2 模型并进行交互:
writing manifest
success
>>> 你好
Hello
>>> 能讲中文吗
是的,我可以在 Chinese 中对話。哪些话题或问题想要了解我呢?
结束对话可以输入 /bye 或按 Ctrl+d 按键来结束。
我们可以使用 ollama list,查看已安装的模型:
NAME ID SIZE MODIFIED
llama3.2 baf6a787fdff 1.3 GB 4 minutes ago
Ollama 支持的模型可以访问:library
下表列出一些模型的下载命令:
模型 | 参数 | 大小 | 下载命令 |
---|---|---|---|
Llama 3.3 | 70B | 43GB | ollama run llama3.3 |
Llama 3.2 | 3B | 2.0GB | ollama run llama3.2 |
Llama 3.2 | 1B | 1.3GB | ollama run llama3.2:1b |
Llama 3.2 Vision | 11B | 7.9GB | ollama run llama3.2-vision |
Llama 3.2 Vision | 90B | 55GB | ollama run llama3.2-vision:90b |
Llama 3.1 | 8B | 4.7GB | ollama run llama3.1 |
Llama 3.1 | 405B | 231GB | ollama run llama3.1:405b |
Phi 4 | 14B | 9.1GB | ollama run phi4 |
Phi 3 Mini | 3.8B | 2.3GB | ollama run phi3 |
Gemma 2 | 2B | 1.6GB | ollama run gemma2:2b |
Gemma 2 | 9B | 5.5GB | ollama run gemma2 |
Gemma 2 | 27B | 16GB | ollama run gemma2:27b |
Mistral | 7B | 4.1GB | ollama run mistral |
Moondream 2 | 1.4B | 829MB | ollama run moondream |
Neural Chat | 7B | 4.1GB | ollama run neural-chat |
Starling | 7B | 4.1GB | ollama run starling-lm |
Code Llama | 7B | 3.8GB | ollama run codellama |
Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
LLaVA | 7B | 4.5GB | ollama run llava |
Solar | 10.7B | 6.1GB | ollama run solar |
通过 Python SDK 使用模型
如果你希望将 Ollama 与 Python 代码集成,可以使用 Ollama 的 Python SDK 来加载和运行模型。
1. 安装 Python SDK
首先,需要安装 Ollama 的 Python SDK,打开终端,执行以下命令:
pip install ollama
2. 编写 Python 脚本
接下来,你可以使用 Python 代码来加载和与模型交互。
以下是一个简单的 Python 脚本示例,演示如何使用 LLama3.2 模型来生成文本:
实例
import ollama
response = ollama.generate(
model="llama3.2", # 模型名称
prompt="你是谁。" # 提示文本
)
print(response)
3. 运行 Python 脚本
在终端中运行你的 Python 脚本:
python test.py
你会看到模型根据你的输入返回的回答。
4.对话模式
实例
from ollama import chat
response = chat(
model="llama3.2",
messages=[
{"role": "user", "content": "为什么天空是蓝色的?"}
]
)
print(response.message.content)
此代码会与模型进行对话,并打印模型的回复。
5. 流式响应
实例
from ollama import chat
stream = chat(
model="llama3.2",
messages=[{"role": "user", "content": "为什么天空是蓝色的?"}],
stream=True
)
for chunk in stream:
print(chunk["message"]["content"], end="", flush=True)
此代码会以流式方式接收模型的响应,适用于处理大数据。
Ollama 相关命令
Ollama 提供了多种命令行工具(CLI)供用户与本地运行的模型进行交互。
我们可以用 ollama --help 查看包含有哪些命令:
Large language model runner
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
stop Stop a running 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
1、使用方法
-
ollama [flags]:使用标志(flags)运行 ollama。
-
ollama [command]:运行 ollama 的某个具体命令。
2、可用命令
- serve:启动 ollama 服务。
- create:根据一个 Modelfile 创建一个模型。
- show:显示某个模型的详细信息。
- run:运行一个模型。
- stop:停止一个正在运行的模型。
- pull:从一个模型仓库(registry)拉取一个模型。
- push:将一个模型推送到一个模型仓库。
- list:列出所有模型。
- ps:列出所有正在运行的模型。
- cp:复制一个模型。
- rm:删除一个模型。
- help:获取关于任何命令的帮助信息。
3、标志(Flags)
- -h, --help:显示 ollama 的帮助信息。
- -v, --version:显示版本信息。
1. 模型管理
拉取模型
从模型库中下载模型:
ollama pull <model-name>
例如:
ollama pull llama2
运行模型
运行已下载的模型:
ollama run <model-name>
例如:
ollama run llama2
列出本地模型
查看已下载的模型列表:
ollama list
删除模型
删除本地模型:
ollama rm <model-name>
例如:
ollama rm llama2
2. 自定义模型
创建自定义模型
基于现有模型创建自定义模型:
ollama create <custom-model-name> -f <Modelfile>
例如:
ollama create my-llama2 -f ./Modelfile
复制模型
复制一个已存在的模型:
ollama cp <source-model-name> <new-model-name>
例如:
ollama cp llama2 my-llama2-copy
推送自定义模型
将自定义模型推送到模型库:
ollama push <model-name>
例如:
ollama push my-llama2
3. 服务管理
启动 Ollama 服务
启动 Ollama 服务以在后台运行:
ollama serve
停止 Ollama 服务
停止正在运行的 Ollama 服务:
ollama stop
重启 Ollama 服务
重启 Ollama 服务:
ollama restart
4. 其他常用命令
查看帮助
查看所有可用命令:
ollama --help
查看版本信息
查看当前安装的 Ollama 版本:
ollama version
更新 Ollama
更新 Ollama 到最新版本:
ollama update
查看日志
查看 Ollama 的日志信息:
ollama logs
清理缓存
清理 Ollama 的缓存:
ollama clean
5. 模型信息
查看模型详细信息
查看指定模型的详细信息:
ollama show <model-name>
例如:
ollama show llama2
查看模型依赖
查看模型的依赖关系:
ollama deps <model-name>
例如:
ollama deps llama2
查看模型配置
查看模型的配置文件:
ollama config <model-name>
例如:
ollama config llama2
6. 导入与导出
导出模型
将模型导出为文件:
ollama export <model-name> <output-file>
例如:
ollama export llama2 llama2.tar
导入模型
从文件导入模型:
ollama import <input-file>
例如:
ollama import llama2.tar
7. 系统信息
查看系统信息
查看 Ollama 的系统信息:
ollama system
查看资源使用情况
查看模型的资源使用情况:
ollama resources <model-name>
例如:
ollama resources llama2
8. 模型性能
查看模型性能
查看模型的性能指标:
ollama perf <model-name>
例如:
ollama perf llama2
9. 模型历史
查看模型历史记录
查看模型的历史记录:
ollama history <model-name>
例如:
ollama history llama2
10. 模型状态
检查模型状态
检查指定模型的状态:
ollama status <model-name>
例如:
ollama status llama2
Ollama 基本概念
Ollama 是一个本地化的、支持多种自然语言处理(NLP)任务的机器学习框架,专注于模型加载、推理和生成任务。
通过 Ollama,用户能够方便地与本地部署的大型预训练模型进行交互。
1. 模型(Model)
在 Ollama 中,模型是核心组成部分。它们是经过预训练的机器学习模型,能够执行不同的任务,例如文本生成、文本摘要、情感分析、对话生成等。
Ollama 支持多种流行的预训练模型,常见的模型有:
- deepseek-v3:深度求索提供的大型语言模型,专门用于文本生成任务。
- LLama2:Meta 提供的大型语言模型,专门用于文本生成任务。
- GPT:OpenAI 的 GPT 系列模型,适用于广泛的对话生成、文本推理等任务。
- BERT:用于句子理解和问答系统的预训练模型。
- 其他自定义模型:用户可以上传自己的自定义模型,并利用 Ollama 进行推理。
模型的主要功能:
- 推理(Inference):根据用户输入生成输出结果。
- 微调(Fine-tuning):用户可以在已有模型的基础上使用自己的数据进行训练,从而定制化模型以适应特定的任务或领域。
模型通常是由大量参数构成的神经网络,通过对大量文本数据进行训练,能够学习语言规律并进行高效的推理。
Ollama 支持的模型可以访问:library
点击模型,可以查看到下载的命令:
下表列出一些模型的下载命令:
模型 | 参数 | 大小 | 下载命令 |
---|---|---|---|
Llama 3.3 | 70B | 43GB | ollama run llama3.3 |
Llama 3.2 | 3B | 2.0GB | ollama run llama3.2 |
Llama 3.2 | 1B | 1.3GB | ollama run llama3.2:1b |
Llama 3.2 Vision | 11B | 7.9GB | ollama run llama3.2-vision |
Llama 3.2 Vision | 90B | 55GB | ollama run llama3.2-vision:90b |
Llama 3.1 | 8B | 4.7GB | ollama run llama3.1 |
Llama 3.1 | 405B | 231GB | ollama run llama3.1:405b |
Phi 4 | 14B | 9.1GB | ollama run phi4 |
Phi 3 Mini | 3.8B | 2.3GB | ollama run phi3 |
Gemma 2 | 2B | 1.6GB | ollama run gemma2:2b |
Gemma 2 | 9B | 5.5GB | ollama run gemma2 |
Gemma 2 | 27B | 16GB | ollama run gemma2:27b |
Mistral | 7B | 4.1GB | ollama run mistral |
Moondream 2 | 1.4B | 829MB | ollama run moondream |
Neural Chat | 7B | 4.1GB | ollama run neural-chat |
Starling | 7B | 4.1GB | ollama run starling-lm |
Code Llama | 7B | 3.8GB | ollama run codellama |
Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
LLaVA | 7B | 4.5GB | ollama run llava |
Solar | 10.7B | 6.1GB | ollama run solar |
2. 任务(Task)
Ollama 支持多种 NLP 任务。每个任务对应模型的不同应用场景,主要包括但不限于以下几种:
- 对话生成(Chat Generation):通过与用户交互生成自然的对话回复。
- 文本生成(Text Generation):根据给定的提示生成自然语言文本,例如写文章、生成故事等。
- 情感分析(Sentiment Analysis):分析给定文本的情感倾向(如正面、负面、中立)。
- 文本摘要(Text Summarization):将长文本压缩为简洁的摘要。
- 翻译(Translation):将文本从一种语言翻译成另一种语言。
通过命令行工具,用户可以指定不同的任务,并加载不同的模型来完成特定任务。
3. 推理(Inference)
推理是指在已训练的模型上进行输入处理,生成输出的过程。
Ollama 提供了易于使用的命令行工具或 API,使用户可以快速向模型提供输入并获取结果。
推理是 Ollama 的主要功能之一,也是与模型交互的核心。
推理过程:
- 输入:用户向模型提供文本输入,可以是一个问题、提示或者对话内容。
- 模型处理:模型通过内置的神经网络根据输入生成适当的输出。
- 输出:模型返回生成的文本内容,可能是回复、生成的文章、翻译文本等。
Ollama 通过 API 或 CLI 与本地模型交互,能够让用户轻松实现推理任务。
4. 微调(Fine-tuning)
微调是指在一个已预训练的模型上,基于特定的领域数据进行进一步的训练,以便使模型在特定任务或领域上表现得更好。
Ollama 支持微调功能,用户可以使用自己的数据集对预训练模型进行微调,来定制模型的输出。
微调过程:
- 准备数据集:用户准备特定领域的数据集,数据格式通常为文本文件或 JSON 格式。
- 加载预训练模型:选择一个适合微调的预训练模型,例如 LLama2 或 GPT 模型。
- 训练:使用用户的特定数据集对模型进行训练,使其能够更好地适应目标任务。
- 保存和部署:训练完成后,微调过的模型可以保存并部署,供以后使用。
微调有助于模型在处理特定领域问题时表现得更加精确和高效。
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
优快云粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
👉2.AGI大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
👉3.大模型实际应用报告合集👈
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)
👉4.大模型落地应用案例PPT👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)
👉5.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
👉6.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习
优快云粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈