From f545cff6083c3272401733a26d94393d77123153 Mon Sep 17 00:00:00 2001 From: nrvo <151435968+nrvo@users.noreply.github.com> Date: Sat, 4 May 2024 16:50:44 +0200 Subject: [PATCH] [App] Ollama CPU --- apps/ollama-cpu/config.json | 18 +++++++ apps/ollama-cpu/docker-compose.yml | 40 +++++++++++++++ apps/ollama-cpu/metadata/description.md | 65 ++++++++++++++++++++++++ apps/ollama-cpu/metadata/logo.jpg | Bin 0 -> 52770 bytes 4 files changed, 123 insertions(+) create mode 100755 apps/ollama-cpu/config.json create mode 100755 apps/ollama-cpu/docker-compose.yml create mode 100755 apps/ollama-cpu/metadata/description.md create mode 100644 apps/ollama-cpu/metadata/logo.jpg diff --git a/apps/ollama-cpu/config.json b/apps/ollama-cpu/config.json new file mode 100755 index 00000000..102666a8 --- /dev/null +++ b/apps/ollama-cpu/config.json @@ -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.32", + "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"] +} diff --git a/apps/ollama-cpu/docker-compose.yml b/apps/ollama-cpu/docker-compose.yml new file mode 100755 index 00000000..7622c833 --- /dev/null +++ b/apps/ollama-cpu/docker-compose.yml @@ -0,0 +1,40 @@ +version: '3.7' + +services: + ollama-cpu: + image: ollama/ollama + 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 diff --git a/apps/ollama-cpu/metadata/description.md b/apps/ollama-cpu/metadata/description.md new file mode 100755 index 00000000..41a38af2 --- /dev/null +++ b/apps/ollama-cpu/metadata/description.md @@ -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 & , 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. \ No newline at end of file diff --git a/apps/ollama-cpu/metadata/logo.jpg b/apps/ollama-cpu/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f75a79c0b2270f77696bae08f3c6aea94b77408 GIT binary patch literal 52770 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