目录

本地部署 LLM

在本地部署 LLM(large language model 大语言模型)是无需互联网连接即可利用其功能的好方法。

可以通过 Ollama 实现这一目标,这是一个开源项目,允许在自己的硬件上运行 AI 模型。

为什么要在本地部署 LLM?

  1. 隐私:通过在本地运行模型,你可以确保你的数据不会被发送到任何第三方服务器,这对于敏感或机密信息来说是一个问题。
  2. 成本:在本地运行模型可能比依赖云服务更具成本效益,对于需要连续使用的项目或应用程序,尤其是大型项目或应用程序来说更是如此。
  3. 定制:拥有本地模型让你可以根据你的特定需求进行定制,并将其与你可能正在使用的其他工具和系统集成。
  4. 更快的响应时间:与依赖于云服务的模式相比,本地部署可以实现更快的响应时间,这对需要实时响应的应用程序来说很有益。
  5. 离线功能:让你的模型在本地运行,即使在没有互联网连接的情况下,你仍然可以使用它,这对于连接不可靠的区域的应用程序或需要离线处理的任务来说非常有用。

安装 ollama

macOS

下载

Windows

即将推出!目前,你可以通过 WSL2 在 Windows 上安装 Ollama。

Linux 和 WSL2

1
curl https://ollama.ai/install.sh | sh

手动安装说明

Docker

可以在 Docker Hub 上找到官方的 Ollama Docker 镜像 ollama/ollama。

快速启动

若要运行并与 Llama 2 聊天:

1
ollama run llama2

模型库

ollama.ai/library 上可查看 Ollama 支持的 LLM。

热门模型

llama2

最受欢迎的通用模型。

Llama 2 由 Meta Platforms, Inc. 发布。此模型由 2 万亿个令牌训练而成,默认情况下支持 4096 的上下文长度。Llama 2 聊天模型针对 100 万个以上的人工注释进行了微调,可用于聊天。

CLI

1
ollama run llama2

API

1
2
3
4
curl -X POST http://localhost:11434/api/generate -d '{
 "model": "llama2",
 "prompt":"Why is the sky blue?"
 }'

API 文档

内存要求

  • 7b 模型通常至少需要 8GB RAM
  • 13b 模型通常至少需要 16GB RAM
  • 70b 模型通常至少需要 64GB RAM

如果遇到更高量化级别的问题,请尝试使用 q4 模型或关闭使用大量内存的其他程序。

mistral

Mistral AI 发布的 7B 模型,已更新至 0.2 版。

Mistral 是一个 7.3B 参数模型,使用 Apache 许可证分发。它同时支持指令(遵循指令)和文本补全。

注意:此模型已更新为 Mistral v0.2。原始模型可用作 mistral:7b-instruct-q4_0。

Mistral AI 团队指出以下几点:

  • Mistral 7B 在所有基准上均优于 Llama 2 13B
  • Mistral 7B 在许多基准上均优于 Llama 1 34B
  • Mistral 7B 在处理代码方面的性能接近 CodeLlama 7B,同时在处理英文任务方面也表现出色

CLI

指令:

1
ollama run mistral

文本补全:

1
ollama run mistral:text

API

1
2
3
4
curl -X POST http://localhost:11434/api/generate -d '{
 "model": "mistral",
 "prompt":"Here is a story about llamas eating grass"
 }'

内存要求

  • 7b 模型通常至少需要 8GB RAM

codellama

能够使用文本提示来生成和讨论代码的大型语言模型。

Code Llama 是一个用来生成和讨论代码的模型,建立在 Llama 2 之上。它旨在让开发人员的工作流程更高效、更快,并使人们更容易地学习如何编写代码。它可以生成代码以及有关代码的自然语言。Code Llama 支持当今使用的大多数最流行的编程语言,包括 Python、C++、Java、PHP、Typescript (Javascript)、C#、Bash 等。

CLI

1
ollama run codellama "写一个输出斐波那契数列的函数"

API

1
2
3
4
curl -X POST http://localhost:11434/api/generate -d '{
 "model": "codellama",
 "prompt": "写一个输出斐波那契数列的函数"
}'

内存要求

  • 70 billion:8GB
  • 130 billion:16GB
  • 340 billion:32GB

dolphin-mixtral

基于 Mixtral 专家模型混合版本的一个未经审查的经过微调的模型,在编码任务方面表现出色。由 Eric Hartford 创建。

Eric Hartford 通过 Mixtral 创建的 Dolphin 模型额外添加了以下数据集进行了训练:

  • Synthia、OpenHermes 和 PureDove
  • 新版 Dolphin-Coder
  • MagiCoder

CLI

1
ollama run dolphin-mixtral

API

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

内存需求

  • 需 48GB 或更多内存

llama2-uncensored

George Sung 和 Jarrad Hope 制作的未经审查的 Llama 2 模型。

Llama 2 Uncensored 基于 Meta 的 Llama 2 模型,由 George Sung 和 Jarrad Hope 使用 Eric Hartford 在其 博客文章 中定义的过程制作。

CLI

1
ollama run llama2-uncensored

API

1
2
3
4
curl -X POST http://localhost:11434/api/generate -d '{
 "model": "llama2-uncensored",
 "prompt":"写一个令人危险地辣的蛋黄酱食谱。"
 }'

内存需求

  • 7b 模型通常需要至少 8GB 的 RAM
  • 70b 模型通常需要至少 64GB 的 RAM

orca-mini

范围从 30 亿到 700 亿参数的通用模型,适合入门级硬件。

Orca Mini 是根据论文 Orca:对 GPT-4 的复杂解释轨迹进行渐进性学习中定义的方法,在 Orca 风格数据集上训练的 Llama 和 Llama 2 模型。有两种可用的变体。基于 Llama 的原始 Orca Mini 有 30 亿、70 亿和 130 亿参数大小,而基于 Llama 2 的 v3 有 70 亿、130 亿和 700 亿参数大小。

CLI

1
https://ollama.ai/library/orca-mini

API

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

内存需求

  • 7b 模型通常需要至少 8GB 的 RAM
  • 13b 模型通常需要至少 16GB 的 RAM
  • 70b 模型通常需要至少 64GB 的 RAM

wizard-vicuna-uncensored

Wizard Vicuna Uncensored 是 Eric Hartford 基于未经审查的 Llama 2 的 7B、13B 和 30B 参数模型。

Wizard Vicuna Uncensored 是 Eric Hartford 基于未经审查的 Llama 2 的 7B、13B 和 30B 参数模型。使用数据集的一个子集针对 LLaMA-7B 训练这些模型,移除了包含对 alignment / moralizing 的回复。

CLI

1
ollama run wizard-vicuna-uncensored

API

1
2
3
4
curl -X POST http://localhost:11434/api/generate -d '{
 "model": "wizard-vicuna-uncensored",
 "prompt":"谁让 Rose 承诺她永远不会放弃?"
 }'

内存需求

  • 7b 模型通常需要至少 8GB 的 RAM
  • 13b 模型通常需要至少 16GB 的 RAM
  • 30b 模型通常需要至少 32GB 的 RAM

如果你在使用较高的量化级别时遇到问题,请尝试使用 q4 模型或关闭正在大量使用内存的其他程序。

参考文档