ollama/README.md

117 lines
1.8 KiB
Markdown
Raw Normal View History

2023-06-28 00:08:52 +08:00
# Ollama
2023-06-23 00:45:31 +08:00
2023-06-28 21:57:36 +08:00
Run ai models locally.
2023-06-28 05:13:07 +08:00
2023-06-28 22:19:33 +08:00
> _Note: this project is a work in progress. The features below are still in development_
2023-06-28 05:13:07 +08:00
2023-06-28 21:57:36 +08:00
**Features**
2023-06-28 05:13:07 +08:00
2023-06-28 21:57:36 +08:00
- Run models locally on macOS (Windows, Linux and other platforms coming soon)
2023-06-28 22:19:07 +08:00
- Ollama uses the fastest loader available for your platform and model (e.g. llama.cpp, Core ML and other loaders coming soon)
2023-06-28 21:57:36 +08:00
- 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
2023-06-23 00:45:31 +08:00
```
2023-06-28 00:08:52 +08:00
pip install ollama
2023-06-23 00:45:31 +08:00
```
2023-06-28 21:57:36 +08:00
## Quickstart
2023-06-26 01:08:03 +08:00
```
2023-06-28 21:57:36 +08:00
% ollama run huggingface.co/TheBloke/orca_mini_3B-GGML
Pulling huggingface.co/TheBloke/orca_mini_3B-GGML...
2023-06-29 04:04:53 +08:00
Downloading [================ ] 66.67% 11.8MiB/s
2023-06-26 01:08:03 +08:00
2023-06-28 21:57:36 +08:00
...
...
...
2023-06-28 00:08:52 +08:00
2023-06-28 21:57:36 +08:00
> Hello
Hello, how may I help you?
```
## Python SDK
### Example
2023-06-28 00:08:52 +08:00
```python
2023-06-28 21:57:36 +08:00
import ollama
2023-06-28 22:19:07 +08:00
ollama.generate("orca-mini-3b", "hi")
2023-06-26 01:08:03 +08:00
```
2023-06-28 21:57:36 +08:00
### `ollama.generate(model, message)`
2023-06-26 01:08:03 +08:00
2023-06-28 21:57:36 +08:00
Generate a completion
2023-06-26 01:08:03 +08:00
2023-06-28 00:08:52 +08:00
```python
2023-06-28 21:57:36 +08:00
ollama.generate("./llama-7b-ggml.bin", "hi")
2023-06-26 01:08:03 +08:00
```
2023-06-28 00:51:36 +08:00
### `ollama.models()`
2023-06-26 01:08:03 +08:00
2023-06-28 00:44:12 +08:00
List available local models
2023-06-28 00:08:52 +08:00
2023-06-28 22:57:18 +08:00
```python
2023-06-28 00:08:52 +08:00
models = ollama.models()
2023-06-26 01:08:03 +08:00
```
2023-06-28 00:51:36 +08:00
### `ollama.serve()`
2023-06-26 01:10:15 +08:00
2023-06-28 00:08:52 +08:00
Serve the ollama http server
2023-06-26 01:08:03 +08:00
2023-06-28 22:57:18 +08:00
```
ollama.serve()
```
2023-06-28 05:36:02 +08:00
### `ollama.add(filepath)`
2023-06-26 01:08:03 +08:00
2023-06-28 05:36:02 +08:00
Add a model by importing from a file
2023-06-28 00:08:52 +08:00
```python
2023-06-28 05:36:02 +08:00
ollama.add("./path/to/model")
2023-06-26 01:08:03 +08:00
```
2023-06-28 21:57:36 +08:00
### `ollama.load(model)`
Manually a model for generation
```python
ollama.load("model")
```
### `ollama.unload(model)`
Unload a model
```python
ollama.unload("model")
```
2023-06-28 05:36:02 +08:00
### `ollama.pull(model)`
Download a model
2023-06-28 00:08:52 +08:00
```python
2023-06-28 05:36:02 +08:00
ollama.pull("huggingface.co/thebloke/llama-7b-ggml")
2023-06-28 00:08:52 +08:00
```
2023-06-26 01:08:03 +08:00
2023-06-29 02:39:43 +08:00
## Coming Soon
2023-06-29 00:13:13 +08:00
2023-06-28 00:51:36 +08:00
### `ollama.search("query")`
2023-06-26 02:29:26 +08:00
2023-06-28 00:08:52 +08:00
Search for compatible models that Ollama can run
2023-06-26 02:29:26 +08:00
2023-06-28 00:08:52 +08:00
```python
ollama.search("llama-7b")
```
2023-06-26 01:08:03 +08:00
2023-06-28 01:46:46 +08:00
## Documentation
- [Development](docs/development.md)