Ollama开源的大型语言模型(LLM)平台
Ollama本地使用及部署Deepseek
Ollama简介
Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。
Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。
Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。
与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,使得机器学习不再是只有深度技术背景的开发者才能触及的领域。
Ollama 支持多种硬件加速选项,包括纯 CPU 推理和各类底层计算架构(如 Apple Silicon),能够更好地利用不同类型的硬件资源。
官方网站:https://ollama.com/download
Ollama安装
Windows 系统安装
访问官网下载安装包
打开浏览器,访问 Ollama 官方网站:https://ollama.com/download,下载适用于 Windows 的安装程序。
下载地址为:https://ollama.com/download/OllamaSetup.exe。
下载完成后,双击安装程序并按照提示完成安装。
更改安装路径(可选)
如果需要将 Ollama 安装到非默认路径,可以在安装时通过命令行指定路径,例如:
OllamaSetup.exe /DIR="d:\some\location"
这样可以将 Ollama 安装到指定的目录。
验证安装
打开命令提示符或 PowerShell,输入以下命令验证安装是否成功:
ollama --version
如果显示版本号,则说明安装成功。
macOS 系统安装
访问官网下载安装包
打开浏览器,访问 Ollama 官方网站:https://ollama.com/download,下载适用于 macOS 的安装程序。
下载地址为:https://ollama.com/download/Ollama-darwin.zip。
下载完成后,双击安装包并按照提示完成安装。
安装完成后,通过以下命令验证:
ollama --version
如果显示版本号,则说明安装成功。
Linux 系统安装
Linux 下可以使用一键安装脚本,我们打开终端,运行以下命令:
curl -fsSL https://ollama.com/install.sh | bash
安装完成后,通过以下命令验证:
ollama --version
如果显示版本号,则说明安装成功。
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 命令。
ollama run deepseek-r1:671b
Ollama 支持的模型可以访问:https://ollama.com/library
python SDK运行
安装 Python SDK
首先,需要安装 Ollama 的 Python SDK,打开终端,执行以下命令:
pip install ollama
编写 Python 脚本
接下来,你可以使用 Python 代码来加载和与模型交互。
以下是一个简单的 Python 脚本示例,演示如何使用 LLama3.2 模型来生成文本:
实例
import ollama
response = ollama.generate(
model=“llama3.2”, # 模型名称
prompt=“你是谁。” # 提示文本
)
print(response)
运行 Python 脚本
在终端中运行你的 Python 脚本:
python test.py
你会看到模型根据你的输入返回的回答。
对话模式
实例
from ollama import chat
response = chat(
model="llama3.2",
messages=[
{"role": "user", "content": "为什么天空是蓝色的?"}
]
)
print(response.message.content)
此代码会与模型进行对话,并打印模型的回复。
流式响应
实例
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 pull <model-name>
例如:
ollama pull llama2
运行模型
运行已下载的模型:
ollama run <model-name>
例如:
ollama run llama2
列出本地模型
查看已下载的模型列表:
ollama list
删除模型
删除本地模型:
ollama rm <model-name>
例如:
ollama rm llama2
自定义模型
创建自定义模型
基于现有模型创建自定义模型:
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
服务管理
启动 Ollama 服务
启动 Ollama 服务以在后台运行:
ollama serve
停止 Ollama 服务
停止正在运行的 Ollama 服务:
ollama stop
重启 Ollama 服务
重启 Ollama 服务:
ollama restart
其他常用命令
查看帮助
查看所有可用命令:
ollama --help
查看版本信息
查看当前安装的 Ollama 版本:
ollama version
更新 Ollama
更新 Ollama 到最新版本:
ollama update
查看日志
查看 Ollama 的日志信息:
ollama logs
清理缓存
清理 Ollama 的缓存:
ollama clean
模型信息
查看模型详细信息
查看指定模型的详细信息:
ollama show <model-name>
例如:
ollama show llama2
查看模型依赖
查看模型的依赖关系:
ollama deps <model-name>
例如:
ollama deps llama2
查看模型配置
查看模型的配置文件:
ollama config <model-name>
例如:
ollama config llama2
导入与导出
导出模型
将模型导出为文件:
ollama export <model-name> <output-file>
例如:
ollama export llama2 llama2.tar
导入模型
从文件导入模型:
ollama import <input-file>
例如:
ollama import llama2.tar
系统信息
查看系统信息
查看 Ollama 的系统信息:
ollama system
查看资源使用情况
查看模型的资源使用情况:
ollama resources <model-name>
例如:
ollama resources llama2
模型性能
查看模型性能
查看模型的性能指标:
ollama perf <model-name>
例如:
ollama perf llama2
模型历史
查看模型历史记录
查看模型的历史记录:
ollama history <model-name>
例如:
ollama history llama2
模型状态
检查模型状态
检查指定模型的状态:
ollama status <model-name>
例如:
ollama status llama2
Ollama 模型交互
Ollama 提供了多种方式与模型进行交互,其中最常见的就是通过命令行进行推理操作。
命令行交互
通过命令行直接与模型进行交互是最简单的方式。
运行模型
使用 ollama run 命令启动模型并进入交互模式:
ollama run <model-name>
例如我们下载 deepseek-coder 模型:
实例
ollama run deepseek-coder
启动后,您可以直接输入问题或指令,模型会实时生成响应。
>>> 你好,你能帮我写一段代码吗?
当然可以。但是首先我想知道您希望在哪种编程语言中实现这个功能(例如Python、JavaScript等)和要解决什么问题或者完成的任务是什么样的例子呢?这样我们可以为您提供更准确的
内容,同时也方便我帮助你写出最适合您的代码片段。
>>> 写一段 python hello world
当然可以!这是一个简单的 "Hello, World!" 程序:
print("Hello, World!")
这个脚本会输出 Hello, World!
,并将其打印到控制台上。这只是最基本的 Python Hello world示例;Python是一种解释型、通用型的编程语言以其简洁性和易读性而闻名。它还允许
用户在代码中插入变量和表达式来创建复杂的行为。
退出交互模式
在交互模式下,输入 /bye 或按下 Ctrl+d 退出。
单次命令交互
如果您只需要模型生成一次响应,可以直接在命令行中传递输入。
使用管道输入
通过管道将输入传递给模型:
实例
echo "你是谁?" | ollama run deepseek-coder
输出结果如下:
我是由中国的深度求索(DeepSeek)公司开发的编程智能助手,名为DeepCoder。我专注于解答计算机科学相关的问题和任务。如果你有任何关于这个领域的话题或者需要帮助的地方,请
随时提问!
使用命令行参数
直接在命令行中传递输入:
ollama run deepseek-coder "Python 的 hello world 代码?"
输出结果如下:
在 Python 中,“Hello World!” 通常是这段简单的脚本:
print("Hello World!")
当你运行这个程序时,它会输出 Hello, World
。这是因为 print() 函数将字符串 “Hello, World” 打印到标准输出设备 (stdout) - 也就是你的屏幕上显示的信息(在这种情况下是命
令行终端或类似的工具中运行 Python 脚本时,它会直接写入控制台。
多轮对话
Ollama 支持多轮对话,模型可以记住上下文。
实例
>>> 你好,你能帮我写一段 Python 代码吗?
当然可以!请告诉我你需要实现什么功能。
>>> 我想写一个计算斐波那契数列的函数。
好的,以下是一个简单的 Python 函数:
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
文件输入
可以将文件内容作为输入传递给模型。
假设 input.txt 文件内容为:
Python 的 hello world 代码?
将 input.txt 文件内容作为输入:
ollama run deepseek-coder < input.txt
自定义提示词
通过 Modelfile 定义自定义提示词或系统指令,使模型在交互中遵循特定规则。
创建自定义模型
编写一个 Modelfile:(Modelfile文件为以Modelfile命名无扩展名的文件)
实例
FROM deepseek-coder
SYSTEM "你是一个编程助手,专门帮助用户编写代码。"
然后创建自定义模型:
ollama create runoob-coder -f ./Modelfile
运行自定义模型:
ollama run runoob-coder
交互日志
Ollama 会记录交互日志,方便调试和分析。
查看日志:
ollama logs
创建模型
准备Modelfile文件
FROM deepseek-r1
SYSTEM "你是华星重工智能助理,专门帮助华星重工及客户解决问题"
在ollama官网创建一个模型
ollama配置本地秘钥
找到本地的秘钥
不同系统对应的地址如下:
macOS
~/.ollama/id_ed25519.pub
Linux
/usr/share/ollama/.ollama/id_ed25519.pub
Windows
C:\Users\<username>\.ollama\id_ed25519.pub
Next, add it as a key in settings↗.
点击settings将本地的秘钥添加进去
推送本地模型到ollama
使用命名行进行推送
ollama push rckj/hxjx-AI
Ollama Open WebUI
Open WebUI 用户友好的 AI 界面(支持 Ollama、OpenAI API 等)。
Open WebUI 支持多种语言模型运行器(如 Ollama 和 OpenAI 兼容 API),并内置了用于检索增强生成(RAG)的推理引擎,使其成为强大的 AI 部署解决方案。
Open WebUI 可自定义 OpenAI API URL,连接 LMStudio、GroqCloud、Mistral、OpenRouter 等。
Open WebUI 管理员可创建详细的用户角色和权限,确保安全的用户环境,同时提供定制化的用户体验。
Open WebUI 支持桌面、笔记本电脑和移动设备,并提供移动设备上的渐进式 Web 应用(PWA),支持离线访问。
开源地址:https://github.com/open-webui/open-webui
官方文档:https://docs.openwebui.com/
安装
Open WebUI 提供多种安装方式,包括通过 Python pip 安装、Docker 安装、Docker Compose、Kustomize 和 Helm 等。
使用 Docker 快速开始
如果 Ollama 已安装在你的电脑上,使用以下命令:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
使用 Nvidia GPU 支持运行 Open WebUI:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
Open WebUI 与 Ollama 捆绑安装
此安装方法使用一个单一的容器镜像,将 Open WebUI 与 Ollama 捆绑在一起,可以通过一个命令轻松设置。
根据你的硬件配置选择合适的命令。
启用 GPU 支持:
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
仅使用 CPU:
docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
这两个命令都能帮助你简化安装过程,让 Open WebUI 和 Ollama 无缝运行。
安装完成后,你可以通过访问 http://localhost:3000 使用 Open WebUI。
更新 Open WebUI
手动更新
使用 Watchtower 手动更新 Docker 容器:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui
自动更新
每 5 分钟自动更新容器:
docker run -d --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 300 open-webui
注意:如果你的容器名不同,请将 open-webui 替换为你的容器名。
手动安装
Open WebUI 的安装有两种主要方法:使用 uv runtime manager 或 Python 的 pip。
推荐使用 uv,因为它简化了环境管理,减少了潜在的冲突。
使用 uv 安装(推荐)
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
运行 Open WebUI
安装 UV 后,运行 Open WebUI 就比较简单了。
使用以下命令,确保设置 DATA_DIR 环境变量,以避免数据丢失。
macOS/Linux:
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
Windows:
$env:DATA_DIR="C:\open-webui\data"; uvx --python 3.11 open-webui@latest serve
通过 pip 安装
Open WebUI 可以通过 Python 的包安装程序 pip 进行安装,在开始安装之前,请确保您使用的是 Python 3.11,以避免可能出现的兼容性问题。
打开您的终端,运行以下命令以安装 Open WebUI:
pip install open-webui
安装完成后,您可以通过以下命令启动 Open WebUI:
open-webui serve
启动后,Open WebUI 服务器将运行在 http://localhost:8080,您可以通过浏览器访问该地址来使用 Open WebUI。
更多推荐
所有评论(0)