2023-07-18 19:45:38 +00:00
< div align = "center" >
2024-01-25 05:36:56 +00:00
< img alt = "ollama" height = "200px" src = "https://github.com/jmorganca/ollama/assets/3325447/0d0b44e2-8f4a-4e99-9b52-a5c1c741c8f7" >
2023-07-18 19:45:38 +00:00
< / div >
2023-07-05 19:37:33 +00:00
2023-06-27 16:08:52 +00:00
# Ollama
2023-06-22 16:45:31 +00:00
2023-07-19 19:31:48 +00:00
[![Discord ](https://dcbadge.vercel.app/api/server/ollama?style=flat&compact=true )](https://discord.gg/ollama)
2023-07-19 19:28:50 +00:00
2023-09-26 06:44:53 +00:00
Get up and running with large language models locally.
2023-07-20 15:33:28 +00:00
2023-09-26 06:44:53 +00:00
### macOS
2023-08-08 22:50:23 +00:00
2024-02-09 23:19:30 +00:00
[Download ](https://ollama.com/download/Ollama-darwin.zip )
2023-07-18 20:31:25 +00:00
2024-02-15 18:32:40 +00:00
### Windows preview
2023-10-15 06:23:03 +00:00
2024-02-15 18:32:40 +00:00
[Download ](https://ollama.com/download/OllamaSetup.exe )
2023-10-15 06:23:03 +00:00
2024-02-15 18:32:40 +00:00
### Linux
2023-09-26 06:44:53 +00:00
```
2024-02-09 23:19:30 +00:00
curl -fsSL https://ollama.com/install.sh | sh
2023-09-26 06:44:53 +00:00
```
[Manual install instructions ](https://github.com/jmorganca/ollama/blob/main/docs/linux.md )
2023-10-15 06:23:03 +00:00
### Docker
2023-09-26 06:44:53 +00:00
2023-11-04 19:24:24 +00:00
The official [Ollama Docker image ](https://hub.docker.com/r/ollama/ollama ) `ollama/ollama` is available on Docker Hub.
2023-07-18 20:31:25 +00:00
2024-01-24 00:08:15 +00:00
### Libraries
- [ollama-python ](https://github.com/ollama/ollama-python )
- [ollama-js ](https://github.com/ollama/ollama-js )
2023-07-19 19:28:50 +00:00
## Quickstart
2024-02-09 23:19:30 +00:00
To run and chat with [Llama 2 ](https://ollama.com/library/llama2 ):
2023-07-19 19:28:50 +00:00
```
ollama run llama2
```
## Model library
2024-02-20 01:15:24 +00:00
Ollama supports a list of models available on [ollama.com/library ](https://ollama.com/library 'ollama model library' )
2023-08-17 02:53:27 +00:00
2024-02-20 01:15:24 +00:00
Here are some example models that can be downloaded:
2023-07-19 19:28:50 +00:00
2023-09-26 06:44:53 +00:00
| Model | Parameters | Size | Download |
| ------------------ | ---------- | ----- | ------------------------------ |
2023-12-19 17:59:03 +00:00
| Llama 2 | 7B | 3.8GB | `ollama run llama2` |
| Mistral | 7B | 4.1GB | `ollama run mistral` |
2023-12-24 16:54:08 +00:00
| Dolphin Phi | 2.7B | 1.6GB | `ollama run dolphin-phi` |
2023-12-19 17:59:22 +00:00
| Phi-2 | 2.7B | 1.7GB | `ollama run phi` |
2023-11-29 03:16:37 +00:00
| Neural Chat | 7B | 4.1GB | `ollama run neural-chat` |
| Starling | 7B | 4.1GB | `ollama run starling-lm` |
2023-09-26 06:44:53 +00:00
| Code Llama | 7B | 3.8GB | `ollama run codellama` |
| Llama 2 Uncensored | 7B | 3.8GB | `ollama run llama2-uncensored` |
| Llama 2 13B | 13B | 7.3GB | `ollama run llama2:13b` |
| Llama 2 70B | 70B | 39GB | `ollama run llama2:70b` |
| Orca Mini | 3B | 1.9GB | `ollama run orca-mini` |
| Vicuna | 7B | 3.8GB | `ollama run vicuna` |
2023-12-13 19:38:47 +00:00
| LLaVA | 7B | 4.5GB | `ollama run llava` |
2024-02-22 18:07:47 +00:00
| Gemma | 2B | 1.4GB | `ollama run gemma:2b` |
| Gemma | 7B | 4.8GB | `ollama run gemma:7b` |
2023-07-19 19:28:50 +00:00
2023-12-22 17:10:01 +00:00
> Note: You should have at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.
2023-07-20 19:21:29 +00:00
2023-12-23 16:18:12 +00:00
## Customize a model
2023-06-27 21:13:07 +00:00
2023-10-15 06:23:03 +00:00
### Import from GGUF
2023-09-01 14:54:31 +00:00
2023-10-15 06:23:03 +00:00
Ollama supports importing GGUF models in the Modelfile:
2023-09-01 14:54:31 +00:00
2023-10-15 06:23:03 +00:00
1. Create a file named `Modelfile` , with a `FROM` instruction with the local filepath to the model you want to import.
2023-09-01 14:54:31 +00:00
2023-09-26 06:44:53 +00:00
```
FROM ./vicuna-33b.Q4_0.gguf
```
2023-06-30 16:39:25 +00:00
2023-10-11 23:24:06 +00:00
2. Create the model in Ollama
2023-06-22 16:45:31 +00:00
2023-09-26 06:44:53 +00:00
```
2023-10-15 06:23:03 +00:00
ollama create example -f Modelfile
2023-09-26 06:44:53 +00:00
```
2023-08-10 15:22:28 +00:00
2023-10-11 23:24:06 +00:00
3. Run the model
2023-09-01 20:44:14 +00:00
2023-09-26 06:44:53 +00:00
```
2023-10-15 06:23:03 +00:00
ollama run example
2023-09-26 06:44:53 +00:00
```
2023-09-01 20:44:14 +00:00
2023-10-15 06:23:03 +00:00
### Import from PyTorch or Safetensors
See the [guide ](docs/import.md ) on importing models for more information.
2023-09-26 06:44:53 +00:00
### Customize a prompt
2023-09-01 20:44:14 +00:00
2023-10-25 23:19:21 +00:00
Models from the Ollama library can be customized with a prompt. For example, to customize the `llama2` model:
2023-07-19 19:28:50 +00:00
```
2023-07-20 09:21:51 +00:00
ollama pull llama2
2023-07-19 19:28:50 +00:00
```
2023-08-08 22:41:48 +00:00
2023-07-18 20:22:33 +00:00
Create a `Modelfile` :
2023-07-05 19:37:33 +00:00
2023-06-30 16:31:00 +00:00
```
2023-07-20 09:21:51 +00:00
FROM llama2
2023-07-20 15:17:09 +00:00
# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1
2023-12-12 19:43:19 +00:00
# set the system message
2023-07-20 09:21:51 +00:00
SYSTEM """
2023-07-18 20:32:06 +00:00
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
2023-07-18 20:22:33 +00:00
"""
2023-06-29 22:25:02 +00:00
```
2023-07-07 20:14:58 +00:00
2023-07-18 20:22:33 +00:00
Next, create and run the model:
2023-07-07 20:14:58 +00:00
```
2023-07-18 20:22:33 +00:00
ollama create mario -f ./Modelfile
ollama run mario
>>> hi
Hello! It's your friend Mario.
2023-07-07 20:14:58 +00:00
```
2023-10-11 23:24:06 +00:00
For more examples, see the [examples ](examples ) directory. For more information on working with a Modelfile, see the [Modelfile ](docs/modelfile.md ) documentation.
2023-09-26 06:44:53 +00:00
## CLI Reference
### Create a model
`ollama create` is used to create a model from a Modelfile.
2023-07-19 19:28:50 +00:00
2023-12-22 17:10:01 +00:00
```
ollama create mymodel -f ./Modelfile
```
2023-09-26 06:44:53 +00:00
### Pull a model
2023-07-06 20:21:01 +00:00
2023-07-19 19:28:50 +00:00
```
2023-09-26 06:44:53 +00:00
ollama pull llama2
2023-07-19 19:28:50 +00:00
```
2023-06-28 13:57:36 +00:00
2023-09-26 06:44:53 +00:00
> This command can also be used to update a local model. Only the diff will be pulled.
### Remove a model
2023-07-20 19:21:29 +00:00
```
2023-09-01 14:54:31 +00:00
ollama rm llama2
2023-07-20 19:21:29 +00:00
```
2023-09-26 06:44:53 +00:00
### Copy a model
```
ollama cp llama2 my-llama2
```
### Multiline input
For multiline input, you can wrap text with `"""` :
```
>>> """Hello,
... world!
... """
I'm a basic program that prints the famous "Hello, world!" message to the console.
```
2023-12-13 19:38:47 +00:00
### Multimodal models
```
>>> 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.
```
2023-09-26 06:44:53 +00:00
### Pass in prompt as arguments
```
2023-11-08 07:52:31 +00:00
$ ollama run llama2 "Summarize this file: $(cat README.md)"
2023-09-26 06:44:53 +00:00
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.
```
### List models on your computer
2023-07-20 19:21:29 +00:00
2023-09-26 06:44:53 +00:00
```
ollama list
```
2023-07-20 19:21:29 +00:00
2023-09-26 06:44:53 +00:00
### Start Ollama
2023-07-20 19:21:29 +00:00
2023-09-26 06:44:53 +00:00
`ollama serve` is used when you want to start ollama without running the desktop application.
2023-07-20 19:21:29 +00:00
2023-07-03 20:32:48 +00:00
## Building
2023-09-07 10:43:26 +00:00
Install `cmake` and `go` :
2023-08-25 18:44:25 +00:00
2023-07-03 20:32:48 +00:00
```
2023-10-27 07:10:23 +00:00
brew install cmake go
2023-08-30 21:54:02 +00:00
```
2023-10-17 00:41:40 +00:00
Then generate dependencies:
2024-02-01 19:16:24 +00:00
2023-08-30 21:54:02 +00:00
```
go generate ./...
2023-10-17 00:41:40 +00:00
```
2024-02-01 19:16:24 +00:00
2023-10-17 00:41:40 +00:00
Then build the binary:
2024-02-01 19:16:24 +00:00
2023-10-17 00:41:40 +00:00
```
2023-07-11 16:50:02 +00:00
go build .
2023-07-03 20:32:48 +00:00
```
2023-12-14 01:26:47 +00:00
More detailed instructions can be found in the [developer guide ](https://github.com/jmorganca/ollama/blob/main/docs/development.md )
2023-10-17 00:41:40 +00:00
### Running local builds
2024-02-01 19:16:24 +00:00
2023-08-30 21:54:02 +00:00
Next, start the server:
2023-06-27 17:46:46 +00:00
2023-07-05 19:37:33 +00:00
```
2023-08-30 21:54:02 +00:00
./ollama serve
2023-07-05 19:37:33 +00:00
```
2023-09-01 14:54:31 +00:00
Finally, in a separate shell, run a model:
2023-07-05 19:37:33 +00:00
```
2023-07-18 20:22:33 +00:00
./ollama run llama2
2023-07-05 19:37:33 +00:00
```
2023-07-21 07:47:17 +00:00
## REST API
2023-10-27 07:10:23 +00:00
Ollama has a REST API for running and managing models.
2023-12-10 18:53:36 +00:00
### Generate a response
2023-07-21 07:47:17 +00:00
```
2023-11-17 14:50:38 +00:00
curl http://localhost:11434/api/generate -d '{
2023-08-08 22:48:47 +00:00
"model": "llama2",
"prompt":"Why is the sky blue?"
}'
2023-07-23 22:01:05 +00:00
```
2023-07-31 20:59:39 +00:00
2023-12-10 18:53:36 +00:00
### Chat with a model
2023-12-05 19:57:33 +00:00
```
curl http://localhost:11434/api/chat -d '{
"model": "mistral",
2023-12-07 17:41:56 +00:00
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
2023-12-05 19:57:33 +00:00
]
}'
```
2023-10-27 07:10:23 +00:00
See the [API documentation ](./docs/api.md ) for all endpoints.
2023-09-26 06:44:53 +00:00
## Community Integrations
2023-11-08 08:03:29 +00:00
### Web & Desktop
2024-02-01 19:16:24 +00:00
2023-12-15 19:33:04 +00:00
- [Bionic GPT ](https://github.com/bionic-gpt/bionic-gpt )
2024-02-22 18:09:29 +00:00
- [Enchanted (macOS native) ](https://github.com/AugustDev/enchanted )
2023-10-28 21:02:13 +00:00
- [HTML UI ](https://github.com/rtcfirefly/ollama-ui )
2023-10-28 21:18:38 +00:00
- [Chatbot UI ](https://github.com/ivanfioravanti/chatbot-ollama )
2023-10-28 21:02:13 +00:00
- [Typescript UI ](https://github.com/ollama-interface/Ollama-Gui?tab=readme-ov-file )
2023-10-28 21:18:38 +00:00
- [Minimalistic React UI for Ollama Models ](https://github.com/richawo/minimal-llm-ui )
2024-02-18 04:05:20 +00:00
- [Open WebUI ](https://github.com/open-webui/open-webui )
2023-11-08 19:01:09 +00:00
- [Ollamac ](https://github.com/kevinhermawan/Ollamac )
2024-02-21 06:24:48 +00:00
- [big-AGI ](https://github.com/enricoros/big-AGI/blob/main/docs/config-local-ollama.md )
2023-11-16 16:30:54 +00:00
- [Cheshire Cat assistant framework ](https://github.com/cheshire-cat-ai/core )
2023-11-27 15:44:37 +00:00
- [Amica ](https://github.com/semperai/amica )
2023-11-30 02:18:21 +00:00
- [chatd ](https://github.com/BruceMacD/chatd )
2024-01-02 14:47:50 +00:00
- [Ollama-SwiftUI ](https://github.com/kghandour/Ollama-SwiftUI )
2024-01-31 15:48:37 +00:00
- [MindMac ](https://mindmac.app )
2024-02-20 02:57:36 +00:00
- [NextJS Web Interface for Ollama ](https://github.com/jakobhoeg/nextjs-ollama-llm-ui )
2024-02-20 19:03:33 +00:00
- [Msty ](https://msty.app )
2024-02-23 12:17:28 +00:00
- [Chatbox ](https://github.com/Bin-Huang/Chatbox )
2024-03-04 08:40:36 +00:00
- [WinForm Ollama Copilot ](https://github.com/tgraupmann/WinForm_Ollama_Copilot )
2024-02-29 20:12:13 +00:00
- [NextChat ](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web ) with [Get Started Doc ](https://docs.nextchat.dev/models/ollama )
2024-03-06 19:57:49 +00:00
- [Odin Runes ](https://github.com/leonid20000/OdinRunes )
2024-03-07 15:11:53 +00:00
- [LLM-X: Progressive Web App ](https://github.com/mrdjohnson/llm-x )
2024-01-02 14:47:50 +00:00
2023-11-08 08:03:29 +00:00
### Terminal
2023-11-08 07:52:31 +00:00
2023-10-28 21:02:13 +00:00
- [oterm ](https://github.com/ggozad/oterm )
- [Ellama Emacs client ](https://github.com/s-kostyaev/ellama )
- [Emacs client ](https://github.com/zweifisch/ollama )
2023-11-06 19:27:02 +00:00
- [gen.nvim ](https://github.com/David-Kunz/gen.nvim )
2023-11-13 22:00:17 +00:00
- [ollama.nvim ](https://github.com/nomnivore/ollama.nvim )
2024-02-20 02:14:29 +00:00
- [ollama-chat.nvim ](https://github.com/gerazov/ollama-chat.nvim )
2023-11-20 15:39:14 +00:00
- [ogpt.nvim ](https://github.com/huynle/ogpt.nvim )
2023-11-09 20:53:24 +00:00
- [gptel Emacs client ](https://github.com/karthink/gptel )
2023-11-21 11:47:43 +00:00
- [Oatmeal ](https://github.com/dustinblackman/oatmeal )
2023-12-19 03:04:40 +00:00
- [cmdh ](https://github.com/pgibler/cmdh )
2024-02-20 04:13:03 +00:00
- [tenere ](https://github.com/pythops/tenere )
2024-02-03 23:40:50 +00:00
- [llm-ollama ](https://github.com/taketwo/llm-ollama ) for [Datasette's LLM CLI ](https://llm.datasette.io/en/stable/ ).
2024-02-20 03:18:05 +00:00
- [ShellOracle ](https://github.com/djcopley/ShellOracle )
2023-10-28 21:02:13 +00:00
2023-12-11 23:05:10 +00:00
### Database
2023-12-12 15:26:13 +00:00
- [MindsDB ](https://github.com/mindsdb/mindsdb/blob/staging/mindsdb/integrations/handlers/ollama_handler/README.md )
2023-12-12 19:43:19 +00:00
2023-11-21 15:25:32 +00:00
### Package managers
2023-11-21 14:40:59 +00:00
2023-11-21 15:25:26 +00:00
- [Pacman ](https://archlinux.org/packages/extra/x86_64/ollama/ )
2024-02-20 03:05:14 +00:00
- [Helm Chart ](https://artifacthub.io/packages/helm/ollama-helm/ollama )
2023-11-21 14:40:59 +00:00
2023-10-28 21:02:13 +00:00
### Libraries
2023-11-08 07:52:31 +00:00
2023-09-26 06:44:53 +00:00
- [LangChain ](https://python.langchain.com/docs/integrations/llms/ollama ) and [LangChain.js ](https://js.langchain.com/docs/modules/model_io/models/llms/integrations/ollama ) with [example ](https://js.langchain.com/docs/use_cases/question_answering/local_retrieval_qa )
2023-11-20 15:35:07 +00:00
- [LangChainGo ](https://github.com/tmc/langchaingo/ ) with [example ](https://github.com/tmc/langchaingo/tree/main/examples/ollama-completion-example )
2024-02-22 19:09:08 +00:00
- [LangChain4j ](https://github.com/langchain4j/langchain4j ) with [example ](https://github.com/langchain4j/langchain4j-examples/tree/main/ollama-examples/src/main/java )
2023-09-26 06:44:53 +00:00
- [LlamaIndex ](https://gpt-index.readthedocs.io/en/stable/examples/llm/ollama.html )
2024-02-20 02:17:32 +00:00
- [LangChain4j ](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-ollama )
2023-10-28 21:02:13 +00:00
- [LiteLLM ](https://github.com/BerriAI/litellm )
2023-10-28 21:18:38 +00:00
- [OllamaSharp for .NET ](https://github.com/awaescher/OllamaSharp )
2024-01-07 03:31:39 +00:00
- [Ollama for Ruby ](https://github.com/gbaptista/ollama-ai )
2023-11-05 00:12:18 +00:00
- [Ollama-rs for Rust ](https://github.com/pepperoni21/ollama-rs )
2023-11-08 19:04:32 +00:00
- [Ollama4j for Java ](https://github.com/amithkoujalgi/ollama4j )
2023-11-06 19:27:02 +00:00
- [ModelFusion Typescript Library ](https://modelfusion.dev/integration/model-provider/ollama )
2023-11-11 22:41:42 +00:00
- [OllamaKit for Swift ](https://github.com/kevinhermawan/OllamaKit )
2023-11-13 19:50:42 +00:00
- [Ollama for Dart ](https://github.com/breitburg/dart-ollama )
2023-11-20 15:48:35 +00:00
- [Ollama for Laravel ](https://github.com/cloudstudio/ollama-laravel )
2023-12-19 19:04:52 +00:00
- [LangChainDart ](https://github.com/davidmigloz/langchain_dart )
2024-01-11 19:40:23 +00:00
- [Semantic Kernel - Python ](https://github.com/microsoft/semantic-kernel/tree/main/python/semantic_kernel/connectors/ai/ollama )
2024-01-18 21:38:32 +00:00
- [Haystack ](https://github.com/deepset-ai/haystack-integrations/blob/main/integrations/ollama.md )
2024-02-20 19:03:02 +00:00
- [Elixir LangChain ](https://github.com/brainlid/langchain )
2024-01-30 19:56:51 +00:00
- [Ollama for R - rollama ](https://github.com/JBGruber/rollama )
2024-02-13 19:40:44 +00:00
- [Ollama-ex for Elixir ](https://github.com/lebrunel/ollama-ex )
2024-02-22 18:12:27 +00:00
- [Ollama Connector for SAP ABAP ](https://github.com/b-tocs/abap_btocs_ollama )
2024-01-18 21:38:32 +00:00
2023-11-16 21:46:38 +00:00
### Mobile
2023-12-15 19:37:29 +00:00
- [Enchanted ](https://github.com/AugustDev/enchanted )
2024-01-02 14:47:08 +00:00
- [Maid ](https://github.com/Mobile-Artificial-Intelligence/maid )
2023-11-16 21:46:38 +00:00
2023-11-08 07:52:31 +00:00
### Extensions & Plugins
2023-09-26 06:44:53 +00:00
- [Raycast extension ](https://github.com/MassimilianoPasquini97/raycast_ollama )
- [Discollama ](https://github.com/mxyng/discollama ) (Discord bot inside the Ollama discord channel)
- [Continue ](https://github.com/continuedev/continue )
- [Obsidian Ollama plugin ](https://github.com/hinterdupfinger/obsidian-ollama )
2023-11-07 17:58:13 +00:00
- [Logseq Ollama plugin ](https://github.com/omagdy7/ollama-logseq )
2024-03-04 09:18:10 +00:00
- [NotesOllama ](https://github.com/andersrex/notesollama ) (Apple Notes Ollama plugin)
2023-09-26 06:44:53 +00:00
- [Dagger Chatbot ](https://github.com/samalba/dagger-chatbot )
- [Discord AI Bot ](https://github.com/mekb-turtle/discord-ai-bot )
2023-12-03 19:19:55 +00:00
- [Ollama Telegram Bot ](https://github.com/ruecat/ollama-telegram )
2023-11-07 17:58:13 +00:00
- [Hass Ollama Conversation ](https://github.com/ej52/hass-ollama-conversation )
2023-11-20 15:36:47 +00:00
- [Rivet plugin ](https://github.com/abrenneke/rivet-plugin-ollama )
2023-11-21 19:08:19 +00:00
- [Llama Coder ](https://github.com/ex3ndr/llama-coder ) (Copilot alternative using Ollama)
2023-11-22 19:32:30 +00:00
- [Obsidian BMO Chatbot plugin ](https://github.com/longy2k/obsidian-bmo-chatbot )
2024-02-22 19:17:20 +00:00
- [Copilot for Obsidian plugin ](https://github.com/logancyang/obsidian-copilot )
2024-02-22 15:52:36 +00:00
- [Obsidian Local GPT plugin ](https://github.com/pfrankov/obsidian-local-gpt )
2024-01-23 18:29:10 +00:00
- [Open Interpreter ](https://docs.openinterpreter.com/language-model-setup/local-models/ollama )
2024-01-31 14:25:06 +00:00
- [twinny ](https://github.com/rjmacarthy/twinny ) (Copilot and Copilot chat alternative using Ollama)
2024-02-01 19:16:24 +00:00
- [Wingman-AI ](https://github.com/RussellCanfield/wingman-ai ) (Copilot code and chat alternative using Ollama and HuggingFace)
2024-02-20 19:03:58 +00:00
- [Page Assist ](https://github.com/n4ze3m/page-assist ) (Chrome Extension)