Merge branch 'ollama-cpu' of https://github.com/nrvo/runtipi-appstore into nrvo-ollama-cpu

This commit is contained in:
Nicolas Meienberger 2024-05-11 10:34:05 +02:00
commit fe2e985564
4 changed files with 123 additions and 0 deletions

18
apps/ollama-cpu/config.json Executable file
View File

@ -0,0 +1,18 @@
{
"$schema": "../schema.json",
"name": "Ollama - CPU",
"available": true,
"exposable": true,
"port": 11436,
"id": "ollama-cpu",
"tipi_version": 1,
"version": "0.1.33",
"categories": ["ai"],
"description": "Get up and running with Llama 3, Mistral, Gemma, and other large language models.",
"short_desc": "LLMs inference server with OpenAI compatible API",
"author": "ollama",
"source": "https://github.com/ollama/ollama",
"website": "https://ollama.com",
"form_fields": [],
"supported_architectures": ["arm64", "amd64"]
}

View File

@ -0,0 +1,40 @@
version: '3.7'
services:
ollama-cpu:
image: ollama/ollama:0.1.33
restart: unless-stopped
container_name: ollama-cpu
environment:
- PORT=11436
ports:
- '${APP_PORT}:11436'
networks:
- tipi_main_network
volumes:
- ${APP_DATA_DIR}/.ollama:/root/.ollama
labels:
# Main
traefik.enable: true
traefik.http.middlewares.ollama-cpu-web-redirect.redirectscheme.scheme: https
traefik.http.services.ollama-cpu.loadbalancer.server.port: 11436
# Web
traefik.http.routers.ollama-cpu-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.ollama-cpu-insecure.entrypoints: web
traefik.http.routers.ollama-cpu-insecure.service: ollama-cpu
traefik.http.routers.ollama-cpu-insecure.middlewares: ollama-cpu-web-redirect
# Websecure
traefik.http.routers.ollama-cpu.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.ollama-cpu.entrypoints: websecure
traefik.http.routers.ollama-cpu.service: ollama-cpu
traefik.http.routers.ollama-cpu.tls.certresolver: myresolver
# Local domain
traefik.http.routers.ollama-cpu-local-insecure.rule: Host(`ollama-cpu.${LOCAL_DOMAIN}`)
traefik.http.routers.ollama-cpu-local-insecure.entrypoints: web
traefik.http.routers.ollama-cpu-local-insecure.service: ollama-cpu
traefik.http.routers.ollama-cpu-local-insecure.middlewares: ollama-cpu-web-redirect
# Local domain secure
traefik.http.routers.ollama-cpu-local.rule: Host(`ollama-cpu.${LOCAL_DOMAIN}`)
traefik.http.routers.ollama-cpu-local.entrypoints: websecure
traefik.http.routers.ollama-cpu-local.service: ollama-cpu
traefik.http.routers.ollama-cpu-local.tls: true

View File

@ -0,0 +1,65 @@
# Ollama - CPU
[Ollama](https://github.com/ollama/ollama) allows you to run open-source large language models, such as Llama 3 & Mistral, locally. Ollama bundles model weights, configuration, and data into a single package, defined by a Modelfile.
---
## Usage
### Use with a frontend
- [LobeChat](https://github.com/lobehub/lobe-chat)
- [LibreChat](https://github.com/danny-avila/LibreChat)
- [OpenWebUI](https://github.com/open-webui/open-webui)
- [And more ...](https://github.com/ollama/ollama)
---
### Try the REST API
Ollama has a REST API for running and managing models.
**Generate a response**
```sh
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt":"Why is the sky blue?"
}'
```
**Chat with a model**
```sh
curl http://localhost:11434/api/chat -d '{
"model": "llama3",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}'
```
---
### Try in terminal
```sh
docker exec -it ollama-cpu ollama run llama3 --verbose
```
---
## Model library
Ollama supports a list of models available on [ollama.com/library](https://ollama.com/library 'ollama model library')
Here are some example models that can be downloaded:
| Model | Parameters | Size | Download |
| ------------------ | ---------- | ----- | ------------------------------ |
| Llama 3 | 8B | 4.7GB | `ollama run llama3` |
| Llama 3 | 70B | 40GB | `ollama run llama3:70b` |
| Phi-3 | 3,8B | 2.3GB | `ollama run phi3` |
| Mistral | 7B | 4.1GB | `ollama run mistral` |
| Neural Chat | 7B | 4.1GB | `ollama run neural-chat` |
| Starling | 7B | 4.1GB | `ollama run starling-lm` |
| Code Llama | 7B | 3.8GB | `ollama run codellama` |
| Llama 2 Uncensored | 7B | 3.8GB | `ollama run llama2-uncensored` |
| LLaVA | 7B | 4.5GB | `ollama run llava` |
| Gemma | 2B | 1.4GB | `ollama run gemma:2b` |
| Gemma | 7B | 4.8GB | `ollama run gemma:7b` |
| Solar | 10.7B | 6.1GB | `ollama run solar` |
> Note: You should have at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB