Datawhale组队学习Ollama教程--Ollama介绍以及安装与配置

目录

一、Ollama 的核心功能

二、Ollama 的优势

三、Ollama 的应用场景

四、支持的模型

五、Ollama常见命令

六、Ollama 的未来展望

七、访问主页

八、环境变量配置

九、配置 OLLAMA_MODELS 来更改模型存储位置。

步骤 1:找到系统环境变量的设置入口。

步骤 2:设置 OLLAMA_MODELS 环境变量 (更改模型存储位置)

步骤 3:重启 Ollama 或 PowerShell 使环境变量生效

步骤 4:验证环境变量是否生效

十、运行ollma

十一、Ollama 的使用示例


Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。 它旨在简化大型语言模型的部署过程,提供轻量级与可扩展的架构,使得研究人员、开发人员和爱好者能够更加方便地在本地环境中运行和定制这些模型。

一、Ollama 的核心功能

  1. 本地模型管理

    • 支持从官方模型库或自定义模型库拉取预训练模型,并在本地保存和加载。
    • 支持多种流行的模型格式,如 ONNX、PyTorch、TensorFlow 等。
  2. 高效推理

    • 通过 GPU/CPU 的加速,提供高效的模型推理,适合本地化应用或需要控制数据隐私的场景。
  3. 多种接口访问

    • 支持命令行(CLI)、HTTP 接口访问推理服务。
    • 提供与 OpenAI 兼容的 API 接口,方便用户集成到现有的应用程序或系统中。
  4. 环境变量配置

    • 通过灵活的环境变量,用户可以自定义推理设备(GPU/CPU)、缓存路径、并发数、日志级别等。
  5. 预构建模型库

    • 提供了一系列预先训练好的大型语言模型,用户可以直接使用这些模型进行文本生成、翻译、问答等任务。

二、Ollama 的优势

  1. 轻量级与易用性

    • Ollama 保持了较小的资源占用,同时简化了部署流程,使得非专业用户也能方便地管理和运行大型语言模型。
  2. 可扩展性

    • 允许用户根据需要调整配置以适应不同规模的项目和硬件条件。
  3. 跨平台支持

    • 提供针对 macOS、Windows、Linux 以及 Docker 的安装指南,确保用户能在多种操作系统环境下顺利部署和使用 Ollama。
  4. 丰富的功能和教程资源

    • Ollama 提供了丰富的功能和灵活的扩展性,用户可以根据自己的需求对框架进行定制和扩展。
    • 社区中拥有活跃的开发者支持和丰富的教程资源,方便用户快速上手并使用 Ollama。

三、Ollama 的应用场景

  1. 文本生成

    • 生成高质量的文章、故事、对话等文本内容,为内容创作者提供强大的辅助工具。
  2. 翻译

    • 实现高效准确的机器翻译,帮助用户跨越语言障碍。
  3. 问答系统

    • 根据用户的问题提供智能回答,提升用户体验。
  4. 代码生成

    • 通过训练好的大型语言模型,生成高质量的代码片段,甚至能够完成整个项目的开发。

四、支持的模型

Ollama 支持的模型库列表 library

下面是一些受欢迎的模型:

ModelTagParametersSizeDownload
DeepSeek-R1-7B4.7GBollama run deepseek-r1
DeepSeek-R1-671B404GBollama run deepseek-r1:671b
Llama 3.3-70B43GBollama run llama3.3
Llama 3.2-3B2.0GBollama run llama3.2
Llama 3.2-1B1.3GBollama run llama3.2:1b
Llama 3.2 VisionVision11B7.9GBollama run llama3.2-vision
Llama 3.2 VisionVision90B55GBollama run llama3.2-vision:90b
Llama 3.1-8B4.7GBollama run llama3.1
Llama 3.1-405B231GBollama run llama3.1:405b
Gemma 2-2B1.6GBollama run gemma2:2b
Gemma 2-9B5.5GBollama run gemma2
Gemma 2-27B16GBollama run gemma2:27b
mistral-7b4.1GBollama run mistral:7b
qwen-110b63GBollama run qwen:110b
Phi 4-14B9.1GBollama run phi4
codellamaCode70b39GBollama run codellama:70b
qwen2-72b41GBollama run qwen2:72b
llavaVision7b4.7GBollama run llava:7b
nomic-embed-textEmbeddingv1.5274MBollama pull nomic-embed-text:v1.5

所有支持的模型(数据统计至2024.8.2)。

ModelTagParametersSizeDownload
llama3.1-405b231GBollama run llama3.1:405b
llama3.1-70b40GBollama run llama3.1:70b
llama3.1-8b4.7GBollama run llama3.1:8b
gemma2-27b16GBollama run gemma2:27b
gemma2-9b5.4GBollama run gemma2:9b
gemma2-2b1.6GBollama run gemma2:2b
mistral-nemo-12b7.1GBollama run mistral-nemo:12b
mistral-large-123b69GBollama run mistral-large:123b
qwen2-72b41GBollama run qwen2:72b
qwen2-7b4.4GBollama run qwen2:7b
qwen2-1.5b935MBollama run qwen2:1.5b
qwen2-0.5b352MBollama run qwen2:0.5b
deepseek-coder-v2Code236b133GBollama run deepseek-coder-v2:236b
deepseek-coder-v2Code16b8.9GBollama run deepseek-coder-v2:16b
phi3-14b7.9GBollama run phi3:14b
phi3-3.8b2.2GBollama run phi3:3.8b
mistral-7b4.1GBollama run mistral:7b
mixtral-8x22b80GBollama run mixtral:8x22b
mixtral-8x7b26GBollama run mixtral:8x7b
codegemmaCode7b5.0GBollama run codegemma:7b
codegemmaCode2b1.6GBollama run codegemma:2b
command-r-35b20GBollama run command-r:35b
command-r-plus-104b59GBollama run command-r-plus:104b
llavaVision34b20GBollama run llava:34b
llavaVision13b8.0GBollama run llava:13b
llavaVision7b4.7GBollama run llava:7b
llama3-70b40GBollama run llama3:70b
llama3-8b4.7GBollama run llama3:8b
gemma-7b5.0GBollama run gemma:7b
gemma-2b1.7GBollama run gemma:2b
qwen-110b63GBollama run qwen:110b
qwen-72b41GBollama run qwen:72b
qwen-32b18GBollama run qwen:32b
qwen-14b8.2GBollama run qwen:14b
qwen-7b4.5GBollama run qwen:7b
qwen-4b2.3GBollama run qwen:4b
qwen-1.8b1.1GBollama run qwen:1.8b
qwen-0.5b395MBollama run qwen:0.5b
llama2-70b39GBollama run llama2:70b
llama2-13b7.4GBollama run llama2:13b
llama2-7b3.8GBollama run llama2:7b
codellamaCode70b39GBollama run codellama:70b
codellamaCode34b19GBollama run codellama:34b
codellamaCode13b7.4GBollama run codellama:13b
codellamaCode7b3.8GBollama run codellama:7b
dolphin-mixtral-8x7b26GBollama run dolphin-mixtral:8x7b
dolphin-mixtral-8x22b80GBollama run dolphin-mixtral:8x22b
nomic-embed-textEmbeddingv1.5274MBollama pull nomic-embed-text:v1.5
llama2-uncensored-70b39GBollama run llama2-uncensored:70b
llama2-uncensored-7b3.8GBollama run llama2-uncensored:7b
phi-2.7b1.6GBollama run phi:2.7b
deepseek-coderCode33b19GBollama run deepseek-coder:33b
deepseek-coderCode6.7b3.8GBollama run deepseek-coder:6.7b
deepseek-coderCode1.3b776MBollama run deepseek-coder:1.3b
dolphin-mistral-7b4.1GBollama run dolphin-mistral:7b
orca-mini-70b39GBollama run orca-mini:70b
orca-mini-13b7.4GBollama run orca-mini:13b
orca-mini-7b3.8GBollama run orca-mini:7b
orca-mini-3b2.0GBollama run orca-mini:3b
mxbai-embed-largeEmbedding335m670MBollama pull mxbai-embed-large:335m
dolphin-llama3-70b40GBollama run dolphin-llama3:70b
dolphin-llama3-8b4.7GBollama run dolphin-llama3:8b
zephyr-141b80GBollama run zephyr:141b
zephyr-7b4.1GBollama run zephyr:7b
starcoder2Code15b9.1GBollama run starcoder2:15b
starcoder2Code7b4.0GBollama run starcoder2:7b
starcoder2Code3b1.7GBollama run starcoder2:3b
mistral-openorca-7b4.1GBollama run mistral-openorca:7b
yi-34b19GBollama run yi:34b
yi-9b5.0GBollama run yi:9b
yi-6b3.5GBollama run yi:6b
llama2-chinese-13b7.4GBollama run llama2-chinese:13b
llama2-chinese-7b3.8GBollama run llama2-chinese:7b
llava-llama3Vision8b5.5GBollama run llava-llama3:8b
vicuna-33b18GBollama run vicuna:33b
vicuna-13b7.4GBollama run vicuna:13b
vicuna-7b3.8GBollama run vicuna:7b
nous-hermes2-34b19GBollama run nous-hermes2:34b
nous-hermes2-10.7b6.1GBollama run nous-hermes2:10.7b
tinyllama-1.1b638MBollama run tinyllama:1.1b
wizard-vicuna-uncensored-30b18GBollama run wizard-vicuna-uncensored:30b
wizard-vicuna-uncensored-13b7.4GBollama run wizard-vicuna-uncensored:13b
wizard-vicuna-uncensored-7b3.8GBollama run wizard-vicuna-uncensored:7b
codestralCode22b13GBollama run codestral:22b
starcoderCode15b9.0GBollama run starcoder:15b
starcoderCode7b4.3GBollama run starcoder:7b
starcoderCode3b1.8GBollama run starcoder:3b
starcoderCode1b726MBollama run starcoder:1b
wizardlm2-8x22b80GBollama run wizardlm2:8x22b
wizardlm2-7b4.1GBollama run wizardlm2:7b
openchat-7b4.1GBollama run openchat:7b
aya-35b20GBollama run aya:35b
aya-8b4.8GBollama run aya:8b
tinydolphin-1.1b637MBollama run tinydolphin:1.1b
stable-codeCode3b1.6GBollama run stable-code:3b
openhermes-v2.54.1GBollama run openhermes:v2.5
wizardcoderCode33b19GBollama run wizardcoder:33b
wizardcoderCodepython3.8GBollama run wizardcoder:python
codeqwenCode7b4.2GBollama run codeqwen:7b
wizard-math-70b39GBollama run wizard-math:70b
wizard-math-13b7.4GBollama run wizard-math:13b
wizard-math-7b4.1GBollama run wizard-math:7b
granite-codeCode34b19GBollama run granite-code:34b
granite-codeCode20b12GBollama run granite-code:20b
granite-codeCode8b4.6GBollama run granite-code:8b
granite-codeCode3b2.0GBollama run granite-code:3b
stablelm2-12b7.0GBollama run stablelm2:12b
stablelm2-1.6b983MBollama run stablelm2:1.6b
neural-chat-7b4.1GBollama run neural-chat:7b
all-minilmEmbedding33m67MBollama pull all-minilm:33m
all-minilmEmbedding22m46MBollama pull all-minilm:22m
phind-codellamaCode34b19GBollama run phind-codellama:34b
dolphincoderCode15b9.1GBollama run dolphincoder:15b
dolphincoderCode7b4.2GBollama run dolphincoder:7b
nous-hermes-13b7.4GBollama run nous-hermes:13b
nous-hermes-7b3.8GBollama run nous-hermes:7b
sqlcoderCode15b9.0GBollama run sqlcoder:15b
sqlcoderCode7b4.1GBollama run sqlcoder:7b
llama3-gradient-70b40GBollama run llama3-gradient:70b
llama3-gradient-8b4.7GBollama run llama3-gradient:8b
starling-lm-7b4.1GBollama run starling-lm:7b
xwinlm-13b7.4GBollama run xwinlm:13b
xwinlm-7b3.8GBollama run xwinlm:7b
yarn-llama2-13b7.4GBollama run yarn-llama2:13b
yarn-llama2-7b3.8GBollama run yarn-llama2:7b
deepseek-llm-67b38GBollama run deepseek-llm:67b
deepseek-llm-7b4.0GBollama run deepseek-llm:7b
llama3-chatqa-70b40GBollama run llama3-chatqa:70b
llama3-chatqa-8b4.7GBollama run llama3-chatqa:8b
orca2-13b7.4GBollama run orca2:13b
orca2-7b3.8GBollama run orca2:7b
solar-10.7b6.1GBollama run solar:10.7b
samantha-mistral-7b4.1GBollama run samantha-mistral:7b
dolphin-phi-2.7b1.6GBollama run dolphin-phi:2.7b
stable-beluga-70b39GBollama run stable-beluga:70b
stable-beluga-13b7.4GBollama run stable-beluga:13b
stable-beluga-7b3.8GBollama run stable-beluga:7b
moondreamVision1.8b1.7GBollama run moondream:1.8b
snowflake-arctic-embedEmbedding335m669MBollama pull snowflake-arctic-embed:335m
snowflake-arctic-embedEmbedding137m274MBollama pull snowflake-arctic-embed:137m
snowflake-arctic-embedEmbedding110m219MBollama pull snowflake-arctic-embed:110m
snowflake-arctic-embedEmbedding33m67MBollama pull snowflake-arctic-embed:33m
snowflake-arctic-embedEmbedding22m46MBollama pull snowflake-arctic-embed:22m
bakllavaVision7b4.7GBollama run bakllava:7b
wizardlm-uncensored-13b7.4GBollama run wizardlm-uncensored:13b
deepseek-v2-236b133GBollama run deepseek-v2:236b
deepseek-v2-16b8.9GBollama run deepseek-v2:16b
medllama2-7b3.8GBollama run medllama2:7b
yarn-mistral-7b4.1GBollama run yarn-mistral:7b
llama-pro-instruct4.7GBollama run llama-pro:instruct
nous-hermes2-mixtral-8x7b26GBollama run nous-hermes2-mixtral:8x7b
meditron-70b39GBollama run meditron:70b
meditron-7b3.8GBollama run meditron:7b
nexusraven-13b7.4GBollama run nexusraven:13b
codeupCode13b7.4GBollama run codeup:13b
llava-phi3Vision3.8b2.9GBollama run llava-phi3:3.8b
everythinglm-13b7.4GBollama run everythinglm:13b
glm4-9b5.5GBollama run glm4:9b
codegeex4Code9b5.5GBollama run codegeex4:9b
magicoderCode7b3.8GBollama run magicoder:7b
stablelm-zephyr-3b1.6GBollama run stablelm-zephyr:3b
codeboogaCode34b19GBollama run codebooga:34b
mistrallite-7b4.1GBollama run mistrallite:7b
wizard-vicuna-13b7.4GBollama run wizard-vicuna:13b
duckdb-nsqlCode7b3.8GBollama run duckdb-nsql:7b
megadolphin-120b68GBollama run megadolphin:120b
goliath-120b-q4_066GBollama run goliath:120b-q4_0
notux-8x7b26GBollama run notux:8x7b
falcon2-11b6.4GBollama run falcon2:11b
open-orca-platypus2-13b7.4GBollama run open-orca-platypus2:13b
notus-7b4.1GBollama run notus:7b
dbrx-132b74GBollama run dbrx:132b
internlm2-7b4.5GBollama run internlm2:7b
alfred-40b24GBollama run alfred:40b
llama3-groq-tool-use-70b40GBollama run llama3-groq-tool-use:70b
llama3-groq-tool-use-8b4.7GBollama run llama3-groq-tool-use:8b
mathstral-7b4.1GBollama run mathstral:7b
firefunction-v2-70b40GBollama run firefunction-v2:70b
nuextract-3.8b2.2GBollama run nuextract:3.8b

最新支持模型请参考:Ollama

五、Ollama常见命令

终端输入 Ollama,输出如下:

命令描述
ollama serve启动 Ollama
ollama create从 Modelfile 创建模型
ollama show显示模型信息
ollama run运行模型
ollama stop停止正在运行的模型
ollama pull从注册表中拉取模型
ollama push将模型推送到注册表
ollama list列出所有模型
ollama ps列出正在运行的模型
ollama cp复制模型
ollama rm删除模型
ollama help显示任意命令的帮助信息
标志描述
-h, --help显示 Ollama 的帮助信息
-v, --version显示版本信息

六、Ollama 的未来展望

随着人工智能技术的不断进步和大型语言模型应用的日益广泛,Ollama 的未来发展前景广阔。它将不断优化其性能和功能,提供更加高效、稳定、易用的框架服务。同时,Ollama 还将积极拓展其应用领域,加强与其他开源项目和社区的合作与交流,共同推动人工智能技术的发展和应用。

概括而言,Ollama 是一个功能强大、易于使用的开源框架,为大型语言模型的本地部署和运行提供了便捷解决方案。

七、访问主页

  1. 访问官网主页

    Ollama 下载:Download Ollama on macOS

    Ollama 官方主页:https://ollama.com

    Ollama 官方 GitHub 源代码仓库:https://github.com/ollama/ollama/

  2. 等待浏览器下载文件 OllamaSetup.exe,完成后双击该文件,出现如下弹窗,点击 Install 等待下载完成即可。

    img

  3. 安装完成后,可以看到 Ollama 已经默认运行了。可以通过底部的导航栏找到 Ollama 标志,并右键后点击 Quit Ollama 退出Ollama或者查看 logs

