cxl
Published on 2025-03-18 / 78 Visits
8
0

探索 Ollama:开源跨平台大模型工具的无限可能

在人工智能迅猛发展的当下,大模型技术已成为驱动各领域创新变革的关键力量。在此热潮中,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

    • 可修改值:用户可以设置为 debuginfowarnerror,具体取决于调试和监控需求。

  • 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_0q4_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

    • 描述:临时文件的位置。

    • 默认值:通常在系统默认的临时目录下,如 /tmpC:\Users\USERNAME\AppData\Local\Temp

    • 可修改值:用户可以指定任意存在的目录路径,例如 /path/to/ollama/tmp

  • OLLAMA_FLASH_ATTENTION

    • 描述:启用 Flash Attention。

    • 默认值:0(不启用)。

    • 可修改值:1(启用)。

  • OLLAMA_LLMS_LIBRARY

    • 描述:设置要使用的 LLM 库。

    • 默认值:未明确指定,通常根据模型类型自动选择。

    • 可修改值:用户可以指定如 llama.cpptransformers 等库名称,具体取决于模型支持的库。

API接口:https://github.com/ollama/ollama/blob/main/docs/api.md


Comment