Skip to content
ollama

Ollama

Discord

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

macOS

下载

"Windows 预览"

[下载] (https://ollama.com/download/OllamaSetup.exe)

Linux

curl -fsSL https://ollama.com/install.sh | sh

手动安装说明

Docker

官方的 Ollama Docker 镜像 ollama/ollama 已经在 Docker Hub 上可用。

Library

快速入门

运行并使用 Llama 3 聊天:

ollama run llama3

模型库

Ollama 支持 ollama.com/library 上的一系列模型。

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

模型参数大小下载
Llama 38B4.7GBollama run llama3
Llama 370B40GBollama run llama3:70b
Phi-33.8B2.3GBollama run phi3
Mistral7B4.1GBollama run mistral
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
LLaVA7B4.5GBollama run llava
Gemma2B1.4GBollama run gemma:2b
Gemma7B4.8GBollama run gemma:7b
Solar10.7B6.1GBollama run solar

注意:运行 7B 模型至少需要 8GB 的 RAM,运行 13B 模型至少需要 16GB 的 RAM,运行 33B 模型至少需要 32GB 的 RAM。

但是可以使用量化 bit 小的模型可以在低内存设备上运行,例如 4B 模型。

bash
ollama run llama3:8b-text-q4_K_S

8b-text-q4_K_S 的含义参考 这里

自定义模型

从 GGUF 导入

Ollama 支持在模型文件中导入 GGUF 模型:

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

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

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

    ollama run example

从 PyTorch 或 Safetensors 导入

有关模型导入的更多信息,请参阅 指南

自定义提示词、temperature 和系统消息

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

ollama pull llama3

创建一个 Modelfile:

FROM llama3

# 将 temperature 设置为 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
>>> hi
Hello! It's your friend Mario.

更多示例,请参阅 [examples] 目录。有关如何使用模版文件的更多信息,请参阅 模版文件 文档。

命令行参考

创建模型

ollama create 用于根据模版文件创建模型。

ollama create mymodel -f ./Modelfile

拉取模型

ollama pull llama3

此命令也可用于更新本地模型。只会拉取差异。

删除模型

ollama rm llama3

复制模型

ollama cp llama3 my-model

多行输入

对于多行输入,你可以使用 """ 包裹文本:

>>> """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 llama3 "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 而不运行桌面应用时,可以使用 ollama serve

编译

安装 cmakego

brew install cmake go

然后生成依赖项:

go generate ./...

然后编译为二进制文件:

go build .

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

运行本地服务

接下来,启动服务器:

./ollama serve

最后,在另一个终端中运行模型:

./ollama run llama3

RESTful API

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

使用 llama3 模型生成文本

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?" }
  ]
}'

查看 API 文档 了解所有端点。

社区集成

