Ollama 部署本地大模型与使用

前言

在上一章中,我们通过 HuggingFace 成功调用了 Llama3 模型,但整个过程相对繁琐。不仅需要在 HuggingFace 上申请访问权限,还要编写代码来调用模型。如果我们需要提供外部访问接口,还需要自行实现。本文将介绍如何通过 Ollama 部署 Llama3 模型,并通过接口调用,简化这一过程。

Ollama 简介

Ollama 是一个本地运行的大语言模型(LLM)工具平台,允许用户在本地设备上运行和管理大模型,而无需依赖云服务。它支持多种开源模型,并提供了用户友好的接口,非常适合开发者和企业使用。

安装 Ollama

首先,从 Ollama 官网 下载安装包,并按照提示完成安装。

Ollama 命令介绍

Ollama 提供了几个简单易用的命令,基本功能如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Usage:
ollama [flags]
ollama [command]

Available Commands:
serve 启动 Ollama 服务
create 从 Modelfile 创建一个模型
show 查看模型详细信息
run 运行一个模型
stop 停止正在运行的模型
pull 从注册表拉取一个模型
push 将一个模型推送到注册表
list 列出所有可用的模型
ps 列出当前正在运行的模型
cp 复制一个模型
rm 删除一个模型
help 获取关于任何命令的帮助信息

Flags:
-h, --help help for ollama
-v, --version Show version information

下载大模型

在 Ollama 官网的 Models 页面 中,可以找到 Ollama 支持的大模型列表。

如果没有明确的模型选择,建议使用阿里的 qwen2.5:7b 或 Meta 的 llama3.1:8b。7b 以上的大模型通常能提供更好的对话效果。

查看模型信息

选择一个模型后,点击进入可以查看模型的详细信息。

下载模型

使用 ollama run 命令可以在拉取模型后直接进入交互窗口。如果只想下载模型而不进入交互界面,可以使用 ollama pull 命令。

1
ollama run llama3.2:1b

等待模型下载完成后,会直接进入交互界面。

在命令行中输入消息,即可与模型进行交互。

交互窗口命令

在交互窗口中输入 /? 可以查看可用命令。

1
2
3
4
5
6
7
8
9
10
11
Available Commands:
/set 设置会话变量
/show 显示模型信息
/load <model> 加载会话或模型
/save <model> 保存当前会话
/clear 清除会话上下文
/bye 退出会话
/?, /help 显示命令帮助
/? shortcuts 显示快捷键帮助

Use """ to begin a multi-line message.

例如,使用 /show 命令查看模型信息:

输入 /bye 即可退出交互界面。

调用 Ollama 接口

Ollama 提供了丰富的 API 接口,供外部调用访问。详细的 接口文档 可以在官方 GitHub 中找到。

接口名称 接口地址 请求方法 接口描述
Generate /api/generate POST 使用提供的模型为给定提示生成响应。
Chat /api/chat POST 使用提供的模型生成聊天中的下一条消息
Create /api/create POST 从 Modelfile 创建一个新的模型。
Tags /api/tags GET 列出本地可提供的型号。
Show /api/show POST 获取指定模型的详细信息。
Copy /api/copy POST 从现有模型创建副本。
Delete /api/delete DELETE 删除模型及其数据。
Pull /api/pull POST 从 Ollama 库中下载指定模型。
Push /api/push POST 将模型上传到模型库。
Embed /api/embed POST 使用指定模型生成嵌入。
ListRunning /api/ps POST 列出当前加载到内存中的模型。
Embeddings /api/embeddings POST 生成嵌入(与 Embed 类似,但可能适用场景不同)。
Version /api/version GET 获取 Ollama 服务的版本号。

检查服务

安装 Ollama 后,服务通常会自动启动。为了确保服务正常运行,可以通过以下命令检查:

Ollama 默认端口为 11434,访问地址为 127.0.0.1:11434

1
curl http://127.0.0.1:11434

如果服务未启动,可以使用以下命令启动:

1
ollama serve

调用模型列表接口

首先,调用一个简单的接口来查询模型列表:

1
curl http://localhost:11434/api/tags

返回结果:

调用生成接口

接下来,调用生成接口来获取模型的响应:

1
2
3
4
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2:1b",
"prompt": "天空为什么是蓝色的?"
}'

默认情况下,接口会返回流式数据:

可以通过设置 stream: false 参数,直接返回完整内容:

1
2
3
4
5
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2:1b",
"prompt": "天空为什么是蓝色的?",
"stream": false
}'

此时,接口会等待模型生成完整响应后一次性返回:

结语

通过本文,我们成功使用 Ollama 部署并调用了 Llama 大模型。Ollama 提供了简单易用的接口,极大简化了大模型的本地部署和调用过程。对于其他接口如 chatpulldelete 等,可以参考官方文档进行调用。

相关链接


Ollama 部署本地大模型与使用
https://blog.pangcy.cn/2025/01/09/AI 工具与技术/大模型/Ollama 部署本地大模型与使用/
作者
子洋
发布于
2025年1月9日
许可协议