README.md 1.83 KB
Newer Older
Bruce MacDonald's avatar
Bruce MacDonald committed
1
# Ollama
Jeffrey Morgan's avatar
Jeffrey Morgan committed
2

Jeffrey Morgan's avatar
Jeffrey Morgan committed
3
Run ai models locally.
Jeffrey Morgan's avatar
Jeffrey Morgan committed
4

Jeffrey Morgan's avatar
Jeffrey Morgan committed
5
> _Note: this project is a work in progress. The features below are still in development_
Jeffrey Morgan's avatar
Jeffrey Morgan committed
6

Jeffrey Morgan's avatar
Jeffrey Morgan committed
7
**Features**
Jeffrey Morgan's avatar
Jeffrey Morgan committed
8

Jeffrey Morgan's avatar
Jeffrey Morgan committed
9
- Run models locally on macOS (Windows, Linux and other platforms coming soon)
Jeffrey Morgan's avatar
Jeffrey Morgan committed
10
- Ollama uses the fastest loader available for your platform and model (e.g. llama.cpp, Core ML and other loaders coming soon)
Jeffrey Morgan's avatar
Jeffrey Morgan committed
11
12
13
14
15
16
17
- Import models from local files
- Find and download models on Hugging Face and other sources (coming soon)
- Support for running and switching between multiple models at a time (coming soon)
- Native desktop experience (coming soon)
- Built-in memory (coming soon)

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

```
Bruce MacDonald's avatar
Bruce MacDonald committed
20
pip install ollama
Jeffrey Morgan's avatar
Jeffrey Morgan committed
21
22
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
23
## Quickstart
Jeffrey Morgan's avatar
Jeffrey Morgan committed
24
25

```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
26
27
28
% ollama run huggingface.co/TheBloke/orca_mini_3B-GGML
Pulling huggingface.co/TheBloke/orca_mini_3B-GGML...
Downloading [================>          ] 66.67% (2/3) 30.2MB/s
Jeffrey Morgan's avatar
Jeffrey Morgan committed
29

Jeffrey Morgan's avatar
Jeffrey Morgan committed
30
31
32
...
...
...
Bruce MacDonald's avatar
Bruce MacDonald committed
33

Jeffrey Morgan's avatar
Jeffrey Morgan committed
34
35
36
37
38
39
40
41
> Hello

Hello, how may I help you?
```

## Python SDK

### Example
Bruce MacDonald's avatar
Bruce MacDonald committed
42
43

```python
Jeffrey Morgan's avatar
Jeffrey Morgan committed
44
import ollama
Jeffrey Morgan's avatar
Jeffrey Morgan committed
45
ollama.generate("orca-mini-3b", "hi")
Jeffrey Morgan's avatar
Jeffrey Morgan committed
46
47
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
48
### `ollama.generate(model, message)`
Jeffrey Morgan's avatar
Jeffrey Morgan committed
49

Jeffrey Morgan's avatar
Jeffrey Morgan committed
50
Generate a completion
Jeffrey Morgan's avatar
Jeffrey Morgan committed
51

Bruce MacDonald's avatar
Bruce MacDonald committed
52
```python
Jeffrey Morgan's avatar
Jeffrey Morgan committed
53
ollama.generate("./llama-7b-ggml.bin", "hi")
Jeffrey Morgan's avatar
Jeffrey Morgan committed
54
55
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
56
### `ollama.models()`
Jeffrey Morgan's avatar
Jeffrey Morgan committed
57

Jeffrey Morgan's avatar
Jeffrey Morgan committed
58
List available local models
Bruce MacDonald's avatar
Bruce MacDonald committed
59

Jeffrey Morgan's avatar
Jeffrey Morgan committed
60
```python
Bruce MacDonald's avatar
Bruce MacDonald committed
61
models = ollama.models()
Jeffrey Morgan's avatar
Jeffrey Morgan committed
62
63
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
64
### `ollama.serve()`
Jeffrey Morgan's avatar
Jeffrey Morgan committed
65

Bruce MacDonald's avatar
Bruce MacDonald committed
66
Serve the ollama http server
Jeffrey Morgan's avatar
Jeffrey Morgan committed
67

Jeffrey Morgan's avatar
Jeffrey Morgan committed
68
69
70
71
```
ollama.serve()
```

Bruce MacDonald's avatar
Bruce MacDonald committed
72
### `ollama.add(filepath)`
Jeffrey Morgan's avatar
Jeffrey Morgan committed
73

Bruce MacDonald's avatar
Bruce MacDonald committed
74
Add a model by importing from a file
Bruce MacDonald's avatar
Bruce MacDonald committed
75
76

```python
Bruce MacDonald's avatar
Bruce MacDonald committed
77
ollama.add("./path/to/model")
Jeffrey Morgan's avatar
Jeffrey Morgan committed
78
79
```

Jeffrey Morgan's avatar
Jeffrey Morgan committed
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
### `ollama.load(model)`

Manually a model for generation

```python
ollama.load("model")
```

### `ollama.unload(model)`

Unload a model

```python
ollama.unload("model")
```

Bruce MacDonald's avatar
Bruce MacDonald committed
96
97
98
### `ollama.pull(model)`

Download a model
Bruce MacDonald's avatar
Bruce MacDonald committed
99
100

```python
Bruce MacDonald's avatar
Bruce MacDonald committed
101
ollama.pull("huggingface.co/thebloke/llama-7b-ggml")
Bruce MacDonald's avatar
Bruce MacDonald committed
102
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
103

Bruce MacDonald's avatar
Bruce MacDonald committed
104
105
## Cooming Soon

Jeffrey Morgan's avatar
Jeffrey Morgan committed
106
### `ollama.search("query")`
107

Bruce MacDonald's avatar
Bruce MacDonald committed
108
Search for compatible models that Ollama can run
109

Bruce MacDonald's avatar
Bruce MacDonald committed
110
111
112
```python
ollama.search("llama-7b")
```
Jeffrey Morgan's avatar
Jeffrey Morgan committed
113

Bruce MacDonald's avatar
Bruce MacDonald committed
114
115
116
## Documentation

- [Development](docs/development.md)