网络与桌面

  1. Open WebUI:一个开放的 Web 用户界面项目,旨在提供灵活且可扩展的前端解决方案。
  2. Enchanted (macOS native):一个原生的 macOS 应用,提供图形用户界面,旨在简化复杂任务的管理和执行。
  3. Hollama:一个支持多种自然语言处理模型的 Web 界面,用于交互和测试不同的语言模型。
  4. Lollms-Webui:一个用于 Lollms 模型的 Web 用户界面,提供简洁的交互方式和强大的功能。
  5. LibreChat:一个开源的聊天应用,支持多种聊天模型和集成。
  6. Bionic GPT:一个基于 GPT 的项目,提供增强的语言模型功能和用户界面。
  7. HTML UI:一个用于 Ollama 模型的 HTML 用户界面,提供简单易用的前端。
  8. Saddle:一个轻量级的前端框架,旨在简化 Web 应用的开发。
  9. Chatbot UI:一个用于 Ollama 聊天机器人的用户界面,提供直观的交互体验。
  10. Chatbot UI v2:改进版的聊天机器人用户界面,增加了更多功能和更好的用户体验。
  11. Typescript UI:一个使用 TypeScript 构建的 Ollama 模型用户界面,提供强类型的前端代码。
  12. Minimalistic React UI for Ollama Models:一个简约的 React 用户界面,专为 Ollama 模型设计。
  13. Ollamac:一个 macOS 应用,用于与 Ollama 模型进行交互。
  14. big-AGI:一个 AGI 项目,支持本地配置和 Ollama 模型集成。
  15. Cheshire Cat assistant framework:一个智能助手框架,提供模块化的设计和灵活的扩展功能。
  16. Amica:一个开源聊天机器人项目,支持多种集成和功能扩展。
  17. chatd:一个分布式聊天应用,支持多用户聊天和实时通信。
  18. Ollama-SwiftUI:一个使用 SwiftUI 构建的 Ollama 模型用户界面,适用于 iOS 和 macOS 平台。
  19. Dify.AI:一个 AI 驱动的项目,提供智能化的任务管理和执行。
  20. MindMac:一个 macOS 应用,提供智能助手功能和任务自动化。
  21. NextJS Web Interface for Ollama:一个基于 NextJS 的 Web 界面,支持 Ollama 模型。
  22. Msty:一个任务管理和自动化工具,旨在提高工作效率。
  23. Chatbox:一个支持多种聊天模型的 Web 应用,提供直观的聊天界面。
  24. WinForm Ollama Copilot:一个 Windows 应用,提供 Ollama 模型的集成功能。
  25. NextChat:一个基于 Next.js 的聊天应用,支持多种聊天模型。Get Started Doc
  26. Alpaca WebUI:一个用于 Alpaca 模型的 Web 用户界面,提供友好的用户体验。
  27. OllamaGUI:一个简单易用的 Ollama 模型用户界面。
  28. OpenAOE:一个开放的自动化任务执行引擎,支持多种集成和扩展。
  29. Odin Runes:一个任务管理和自动化工具,提供丰富的功能和用户界面。
  30. LLM-X:一个渐进式 Web 应用,支持多种语言模型和集成。
  31. AnythingLLM (Docker + MacOs/Windows/Linux native app):一个多平台支持的 LLM 项目,提供 Docker 和原生应用支持。
  32. Ollama Basic Chat: Uses HyperDiv Reactive UI:一个基础聊天应用,使用 HyperDiv Reactive UI 技术。
  33. Ollama-chats RPG:一个基于 Ollama 模型的 RPG 聊天应用。
  34. QA-Pilot:一个代码仓库的问答机器人,提供智能化的代码库查询功能。
  35. ChatOllama:一个开源聊天机器人,基于 Ollama 模型并支持知识库集成。
  36. CRAG Ollama Chat:一个简单的 Web 搜索和纠错 RAG 模型。
  37. RAGFlow:一个开源的文档理解和生成引擎,支持深度文档理解。
  38. StreamDeploy:一个 LLM 应用程序框架,提供快速开发和部署支持。
  39. chat:一个团队协作的聊天 Web 应用。
  40. Lobe Chat:一个开源聊天应用,支持自托管和 Ollama 集成。Integrating Doc
  41. Ollama RAG Chatbot:一个本地聊天应用,支持多 PDF 文档和 RAG 集成。
  42. BrainSoup:一个灵活的本地客户端,支持 RAG 和多代理自动化功能。
  43. macai:一个 macOS 客户端,支持 Ollama、ChatGPT 和其他兼容的 API 后端。

终端

  1. oterm:一个用于与 Ollama 模型交互的终端用户界面,提供命令行的简洁操作。
  2. Ellama Emacs client:一个用于 Emacs 的 Ollama 模型客户端,集成了 Ollama 功能到 Emacs 编辑器中。
  3. Emacs client:另一个用于 Emacs 的 Ollama 模型客户端,提供类似功能的集成。
  4. gen.nvim:一个用于 Neovim 的插件,支持 Ollama 模型的生成功能。
  5. ollama.nvim:另一个 Neovim 插件,集成了 Ollama 模型的功能。
  6. ollero.nvim:用于 Neovim 的插件,提供 Ollama 模型的交互功能。
  7. ollama-chat.nvim:一个 Neovim 插件,支持与 Ollama 模型的聊天功能。
  8. ogpt.nvim:一个 Neovim 插件,集成了 GPT 模型的功能。
  9. gptel Emacs client:一个用于 Emacs 的 GPT 模型客户端,提供与 GPT 模型的交互功能。
  10. Oatmeal:一个命令行工具,集成了 Ollama 模型的功能。
  11. cmdh:一个命令行工具,支持与 Ollama 模型的交互。
  12. ooo:一个简单的命令行工具,提供 Ollama 模型的基本功能。
  13. shell-pilot:一个用于命令行的智能助手,集成了 Ollama 模型的功能。
  14. tenere:一个命令行工具,支持与 Ollama 模型的交互。
  15. llm-ollama:一个为 Datasette's LLM CLI 设计的插件,支持 Ollama 模型的功能集成。Datasette's LLM CLI
  16. typechat-cli:一个命令行聊天工具,集成了 Ollama 模型的功能。
  17. ShellOracle:一个命令行智能助手,支持多种 LLM 模型,包括 Ollama。
  18. tlm:一个命令行工具,集成了多种语言模型功能。
  19. podman-ollama:一个 Podman 容器,提供 Ollama 模型的集成和运行环境。

