ollama - 创建、运行和共享大型语言模型 (LLM)。Ollama 将模型的权重、配置、提示等捆绑到可以在任何计算机上运行的独立包中。

Created at: 2023-06-27 03:39:32
Language: Go
License: MIT
商标

奥拉玛

不和

在本地启动并运行大型语言模型。

macOS操作系统

下载

窗户

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

Linux 和 WSL2

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

手动安装说明

docker

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

ollama/ollama

快速入门

要运行并与 Llama 2 聊天:

ollama run llama2

模型库

Ollama 支持 ollama.ai/library 上可用的开源模型列表

以下是一些可以下载的开源模型示例:

参数 大小 下载
骆驼 2 7乙 3.8千兆字节(GB)
ollama run llama2
米斯特拉尔 7乙 4.1千兆字节(GB)
ollama run mistral
海豚皮 2.7乙 1.6千兆字节(GB)
ollama run dolphin-phi
Phi-2型 2.7乙 1.7千兆字节(GB)
ollama run phi
神经聊天 7乙 4.1千兆字节(GB)
ollama run neural-chat
7乙 4.1千兆字节(GB)
ollama run starling-lm
代码骆驼 7乙 3.8千兆字节(GB)
ollama run codellama
骆驼 2 未经审查 7乙 3.8千兆字节(GB)
ollama run llama2-uncensored
骆驼 2 13B 13乙 7.3千兆字节(GB)
ollama run llama2:13b
骆驼 2 70B 70乙 39千兆字节(GB)
ollama run llama2:70b
逆戟鲸迷你 3乙 1.9千兆字节(GB)
ollama run orca-mini
小羊驼 7乙 3.8千兆字节(GB)
ollama run vicuna
LLaVA系列 7乙 4.5千兆字节(GB)
ollama run llava

注意:你至少应有 8 GB 的 RAM 可用于运行 7B 型号,16 GB 用于运行 13B 型号,32 GB 用于运行 33B 型号。

自定义模型

从 GGUF 导入

Ollama 支持在 Modelfile 中导入 GGUF 模型:

  1. 创建一个名为 的文件,其中包含要导入的模型的本地文件路径的指令。

    Modelfile
    FROM

    FROM ./vicuna-33b.Q4_0.gguf
    
  2. 在 Ollama 中创建模型

    ollama create example -f Modelfile
    
  3. 运行模型

    ollama run example
    

从 PyTorch 或 Safetensors 导入

有关详细信息,请参阅有关导入模型的指南

自定义提示

Ollama 库中的模型可以通过提示进行自定义。例如,要自定义模型:

llama2

ollama pull llama2

创建一个 :

Modelfile

FROM llama2

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system message
SYSTEM """
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
"""

接下来,创建并运行模型:

ollama create mario -f ./Modelfile
ollama run mario
>>> hi
Hello! It's your friend Mario.

有关更多示例,请参阅 examples 目录。有关使用模型文件的更多信息,请参阅模型文件文档。

CLI 参考

创建模型

ollama create
用于从模型文件创建模型。

ollama create mymodel -f ./Modelfile

拉取模型

ollama pull llama2

此命令还可用于更新本地模型。只有差异才会被拉取。

删除模型

ollama rm llama2

复制模型

ollama cp llama2 my-llama2

多线路输入

对于多行输入,你可以使用以下命令换行文本:

"""

>>> """Hello,
... world!
... """
I'm a basic program that prints the famous "Hello, world!" message to the console.

多模式模型

>>> What's in this image? /Users/jmorgan/Desktop/smile.png
The image features a yellow smiley face, which is likely the central focus of the picture.

将提示作为参数传入

$ ollama run llama2 "Summarize this file: $(cat README.md)"
 Ollama is a lightweight, extensible framework for building and running language models on the local machine. It provides a simple API for creating, running, and managing models, as well as a library of pre-built models that can be easily used in a variety of applications.

列出计算机上的型号

ollama list

启动 Ollama

ollama serve
当你希望在不运行桌面应用程序的情况下启动 ollama 时使用。

建筑

安装和:

cmake
go

brew install cmake go

然后生成依赖:

go generate ./...

然后构建二进制文件:

go build .

更详细的说明可以在开发人员指南中找到

运行本地构建

接下来,启动服务器:

./ollama serve

最后,在单独的 shell 中,运行一个模型:

./ollama run llama2

REST API

Ollama 有一个用于运行和管理模型的 REST API。

生成响应

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

与模特聊天

curl http://localhost:11434/api/chat -d '{
  "model": "mistral",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

请参阅所有端点的 API 文档

社区集成

Web 和桌面

终端

数据库

包管理器

图书馆

移动

扩展和插件