README.md 1.73 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
21
22
23
24
25
26
27
- Download for macOS
- Download for Windows (coming soon)
- Docker: `docker run -p 8080:8080 ollama/ollama`

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
ollama run storyteller "Once upon a time"
Jeffrey Morgan's avatar
Jeffrey Morgan committed
65
66
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
67
68
69
70
71
72
73
## Building

```
go generate ./...
go build .
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
74
To run it start the server:
Bruce MacDonald's avatar
Bruce MacDonald committed
75

Jeffrey Morgan's avatar
Jeffrey Morgan committed
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
```
./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
93
94
95
curl --unix-socket ~/.ollama/ollama.sock http://localhost/api/generate \
    -X POST \
    -d '{"model": "/path/to/model", "prompt": "Once upon a time", "stream": true}'
Jeffrey Morgan's avatar
Jeffrey Morgan committed
96
```