Ollama 的安装和使用
2024-06-11
Ollama 是一个轻量级、可扩展的框架,用于在本地机器上构建和运行大型语言模型,支持多种安装方式和模型,提供丰富的API和社区集成。
Ollama 是一个轻量级、可扩展的框架,用于在本地机器上构建和运行大型语言模型。它提供了简单的 API,用于创建、运行和管理模型,并且拥有一个可以轻松使用的预构建模型库。以下是 Ollama 的主要功能和使用方法:
安装
macOS: 下载 macOS 安装包
Windows 预览版: 下载 Windows 预览版
Linux: 使用以下命令安装
curl -fsSL https://ollama.com/install.sh | sh
也可以参考 手动安装说明
Docker: Docker Hub 上提供了官方的 Ollama Docker 镜像 ollama/ollama
docker pull ollama/ollama
快速开始
要运行和与 Llama 3 模型聊天:
ollama run llama3
模型库
Ollama 支持多种模型,可以从 ollama.com/library 下载。以下是一些示例模型:
模型名称 | 参数 | 大小 | 下载命令 |
---|---|---|---|
Llama 3 | 8B | 4.7GB | ollama run llama3 |
Llama 3 | 70B | 40GB | ollama run llama3:70b |
Phi 3 Mini | 3.8B | 2.3GB | ollama run phi3 |
Phi 3 Medium | 14B | 7.9GB | ollama run phi3:medium |
Gemma | 2B | 1.4GB | ollama run gemma:2b |
Gemma | 7B | 4.8GB | ollama run gemma:7b |
Mistral | 7B | 4.1GB | ollama run mistral |
Moondream 2 | 1.4B | 829MB | ollama run moondream |
Neural Chat | 7B | 4.1GB | ollama run neural-chat |
Starling | 7B | 4.1GB | ollama run starling-lm |
Code Llama | 7B | 3.8GB | ollama run codellama |
Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
LLaVA | 7B | 4.5GB | ollama run llava |
Solar | 10.7B | 6.1GB | ollama run solar |
注意: 运行 7B 模型需要至少 8 GB RAM,运行 13B 模型需要 16 GB RAM,运行 33B 模型需要 32 GB RAM。
自定义模型
从 GGUF 导入
创建一个名为 Modelfile
的文件,并包含一个 FROM
指令,指定要导入的模型的本地文件路径。
FROM ./vicuna-33b.Q4_0.gguf
创建模型:
ollama create example -f Modelfile
运行模型:
ollama run example
从 PyTorch 或 Safetensors 导入
详见 导入指南。
自定义提示
可以使用提示自定义模型。例如,自定义 llama3
模型:
ollama pull llama3
创建一个 Modelfile
:
FROM llama3 # 设置温度为 1 [越高越有创造力,越低越连贯] PARAMETER temperature 1 # 设置系统消息 SYSTEM """ You are Mario from Super Mario Bros. Answer as Mario, the assistant, only. """
创建并运行模型:
ollama create mario -f ./Modelfile ollama run mario
命令行参考
创建模型
ollama create mymodel -f ./Modelfile
拉取模型
ollama pull llama3
删除模型
ollama rm llama3
复制模型
ollama cp llama3 my-model
多行输入
>>> """Hello, ... world! ... """
多模态模型
>>> What's in this image? /Users/jmorgan/Desktop/smile.png
传递提示作为参数
ollama run llama3 "Summarize this file: $(cat README.md)"
列出计算机上的模型
ollama list
启动 Ollama
ollama serve
在另一个终端运行模型:
ollama run llama3
REST API
生成响应:
curl http://localhost:11434/api/generate -d '{ "model": "llama3", "prompt":"Why is the sky blue?" }'
与模型聊天:
curl http://localhost:11434/api/chat -d '{ "model": "llama3", "messages": [ { "role": "user", "content": "why is the sky blue?" } ] }'
社区集成
- Web & 桌面: Open WebUI, Enchanted (macOS native), Hollama, 等等。
- 终端: oterm, Ellama Emacs client, gen.nvim, 等等。
- 数据库: MindsDB, chromem-go with example。
- 包管理器: Pacman, Helm Chart, Guix channel。
- 库: LangChain, LangChain.js, LangChainGo, LangChain4j, LangChainRust, LlamaIndex, 等等。
- 移动端: Enchanted, Maid。
- 扩展与插件: Raycast extension, Discollama (Discord bot), Continue, Obsidian Ollama plugin, 等等。
Ollama 提供了丰富的功能和集成,支持多种模型的运行和管理,适用于各种应用场景。