数据库

  1. MindsDB :一个连接 Ollama 模型和近 200 个数据平台和应用的集成项目。MindsDB 旨在通过无缝集成各种数据源和机器学习模型,简化数据驱动的决策和分析流程。
  2. chromem-go:一个用 Go 编写的库,支持在 Chromium 中嵌入 Ollama 模型。它提供了一个示例项目,展示了如何使用 Ollama 模型进行 RAG(检索增强生成)和 Wikipedia 数据集成。example

包管理器

  1. Pacman:一个用于 Arch Linux 的 Ollama 模型包,通过 Pacman 包管理器安装。此包简化了在 Arch Linux 系统上安装和使用 Ollama 模型的过程。
  2. Helm Chart:一个用于 Kubernetes 的 Helm Chart,帮助用户在 Kubernetes 集群中部署和管理 Ollama 模型。Helm Chart 提供了一个模板化的 YAML 文件集合,简化了复杂应用的部署过程。
  3. Guix channel:一个为 GNU Guix 提供的 Ollama 模型频道。Guix 是一个功能强大的包管理器,此频道允许用户轻松地在 Guix 系统上安装和管理 Ollama 模型。

Libraries

  1. LangChain and LangChain.js:LangChain 是一个用于构建基于语言模型的应用的框架,支持 Ollama 模型的集成。Example 展示了如何进行本地检索问答。
  2. LangChainGo:LangChain 的 Go 版本,用于构建基于语言模型的应用,支持 Ollama 模型的集成。Example 展示了如何使用 Ollama 模型完成任务。
  3. LangChain4j:LangChain 的 Java 版本,提供类似的语言模型集成功能。Example 展示了如何在 Java 应用中使用 Ollama 模型。
  4. LlamaIndex:一个支持 Ollama 模型的索引和检索框架,旨在增强文本生成和查询的准确性。
  5. LiteLLM:一个轻量级的 LLM 库,支持 Ollama 模型的集成,旨在提供简单易用的接口。
  6. OllamaSharp for .NET:一个用于.NET 平台的 Ollama 模型库,提供简单的 API 进行集成和使用。
  7. Ollama for Ruby:一个用于 Ruby 的 Ollama 模型库,提供简单的接口进行集成和使用。
  8. Ollama-rs for Rust:一个用于 Rust 的 Ollama 模型库,提供高效的集成和使用方法。
  9. Ollama4j for Java:一个用于 Java 的 Ollama 模型库,提供便捷的接口进行集成和使用。
  10. ModelFusion Typescript Library:一个用于 TypeScript 的模型融合库,支持 Ollama 模型的集成。
  11. OllamaKit for Swift:一个用于 Swift 的 Ollama 模型库,支持在 iOS 和 macOS 应用中集成 Ollama 模型。
  12. Ollama for Dart:一个用于 Dart 的 Ollama 模型库,支持在 Flutter 应用中集成 Ollama 模型。
  13. Ollama for Laravel:一个用于 Laravel 框架的 Ollama 模型库,简化了在 PHP 应用中使用 Ollama 模型的过程。
  14. LangChainDart:LangChain 的 Dart 版本,用于构建基于语言模型的应用,支持 Ollama 模型的集成。
  15. Semantic Kernel - Python :微软的 Semantic Kernel 框架,支持 Ollama 模型的集成,用于构建智能应用。
  16. Haystack:一个用于构建端到端问答系统的框架,支持 Ollama 模型的集成。
  17. Elixir LangChain:LangChain 的 Elixir 版本,支持 Ollama 模型的集成,用于构建语言模型驱动的应用。
  18. Ollama for R - rollama:一个用于 R 语言的 Ollama 模型库,提供简单的接口进行集成和使用。
  19. Ollama for R - ollama-r:另一个用于 R 语言的 Ollama 模型库,提供类似的集成功能。
  20. Ollama-ex for Elixir:一个用于 Elixir 的 Ollama 模型库,支持高效的集成和使用。
  21. Ollama Connector for SAP ABAP:一个用于 SAP ABAP 的 Ollama 模型连接器,支持在 ABAP 环境中集成 Ollama 模型。
  22. Testcontainers:一个用于在容器中运行 Ollama 模型的工具,简化了测试和开发过程。
  23. Portkey:一个用于集成 Ollama 模型的文档和指南,帮助用户快速上手。
  24. PromptingTools.jl:一个用于 Julia 的提示工具库,支持 Ollama 模型的集成。Example 展示了如何使用 Ollama 模型进行任务。
  25. LlamaScript:一个用于 JavaScript 的语言模型库,支持 Ollama 模型的集成和使用。

