README.md 1.9 KB
Newer Older
Jeffrey Morgan's avatar
Jeffrey Morgan committed
1
2
![ollama](https://github.com/jmorganca/ollama/assets/251292/961f99bb-251a-4eec-897d-1ba99997ad0f)

Bruce MacDonald's avatar
Bruce MacDonald committed
3
# Ollama
Jeffrey Morgan's avatar
Jeffrey Morgan committed
4

Jeffrey Morgan's avatar
Jeffrey Morgan committed
5
6
Run large language models with `llama.cpp`.

Jeffrey Morgan's avatar
Jeffrey Morgan committed
7
> Note: certain models that can be run with Ollama are intended for research and/or non-commercial use only.
Jeffrey Morgan's avatar
Jeffrey Morgan committed
8
9

### Features
Jeffrey Morgan's avatar
Jeffrey Morgan committed
10

Jeffrey Morgan's avatar
Jeffrey Morgan committed
11
12
13
- Download and run popular large language models
- Switch between multiple models on the fly
- Hardware acceleration where available (Metal, CUDA)
Jeffrey Morgan's avatar
Go  
Jeffrey Morgan committed
14
- Fast inference server written in Go, powered by [llama.cpp](https://github.com/ggerganov/llama.cpp)
Jeffrey Morgan's avatar
Jeffrey Morgan committed
15
- REST API to use with your application (python, typescript SDKs coming soon)
Jeffrey Morgan's avatar
Jeffrey Morgan committed
16
17

## Install
Jeffrey Morgan's avatar
Jeffrey Morgan committed
18

Jeffrey Morgan's avatar
Jeffrey Morgan committed
19
- [Download](https://ollama.ai/download) for macOS
Jeffrey Morgan's avatar
Jeffrey Morgan committed
20
- Download for Windows (coming soon)
Jeffrey Morgan's avatar
Jeffrey Morgan committed
21
- Docker: `docker run -p 11434:11434 ollama/ollama`
Jeffrey Morgan's avatar
Jeffrey Morgan committed
22
23
24
25
26

You can also build the [binary from source](#building).

## Quickstart

Bruce MacDonald's avatar
Bruce MacDonald committed
27
Run a fast and simple model.
28

Jeffrey Morgan's avatar
Jeffrey Morgan committed
29
```
Bruce MacDonald's avatar
Bruce MacDonald committed
30
ollama run orca
Jeffrey Morgan's avatar
Jeffrey Morgan committed
31
32
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
33
34
35
36
37
## Example models

### 💬 Chat

Have a conversation.
38

Jeffrey Morgan's avatar
Jeffrey Morgan committed
39
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
40
ollama run vicuna "Why is the sky blue?"
Jeffrey Morgan's avatar
Jeffrey Morgan committed
41
42
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
43
### 🗺️ Instructions
Jeffrey Morgan's avatar
Jeffrey Morgan committed
44

45
Get a helping hand.
Jeffrey Morgan's avatar
Jeffrey Morgan committed
46
47

```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
48
ollama run orca "Write an email to my boss."
Jeffrey Morgan's avatar
Jeffrey Morgan committed
49
50
```

Bruce MacDonald's avatar
Bruce MacDonald committed
51
52
53
54
55
56
57
58
### 🔎 Ask questions about documents

Send the contents of a document and ask questions about it.

```
ollama run nous-hermes "$(cat input.txt)", please summarize this story
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
59
60
61
### 📖 Storytelling

Venture into the unknown.
Jeffrey Morgan's avatar
Jeffrey Morgan committed
62
63

```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
64
65
66
67
68
69
70
71
72
ollama run nous-hermes "Once upon a time"
```

## Advanced usage

### Run a local model

```
ollama run ~/Downloads/vicuna-7b-v1.3.ggmlv3.q4_1.bin
Jeffrey Morgan's avatar
Jeffrey Morgan committed
73
74
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
75
76
77
## Building

```
78
make
Jeffrey Morgan's avatar
Jeffrey Morgan committed
79
80
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
81
To run it start the server:
Bruce MacDonald's avatar
Bruce MacDonald committed
82

Jeffrey Morgan's avatar
Jeffrey Morgan committed
83
84
85
86
87
88
89
90
91
92
93
94
```
./ollama server &
```

Finally, run a model!

```
./ollama run ~/Downloads/vicuna-7b-v1.3.ggmlv3.q4_1.bin
```

## API Reference

Jeffrey Morgan's avatar
Jeffrey Morgan committed
95
96
97
98
99
100
101
102
103
### `POST /api/pull`

Download a model

```
curl -X POST http://localhost:11343/api/pull -d '{"model": "orca"}'
```

### `POST /api/generate`
Jeffrey Morgan's avatar
Jeffrey Morgan committed
104
105
106
107

Complete a prompt

```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
108
curl -X POST http://localhost:11434/api/generate -d '{"model": "orca", "prompt": "hello!", "stream": true}'
Jeffrey Morgan's avatar
Jeffrey Morgan committed
109
```