平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Ollama 基本概念介绍”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
理解这一步时,Ollama 是一个本地化的、兼容多种自然语言处理(NLP)任务的机器学习框架,专注于模型加载、推理和生成任务。
借助 Ollama,用户能够便于地与本地部署的大型预训练模型进行交互。
以下是 Ollama 的核心概念:
1. 模型(Model)
结合项目来看,在 Ollama 里,模型是核心组成部分。它们是经过预训练的机器学习模型,能够执行不同的任务,比如文本生成、文本摘要、情感分析、对话生成等。
结合项目来看,这是 Ollama 的核心。你能够从 Ollama 的模型库中拉取同时运行各种开源模型。
标识符:每个模型都有一个名称和标签,格式通常是 模型名:标签。
例子:llama3:8b,qwen:7b,mistral:latest。
latest 通常指默认或最新的版本。
Ollama 兼容多种流行的预训练模型,常用的模型有:
- deepseek-v3:深度求索提供的大型语言模型,专门用来文本生成任务。
- LLama2:Meta 提供的大型语言模型,专门用来文本生成任务。
- GPT:OpenAI 的 GPT 系列模型,适用来广泛的对话生成、文本推理等任务。
- BERT:用来句子理解和问答系统的预训练模型。
- 其他自定义模型:用户能够上传自己的自定义模型,同时借助 Ollama 进行推理。
模型的主要功能:
- 推理(Inference):根据用户输入生成输出结果。
- 微调(Fine-tuning):用户能够在已有模型的基础上采用自己的数据进行训练,从而定制化模型以适应特定的任务或领域。
落到代码里,模型通常是由大量参数构成的神经网络,借助对大量文本数据进行训练,能够学习语言规律同时进行高效的推理。
Ollama 兼容的模型能够访问:(链接已移除)

点击模型,能够查看到下载的命令:

下表列出一些模型的下载命令:
| 模型 | 参数 | 大小 | 下载命令 |
|---|---|---|---|
| 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-ch@t |
| 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 |
核心操作命令
拉取模型:ollama pull <模型名>(比如 ollama pull llama3)。这会从模型库下载模型到你的本地。
运行模型:ollama run <模型名>。这会加载模型到内存中,同时直接在终端里打开一个交互式的对话界面。
新建模型:ollama create <新模型名> -f ./Modelfile。根据你的 Modelfile 新建一个自定义模型。
列出模型:ollama list。查看本地已经下载了哪些模型。
删除模型:ollama rm <模型名>。
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 模型。
- 训练:采用用户的特定数据集对模型进行训练,使其能够更好地适应目标任务。
- 保存和部署:训练完成后,微调过的模型能够保存并部署,供以后采用。
微调有助于模型在处理特定领域问题时表现得更加精确和高效。
5. API 服务
Ollama 不仅仅是一个命令行工具,它在后台运行一个 本地服务器。
当你运行 ollama serve 或首次执行 ollama run 时,服务会自动启动,默认地址 127.0.0.1:11434。
它提供了一个 RESTful API落到代码里,,允许你借助 HTTP 请求与模型交互。这使得你能够用 Python、JavaScript 或其他编程语言来调用本地的大模型。
轻松的 API 调用示例:
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "为什么天空是蓝色的?"
}'6. Modelfile
模型文件:Ollama 采用一种叫做 Modelfile 结合项目来看,的文件来定义和新建模型(类似于 Docker 的 Dockerfile)。你能够基于现有模型进行定制,比如修改温度参数、设置系统提示词或导入 GGUF 格式的模型文件。
在这个场景下,Ollama 官方提供了一个模型库,里面列出了兼容的模型架构(如 Llama 3, Qwen 2, Mistral, Phi-3 等)。你能够直接借助命令搜索和下载。
这是定义模型设置的文件。包含的关键参数有:
FROM:指定基础模型(必须是本地已拉取的)或模型文件的路径。
SYSTEM:设置系统提示词,定义模型的行为和角色。
PARAMETER:设置运行参数,比如 temperature(温度,控制创造力)、top_p、num_ctx(上下文长度)等。
TEMPLATE:指定提示词的模板格式。
7. 上下文
理解这一步时,在对话里,上下文指的是模型能够“记住”的之前的对话内容。上下文长度(由 num_ctx 控制)决定了模型在处理新请求时,能参考多少之前的文本。上下文越长,占用的内存就越多。
8. 量化
理解这一步时,为便于减少模型占用的内存和提高推理速度,模型通常会进行量化。模型名称中常包含表示量化级别的字母:
q4_0, q5_1, q8:表示不同的量化精度。q4 占用内存较小,但精度略低;q8 占用较大,但更接近原始模型。GGUF 格式的模型常采用这种命名方式。
总结
能够把 Ollama 理解为一个 “本地大模型的 Docker”结合项目来看,。它让你能够轻松地拉取、运行和管理各种 LLM,同时借助标准化的 API 供其他程序调用,这一切都在你自己的电脑上完成。
