Ollama 部署本地大模型与使用
前言
在上一章中,我们通过 HuggingFace 成功调用了 Llama3 模型,但整个过程相对繁琐。不仅需要在 HuggingFace 上申请访问权限,还要编写代码来调用模型。如果我们需要提供外部访问接口,还需要自行实现。本文将介绍如何通过 Ollama 部署 Llama3 模型,并通过接口调用,简化这一过程。
Ollama 简介
Ollama 是一个本地运行的大语言模型(LLM)工具平台,允许用户在本地设备上运行和管理大模型,而无需依赖云服务。它支持多种开源模型,并提供了用户友好的接口,非常适合开发者和企业使用。
安装 Ollama
首先,从 Ollama 官网 下载安装包,并按照提示完成安装。
Ollama 命令介绍
Ollama 提供了几个简单易用的命令,基本功能如下:
1 |
|
下载大模型
在 Ollama 官网的 Models 页面 中,可以找到 Ollama 支持的大模型列表。
如果没有明确的模型选择,建议使用阿里的 qwen2.5:7b
或 Meta 的 llama3.1:8b
。7b 以上的大模型通常能提供更好的对话效果。
查看模型信息
选择一个模型后,点击进入可以查看模型的详细信息。
下载模型
使用 ollama run
命令可以在拉取模型后直接进入交互窗口。如果只想下载模型而不进入交互界面,可以使用 ollama pull
命令。
1 |
|
等待模型下载完成后,会直接进入交互界面。
在命令行中输入消息,即可与模型进行交互。
交互窗口命令
在交互窗口中输入 /?
可以查看可用命令。
1 |
|
例如,使用 /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 |
|
如果服务未启动,可以使用以下命令启动:
1 |
|
调用模型列表接口
首先,调用一个简单的接口来查询模型列表:
1 |
|
返回结果:
调用生成接口
接下来,调用生成接口来获取模型的响应:
1 |
|
默认情况下,接口会返回流式数据:
可以通过设置 stream: false
参数,直接返回完整内容:
1 |
|
此时,接口会等待模型生成完整响应后一次性返回:
结语
通过本文,我们成功使用 Ollama 部署并调用了 Llama 大模型。Ollama 提供了简单易用的接口,极大简化了大模型的本地部署和调用过程。对于其他接口如 chat
、pull
、delete
等,可以参考官方文档进行调用。
相关链接
- Ollama 官网: https://ollama.com/
- Ollama GitHub: https://github.com/ollama/ollama/
- Ollama API 文档: https://github.com/ollama/ollama/blob/main/docs/api.md