移动应用

  1. Enchanted:Enchanted 是一个原生的 macOS 应用,旨在提供一个简洁直观的图形用户界面,用于简化复杂任务的管理和执行。它支持多种插件和扩展,用户可以根据需要自定义和扩展其功能。
  2. Maid:Maid 是一个移动人工智能框架,旨在简化在移动设备上开发和部署 AI 模型。它提供了一个模块化的架构,支持多种 AI 模型和数据处理任务,方便开发者快速构建和集成智能应用。

扩展和插件

  1. Raycast extension:一个用于 Raycast 的扩展,支持与 Ollama 模型集成,简化在 macOS 上的操作和任务管理。
  2. Discollama:一个在 Ollama Discord 频道内的 Discord 机器人,提供聊天和管理功能。
  3. Continue:一个开源的 IDE 插件,支持与 Ollama 模型集成,用于代码补全和智能建议。
  4. Obsidian Ollama plugin:一个用于 Obsidian 的插件,支持与 Ollama 模型集成,增强笔记和知识管理功能。
  5. Logseq Ollama plugin:一个用于 Logseq 的插件,支持与 Ollama 模型集成,提供智能笔记和知识管理功能。
  6. NotesOllama:一个用于 Apple Notes 的插件,支持与 Ollama 模型集成,增强笔记功能。
  7. Dagger Chatbot:一个用于 Dagger 的聊天机器人,支持与 Ollama 模型集成。
  8. Discord AI Bot:一个 Discord 机器人,集成了 Ollama 模型,用于聊天和管理。
  9. Ollama Telegram Bot:一个用于 Telegram 的机器人,支持与 Ollama 模型集成。
  10. Hass Ollama Conversation:一个用于 Home Assistant 的插件,支持与 Ollama 模型集成,提供智能家居对话功能。
  11. Rivet plugin:一个 Rivet 插件,支持与 Ollama 模型集成,增强对话和协作功能。
  12. Obsidian BMO Chatbot plugin:一个用于 Obsidian 的聊天机器人插件,支持与 Ollama 模型集成。
  13. Cliobot:一个用于 Telegram 的机器人,支持与 Ollama 模型集成,提供智能聊天功能。
  14. Copilot for Obsidian plugin:一个用于 Obsidian 的插件,提供类似 GitHub Copilot 的智能代码补全和建议功能。
  15. Obsidian Local GPT plugin:一个用于 Obsidian 的插件,支持本地 GPT 模型集成,提供智能笔记功能。
  16. Open Interpreter:一个用于本地模型集成的文档和指南,支持 Ollama 模型。
  17. Llama Coder:一个类似 Copilot 的工具,使用 Ollama 模型提供智能代码建议和补全功能。
  18. Ollama Copilot:一个代理工具,使 Ollama 模型可以像 GitHub Copilot 一样使用,提供智能代码补全和建议功能。
  19. twinny:一个替代 Copilot 和 Copilot Chat 的工具,使用 Ollama 模型提供智能代码和聊天功能。
  20. Wingman-AI:一个 Copilot 代码和聊天替代工具,使用 Ollama 和 HuggingFace 模型提供智能支持。
  21. Page Assist:一个 Chrome 扩展,集成了 Ollama 模型,提供网页助手功能。
  22. AI Telegram Bot:一个使用 Ollama 作为后端的 Telegram 机器人,提供智能聊天功能。
  23. AI ST Completion:一个 Sublime Text 4 的 AI 助手插件,支持 Ollama 模型。
  24. Discord-Ollama Chat Bot:一个通用的 TypeScript Discord 机器人,提供调优文档和 Ollama 集成功能。
  25. Discord AI chat/moderation bot:一个用 Python 编写的聊天 / 管理机器人,使用 Ollama 创建个性化角色。

支持的后端

  1. llama.cpp:这个项目是一个高效的 C++ 库,旨在简化和优化大型语言模型(LLMs)的使用和部署。llama.cpp 提供了一套轻量级的工具,用于在各种平台上运行和集成 LLMs,特别关注性能和资源使用效率。它适用于需要在资源受限环境中运行高级自然语言处理任务的应用。

热爱生活,热爱 Ollama