README.md 3.45 KB
Newer Older
Michael Chiang's avatar
Michael Chiang committed
1
2
<div align="center">
  <picture>
Michael Chiang's avatar
Michael Chiang committed
3
4
    <source media="(prefers-color-scheme: dark)" height="200px" srcset="https://github.com/jmorganca/ollama/assets/3325447/56ea1849-1284-4645-8970-956de6e51c3c">
    <img alt="logo" height="200px" src="https://github.com/jmorganca/ollama/assets/3325447/0d0b44e2-8f4a-4e99-9b52-a5c1c741c8f7">
Michael Chiang's avatar
Michael Chiang committed
5
6
  </picture>
</div>
Jeffrey Morgan's avatar
Jeffrey Morgan committed
7

Bruce MacDonald's avatar
Bruce MacDonald committed
8
# Ollama
Jeffrey Morgan's avatar
Jeffrey Morgan committed
9

10
[![Discord](https://dcbadge.vercel.app/api/server/ollama?style=flat&compact=true)](https://discord.gg/ollama)
11

12
> Note: Ollama is in early preview. Please report any issues you find.
Jeffrey Morgan's avatar
Jeffrey Morgan committed
13

Jeffrey Morgan's avatar
Jeffrey Morgan committed
14
Run, create, and share large language models (LLMs).
15

16
17
18
19
20
21
## Download

- [Download](https://ollama.ai/download) for macOS on Apple Silicon (Intel coming soon)
- Download for Windows and Linux (coming soon)
- Build [from source](#building)

22
23
24
25
26
27
28
29
30
31
## Quickstart

To run and chat with [Llama 2](https://ai.meta.com/llama), the new model by Meta:

```
ollama run llama2
```

## Model library

Jeffrey Morgan's avatar
Jeffrey Morgan committed
32
`ollama` includes a library of open-source models:
33
34
35
36
37
38
39
40
41
42

| Model                    | Parameters | Size  | Download                    |
| ------------------------ | ---------- | ----- | --------------------------- |
| Llama2                   | 7B         | 3.8GB | `ollama pull llama2`        |
| Llama2 13B               | 13B        | 7.3GB | `ollama pull llama2:13b`    |
| Orca Mini                | 3B         | 1.9GB | `ollama pull orca`          |
| Vicuna                   | 7B         | 3.8GB | `ollama pull vicuna`        |
| Nous-Hermes              | 13B        | 7.3GB | `ollama pull nous-hermes`   |
| Wizard Vicuna Uncensored | 13B        | 7.3GB | `ollama pull wizard-vicuna` |

Jeffrey Morgan's avatar
Jeffrey Morgan committed
43
44
> Note: You should have at least 8 GB of RAM to run the 3B models, 16 GB to run the 7B models, and 32 GB to run the 13B models.

45
## Examples
Jeffrey Morgan's avatar
Jeffrey Morgan committed
46

47
### Run a model
48

Jeffrey Morgan's avatar
Jeffrey Morgan committed
49
```
50
51
52
ollama run llama2
>>> hi
Hello! How can I help you today?
Jeffrey Morgan's avatar
Jeffrey Morgan committed
53
54
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
55
### Create a custom model
56
57
58
59

Pull a base model:

```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
60
ollama pull llama2
61
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
62

63
Create a `Modelfile`:
Jeffrey Morgan's avatar
Jeffrey Morgan committed
64

Jeffrey Morgan's avatar
Jeffrey Morgan committed
65
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
66
FROM llama2
67
68
69
70
71

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

# set the system prompt
Jeffrey Morgan's avatar
Jeffrey Morgan committed
72
SYSTEM """
Jeffrey Morgan's avatar
Jeffrey Morgan committed
73
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
74
"""
Jeffrey Morgan's avatar
Jeffrey Morgan committed
75
```
Bruce MacDonald's avatar
Bruce MacDonald committed
76

77
Next, create and run the model:
Bruce MacDonald's avatar
Bruce MacDonald committed
78
79

```
80
81
82
83
ollama create mario -f ./Modelfile
ollama run mario
>>> hi
Hello! It's your friend Mario.
Bruce MacDonald's avatar
Bruce MacDonald committed
84
85
```

86
For more examples, see the [examples](./examples) directory.
Bruce MacDonald's avatar
Bruce MacDonald committed
87
For more information on creating a Modelfile, see the [Modelfile](./docs/modelfile.md) documentation.
88
89

### Pull a model from the registry
Jeffrey Morgan's avatar
Jeffrey Morgan committed
90

91
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
92
ollama pull orca
93
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
94

Jeffrey Morgan's avatar
Jeffrey Morgan committed
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
### Listing local models

```
ollama list
```

## Model packages

### Overview

Ollama bundles model weights, configuration, and data into a single package, defined by a [Modelfile](./docs/modelfile.md).

<picture>
  <source media="(prefers-color-scheme: dark)" height="480" srcset="https://github.com/jmorganca/ollama/assets/251292/2fd96b5f-191b-45c1-9668-941cfad4eb70">
  <img alt="logo" height="480" src="https://github.com/jmorganca/ollama/assets/251292/2fd96b5f-191b-45c1-9668-941cfad4eb70">
</picture>

Jeffrey Morgan's avatar
Jeffrey Morgan committed
112
113
114
## Building

```
Michael Yang's avatar
Michael Yang committed
115
go build .
Jeffrey Morgan's avatar
Jeffrey Morgan committed
116
117
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
118
To run it start the server:
Bruce MacDonald's avatar
Bruce MacDonald committed
119

Jeffrey Morgan's avatar
Jeffrey Morgan committed
120
```
DavidZirinsky's avatar
DavidZirinsky committed
121
./ollama serve &
Jeffrey Morgan's avatar
Jeffrey Morgan committed
122
123
124
125
126
```

Finally, run a model!

```
127
./ollama run llama2
Jeffrey Morgan's avatar
Jeffrey Morgan committed
128
```
129
130
131
132
133
134
135
136
137
138

## REST API

### `POST /api/generate`

Generate text from a model.

```
curl -X POST http://localhost:11434/api/generate -d '{"model": "llama2", "prompt":"Why is the sky blue?"}'
```
139
140
141
142
143
144
145
146

### `POST /api/create`

Create a model from a `Modelfile`.

```
curl -X POST http://localhost:11434/api/create -d '{"name": "my-model", "path": "/path/to/modelfile"}'
```