八、环境变量配置

Ollama可以像其他软件一样在电脑上完成一键安装,不同的是,建议按照实际需求配置下系统环境变量参数。以下是 Ollama 的环境变量配置说明。

参数标识与配置
OLLAMA_MODELS表示模型文件的存放目录,默认目录为当前用户目录即  C:\Users%username%.ollama\models
Windows 系统 建议不要放在C盘,可放在其他盘(如 E:\ollama\models
OLLAMA_HOST表示ollama 服务监听的网络地址,默认为127.0.0.1 
如果想要允许其他电脑访问 Ollama(如局域网中的其他电脑),建议设置成 0.0.0.0
OLLAMA_PORT表示ollama 服务监听的默认端口,默认为11434 
如果端口有冲突,可以修改设置成其他端口(如8080等)
OLLAMA_ORIGINS表示HTTP 客户端的请求来源,使用半角逗号分隔列表
如果本地使用不受限制,可以设置成星号 *
OLLAMA_KEEP_ALIVE表示大模型加载到内存中后的存活时间,默认为5m即 5 分钟
(如纯数字300 代表 300 秒,0 代表处理请求响应后立即卸载模型,任何负数则表示一直存活)
建议设置成 24h ,即模型在内存中保持 24 小时,提高访问速度
OLLAMA_NUM_PARALLEL表示请求处理的并发数量,默认为1 (即单并发串行处理请求)
建议按照实际需求进行调整
OLLAMA_MAX_QUEUE表示请求队列长度,默认值为512
建议按照实际需求进行调整,超过队列长度的请求会被抛弃
OLLAMA_DEBUG表示输出 Debug 日志,应用研发阶段可以设置成1 (即输出详细日志信息,便于排查问题)
OLLAMA_MAX_LOADED_MODELS表示最多同时加载到内存中模型的数量,默认为1 (即只能有 1 个模型在内存中)

九、配置 OLLAMA_MODELS 来更改模型存储位置。

步骤 1:找到系统环境变量的设置入口。

方法 1:开始->设置->关于->高级系统设置->系统属性->环境变量。

方法 2:此电脑->右键->属性->高级系统设置->环境变量。

方法 3:开始->控制面板->系统和安全->系统->高级系统设置->系统属性->环境变量。

方法 4:Win+R 打开运行窗口,输入 sysdm.cpl,回车打开系统属性,选择高级选项卡,点击环境变量。

步骤 2:设置 OLLAMA_MODELS 环境变量 (更改模型存储位置)

步骤 3:重启 Ollama 或 PowerShell 使环境变量生效

环境变量设置完成后,你需要 重启 Ollama 服务 或者 重新启动你的 命令提示符 (CMD) 或 PowerShell 窗口,才能让新的环境变量生效。

  • 重启 Ollama 服务: 如果你运行了 ollama serve,先 Ctrl + C 停止,再重新运行 ollama serve
  • 重启命令提示符/PowerShell: 关闭所有已打开的窗口,重新打开新的窗口。

步骤 4:验证环境变量是否生效

  1. 重新打开 命令提示符 (CMD) 或者 PowerShell

  2. 验证 OLLAMA_MODELS: 输入以下命令并回车:

                echo %OLLAMA_MODELS%

十、运行ollma

  • 命令行语句启动

启动 Ollama 时会报错如下,因为 Windows 系统安装 Ollama 时会默认开机启动Ollama 服务默认是 http://127.0.0.1:11434

Error: listen tcp 127.0.0.1:11434: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

  • 解决方法:
  1. 快捷键 Win+X 打开任务管理器,点击 启动,禁用 Ollama,并在进程中结束 Ollama 的任务。

    ​再次使用 ollama serve打开 Ollama。

  • 验证成功启动:
  1. 快捷键 Win+R,输入 cmd,打开命令行终端。
  2. 输入 netstat -aon|findstr 11434 查看占用端口11434的进程。
  3. 查看该进程运行的情况,发现 Ollama 已经启动。
  4. tasklist|findstr "9864"

  • 终端输入:

        ollama -h

十一、Ollama 的使用示例

  1. 拉取模型

    • 使用 ollama pull <model-name> 命令从官方模型库拉取预训练模型。
  2. 运行模型

    • 使用 ollama run <model-name> "<prompt>" 命令运行模型,并输入提示(prompt)进行推理。
  3. 访问推理服务

    • 用户可以通过命令行、HTTP 接口或 OpenAI 客户端访问 Ollama 的推理服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值