README.md 1.8 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
7
8
9
Run large language models with `llama.cpp`.

> Note: certain models that can be run with this project are intended for research and/or non-commercial use only.

### 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
20
- Download for macOS
- 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
27

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

## Quickstart

Run the model that started it all.
28

Jeffrey Morgan's avatar
Jeffrey Morgan committed
29
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
30
ollama run llama
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

Jeffrey Morgan's avatar
Jeffrey Morgan committed
45
Ask questions. Get answers.
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
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
51
52
53
### 👩‍💻 Code completion

Sometimes you just need a little help writing code.
Bruce MacDonald's avatar
Bruce MacDonald committed
54

Jeffrey Morgan's avatar
Jeffrey Morgan committed
55
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
56
ollama run replit "Give me react code to render a button"
Jeffrey Morgan's avatar
Jeffrey Morgan committed
57
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
58

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
95
96
97
98
99
```
./ollama server &
```

Finally, run a model!

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

## API Reference

### `POST /completion`

Complete a prompt

```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
100
curl --unix-socket ~/.ollama/ollama.sock http://localhost/api/generate \
Jeffrey Morgan's avatar
Jeffrey Morgan committed
101
102
 -X POST \
 -d '{"model": "/path/to/model", "prompt": "Once upon a time", "stream": true}'
Jeffrey Morgan's avatar
Jeffrey Morgan committed
103
```