在人工智能迅猛发展的当下,大模型技术已成为驱动各领域创新变革的关键力量。在此热潮中,Ollama 这一开源跨平台大模型工具脱颖而出,为广大用户开启了一扇通往大模型应用的便捷之门,其蕴含的无限潜力正吸引着开发者、研究人员以及科技爱好者的目光。
Ollama 是什么
Ollama 于 2023 年 7 月 9 日在 GitHub 正式上线,随即在开源社区引发广泛关注。它搭建了一个平台,致力于消除大型语言模型使用过程中的诸多障碍,使人们无需复杂操作和高昂成本,就能轻松驾驭这些前沿模型。以往,运行大型语言模型常需强大的云端计算资源,且技术门槛颇高。Ollama 的诞生彻底改变了这一局面,无论你使用的是 Windows、MacOS 还是 Linux 系统,均可在本地计算机上便捷地运行各类先进语言模型。
核心功能
丰富的模型库与管理
Ollama 拥有一个持续扩充的预训练模型库。这里面既有能处理日常对话、文本生成等常见任务的通用型模型,也有针对医疗、金融等特定领域的专业模型。例如在医疗领域,有辅助诊断、病历分析的模型;金融领域则配备用于风险评估、市场预测的模型。用户可在 Ollama 中轻松下载和管理这些模型,无需担忧复杂的模型格式与依赖关系,所有操作都简化为简单指令。比如,只需一条指令,即可从模型库下载并安装最新的 Llama 3.3 模型,迅速应用于个人项目或研究。
便捷的安装与设置
针对不同操作系统用户,Ollama 提供了直观、便捷的安装方式。Windows 用户可通过一键安装包完成安装;MacOS 和 Linux 用户则能借助命令行执行安装脚本,轻松完成设置,快速开启大模型探索之旅。以 Windows 用户为例,下载安装包后,依照简单的安装向导提示,几步操作就能完成 Ollama 的安装并启动使用,全程无需深厚技术知识,普通用户也能轻松上手。
本地 API 与集成
Ollama 开放了本地 API,为开发者赋予强大的拓展能力。通过该 API,开发者可将大型语言模型无缝融入自身应用程序和工作流程。例如在开发智能写作辅助软件时,开发者能利用 Ollama 的 API 将模型与软件连接。用户在软件中输入写作主题或关键词后,软件可通过 API 向 Ollama 发送请求,Ollama 调用对应模型处理后,快速将生成的文本返回给软件,实现智能写作辅助功能,大幅提升应用的智能化程度。
定制与微调
为满足用户个性化需求,Ollama 提供了丰富的定制和微调选项。用户可根据特定任务和个人偏好调整模型参数。在文本生成任务中,若期望生成的文本更简洁,可适当调整相关参数引导模型;用于情感分析时,也能通过微调让模型更好地理解和判断文本情感倾向。这种对模型行为的深度掌控,使用户能够优化模型性能,打造更贴合自身需求的解决方案。
硬件加速与优化
考虑到大型语言模型对计算资源的高要求,Ollama 能智能利用计算机硬件资源,包括 GPU 和 CPU。它可依据硬件实际情况合理分配计算任务,加速模型推理过程,提升整体性能。运行大型模型时,借助 GPU 加速,原本耗时较长的文本生成任务可在短时间内完成,即便在本地普通硬件配置下,用户也能流畅使用大型语言模型,显著提升使用体验。
交互界面多样化
Ollama 不仅为技术熟练的用户提供命令行界面,方便他们通过指令精准控制模型运行;还通过与 Open WebUI 等流行工具集成,为广大用户打造了友好的图形化界面。在图形化界面中,用户可通过直观的聊天式交互与模型对话,如同使用常见聊天软件。同时,用户能通过可视化操作轻松选择不同模型、调整模型参数,整个过程更便捷、易懂,降低了用户与大型语言模型交互的难度。
离线访问与隐私保护
在网络安全和隐私问题备受关注的今天,Ollama 的离线访问功能尤为重要。用户在本地使用 Ollama 运行模型时无需网络连接,这既确保在网络不稳定或无网络环境下,用户仍能正常使用模型工作学习,维持工作连续性;又极大提升了数据隐私性,用户数据完全存储在本地,避免因数据上传云端可能导致的隐私泄露风险,对处理敏感信息的个人和组织而言,这一特性至关重要。
使用
安装
Ollama 的安装过程极为简便,充分考虑了不同操作系统用户的需求。
打开官方下载网站下载对应安装包或执行对应脚本即可 https://ollama.com/download/windows
Ollama 常用命令
安装完成后,我们就可以通过命令行来与 Ollama 进行交互,以下是一些常用命令。
1. 启动 Ollama 服务
ollama serve
该命令会启动 Ollama 服务,此时 Ollama 会加载相关资源,准备好为用户提供模型服务。在启动过程中,命令行界面会显示一些启动信息,如加载的模型、服务监听的端口等。正常情况下,Ollama 会默认监听在11434端口,等待用户连接。
2. 列出可用模型
若想查看 Ollama 当前可使用的模型列表,输入:
ollama list
执行该命令后,系统会返回一个模型清单,包含已下载到本地的模型名称、版本以及模型的简要描述。例如,
如果没有模型可从官网搜索支持的模型列表:https://ollama.com/search
3. 下载模型
当确定要使用某个模型,但该模型尚未下载到本地时,可使用以下命令进行下载。假设要下载llama2:13b模型,输入:
ollama pull deepseek-r1:14b
Ollama 会自动从官方模型库或指定的源下载该模型。下载过程中,命令行界面会显示下载进度,如已下载的文件大小、下载速度等信息。模型下载完成后,即可通过后续命令使用该模型。
4. 使用模型进行文本生成
使用模型进行文本生成是 Ollama 的核心功能之一。以 deepseek-r1:14b 模型为例,若要生成一段关于 “未来城市” 的文本,输入:
ollama run deepseek-r1:14b "请描述一下未来城市的景象"
Ollama 会调用 deepseek-r1:14b 模型对输入的指令进行处理,并在命令行中返回模型思考的内容以及生成的文本内容,具体内容取决于模型的训练数据和算法。
5. 进入模型问答模式
ollama run deepseek-r1
当你进行一系列的问答之后想要保存此次会话可以使用 /save 命令,如 /save something
, 再执行 ollama list 命令时就会出现 something 的模型了。类似聊天记录一样,当你想要找回时可以再将 这个模型 /load something
出来。
退出问答模式可以输入 /bye
回车,或者其它以下命令:
/set 命令:设置会话的环境变量,如
6. 删除模型
ollama rm deepseek-r1:14b
7. 停止 Ollama 服务
当使用完 Ollama,需要停止服务以释放系统资源时,在命令行中按下Ctrl + C组合键,即可停止正在运行的 Ollama 服务。若通过这种方式无法正常停止,也可通过系统的任务管理工具(如 Windows 的任务管理器、Linux 的 systemctl服务 或 kill命令等)来强制停止相关进程。
8. 其它命令
变量配置:https://github.com/ollama/ollama/blob/main/envconfig/config.go
OLLAMA_BASE
描述:Ollama 所有数据的基目录。
默认值:通常与
OLLAMA_DATA
相关。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/base
。
OLLAMA_CACHE
描述:用于存储模型 blob 的目录。
默认值:通常在基目录下,如
base/cache
。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/cache
。
OLLAMA_CACHE_SIZE
描述:缓存的最大大小。
默认值:未明确指定,可能根据系统资源动态调整。
可修改值:用户可以指定缓存的最大大小,例如
10GB
。
OLLAMA_DATA
描述:用于存储模型数据的目录。
默认值:
$OLLAMA_BASE/data
或类似路径。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/data
。
OLLAMA_DB
描述:数据库文件的路径。
默认值:通常在数据目录下,如
data/db.sqlite
。可修改值:用户可以指定任意存在的文件路径,例如
/path/to/ollama/db.sqlite
。
OLLAMA_DEBUG
描述:启用调试模式。
默认值:
0
(不启用调试模式)。可修改值:
1
(启用调试模式)。
OLLAMA_HOST
描述:服务器绑定的主机地址。
默认值:
127.0.0.1
(仅本地访问)。可修改值:用户可以指定任意有效的 IP 地址,例如
0.0.0.0
(允许外部访问)。
OLLAMA_LOG_LEVEL
描述:日志级别(调试、信息、警告、错误)。
默认值:通常为
info
。可修改值:用户可以设置为
debug
、info
、warn
或error
,具体取决于调试和监控需求。
OLLAMA_MAX_LOADED_MODELS
描述:在内存中保持加载的最大模型数量。
默认值:未明确指定,可能根据系统资源动态调整。
可修改值:用户可以指定一个正整数,例如
5
。
OLLAMA_MAX_QUEUE
描述:请求队列的最大长度。
默认值:
512
。可修改值:用户可以指定一个正整数,例如
1024
。
OLLAMA_MODELS
描述:用于存储模型镜像的目录。
默认值:在 Windows 上为
C:\Users%USERNAME%.ollama\models
,在其他系统上通常为用户主目录下的.ollama\models
。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/models
。
OLLAMA_NUM_PARALLEL
描述:最大并行请求数。
默认值:
0
(不限制)。可修改值:用户可以指定一个正整数,例如
4
。
OLLAMA_NAMESPACE
描述:模型的默认命名空间。
默认值:未明确指定,通常为空或根据用户配置。
可修改值:用户可以指定任意字符串作为命名空间,例如
my_namespace
。
OLLAMA_PORT
描述:服务器运行的端口。
默认值:
11434
。可修改值:用户可以指定一个有效的端口号,例如
8080
。
OLLAMA_QUANTIZE
描述:模型的默认量化类型。
默认值:未明确指定,可能根据模型类型动态选择。
可修改值:用户可以指定如
q4_0
、q4_1
等量化类型,具体取决于模型支持的量化格式。
OLLAMA_SAFETENSORS
描述:用于存储 safetensors 模型的目录。
默认值:通常在模型目录下,如
models/safetensors
。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/safetensors
。
OLLAMA_TOKENIZERS
描述:用于存储分词器的目录。
默认值:通常在模型目录下,如
models/tokenizers
。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/tokenizers
。
OLLAMA_TORCH
描述:用于存储 PyTorch 模型的目录。
默认值:通常在模型目录下,如
models/torch
。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/torch
。
OLLAMA_TRANSFORMERS
描述:用于存储 Hugging Face Transformers 模型的目录。
默认值:通常在模型目录下,如
models/transformers
。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/transformers
。
OLLAMA_KEEP_ALIVE
描述:模型保持加载的时长。
默认值:
5m
(5 分钟)。可修改值:用户可以指定一个时间长度,例如
10m
(10 分钟)。
OLLAMA_ORIGINS
描述:允许的源列表,用逗号分隔。
默认值:通常为
*
(允许所有源)。可修改值:用户可以指定特定的源列表,例如
http://example.com,http://another.example.com
。
OLLAMA_TMPDIR
描述:临时文件的位置。
默认值:通常在系统默认的临时目录下,如
/tmp
或C:\Users\USERNAME\AppData\Local\Temp
。可修改值:用户可以指定任意存在的目录路径,例如
/path/to/ollama/tmp
。
OLLAMA_FLASH_ATTENTION
描述:启用 Flash Attention。
默认值:
0
(不启用)。可修改值:
1
(启用)。
OLLAMA_LLMS_LIBRARY
描述:设置要使用的 LLM 库。
默认值:未明确指定,通常根据模型类型自动选择。
可修改值:用户可以指定如
llama.cpp
、transformers
等库名称,具体取决于模型支持的库。