Ollama 部署本地大模型与使用

1,940 阅读4分钟

前言

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

Ollama 简介

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

安装 Ollama

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

Ollama 命令介绍

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

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 命令。

ollama run llama3.2:1b

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

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

交互窗口命令

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

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/generatePOST使用提供的模型为给定提示生成响应。
Chat/api/chatPOST使用提供的模型生成聊天中的下一条消息
Create/api/createPOST从 Modelfile 创建一个新的模型。
Tags/api/tagsGET列出本地可提供的型号。
Show/api/showPOST获取指定模型的详细信息。
Copy/api/copyPOST从现有模型创建副本。
Delete/api/deleteDELETE删除模型及其数据。
Pull/api/pullPOST从 Ollama 库中下载指定模型。
Push/api/pushPOST将模型上传到模型库。
Embed/api/embedPOST使用指定模型生成嵌入。
ListRunning/api/psPOST列出当前加载到内存中的模型。
Embeddings/api/embeddingsPOST生成嵌入(与 Embed 类似,但可能适用场景不同)。
Version/api/versionGET获取 Ollama 服务的版本号。

检查服务

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

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

curl http://127.0.0.1:11434

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

ollama serve

调用模型列表接口

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

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

返回结果:

调用生成接口

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

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

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

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

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

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

结语

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

相关链接