README.md 1.72 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
93
94
```
./ollama server &
```

Finally, run a model!

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

## API Reference

### `POST /completion`

Complete a prompt

```
curl -X POST http://localhost:8080/completion -H 'Content-Type: application/json' -d '{"model": "/path/to/model", "prompt": "Once upon a time", "stream": true}'
```