ollama

dustynv/ollama Docker Image

GitHub仓库dusty-nv/jetson-containers中的Ollama LLM包,是为NVIDIA Jetson嵌入式平台设计的容器化解决方案,旨在简化大型语言模型(LLM)的部署与运行流程,支持多种主流LLM模型,充分利用Jetson设备的硬件加速能力,适用于边缘AI计算、智能终端开发等场景,为开发者提供便捷高效的本地化LLM部署工具。

10 次收藏下载次数: 0状态:社区镜像维护者:dustynv仓库类型:镜像最近更新:1 年前
下载命令
点击查看

ollama

CONTAINERS IMAGES RUN BUILD

  • Ollama from https://github.com/ollama/ollama with CUDA enabled (found under /bin/ollama)
  • Thanks to https://github.com/remy415 for getting Ollama working on Jetson and contributing the Dockerfile (https://github.com/dusty-nv/jetson-containers/pull/465)

Ollama Server

First, start the local Ollama server as a daemon in the background, either of these ways:

# models cached under jetson-containers/data
jetson-containers run --name ollama $(autotag ollama)

# models cached under your user's home directory
docker run --runtime nvidia -it -rm --network=host -v ~/ollama:/ollama -e OLLAMA_MODELS=/ollama dustynv/ollama:r36.2.0

You can then run the ollama client in the same container (or a different one if desired). The default docker run CMD of the ollama container is /start_ollama, which starts the ollama server in the background and returns control to the user. The ollama server logs are saved under your mounted jetson-containers/data/logs directory for monitoring them outside the containers.

Setting the $OLLAMA_MODELS environment variable as shown above will change where ollama downloads the models to. By default, this is under your jetson-containers/data/models/ollama directory which is automatically mounted by jetson-containers run.

Ollama Client

Start the Ollama CLI front-end with your desired model (for example: mistral 7b)

# if running inside the same container as launched above
/bin/ollama run mistral

# if launching a new container for the client in another terminal
jetson-containers run $(autotag ollama) /bin/ollama run mistral

Or you can run the client outside container by installing Ollama's binaries for arm64 (without CUDA, which only the server needs)

# download the latest ollama release for arm64 into /bin
sudo wget https://github.com/ollama/ollama/releases/download/$(git ls-remote --refs --sort="version:refname" --tags https://github.com/ollama/ollama | cut -d/ -f3- | sed 's/-rc.*//g' | tail -n1)/ollama-linux-arm64 -O /bin/ollama
sudo chmod +x /bin/ollama

# use the client like normal (outside container)
/bin/ollama run mistral

Open WebUI

To run https://github.com/open-webui/open-webui server for client browsers to connect to, use the open-webui container:

docker run -it --rm --network=host --add-host=host.docker.internal:host-gateway ghcr.io/open-webui/open-webui:main

You can then navigate your browser to http://JETSON_IP:8080, and create a fake account to login (these credentials are only stored locally)

Memory Usage

ModelQuantizationMemory (MB)
https://huggingface.co/TheBloke/Llama-2-7B-GGUFllama-2-7b.Q4_K_S.gguf5,268
https://huggingface.co/TheBloke/Llama-2-13B-GGUFllama-2-13b.Q4_K_S.gguf8,609
https://huggingface.co/TheBloke/LLaMA-30b-GGUFllama-30b.Q4_K_S.gguf19,045
https://huggingface.co/TheBloke/Llama-2-70B-GGUFllama-2-70b.Q4_K_S.gguf37,655
CONTAINERS
ollama
   RequiresL4T ['>=34.1.0']
   Dependencieshttps://github.com/dusty-nv/jetson-containers/tree/master/packages/build/build-essential https://github.com/dusty-nv/jetson-containers/tree/master/packages/cuda/cuda
   Dependantshttps://github.com/dusty-nv/jetson-containers/tree/master/packages/rag/llama-index
   Dockerfilehttps://github.com/dusty-nv/jetson-containers/tree/master/packages/llm/ollama/Dockerfile
   Imageshttps://hub.docker.com/r/dustynv/ollama/tags (2024-04-25, 5.4GB)
https://hub.docker.com/r/dustynv/ollama/tags (2024-04-25, 3.9GB)
CONTAINER IMAGES
Repository/TagDateArchSize
  https://hub.docker.com/r/dustynv/ollama/tags2024-04-25arm645.4GB
  https://hub.docker.com/r/dustynv/ollama/tags2024-04-25arm643.9GB

Container images are compatible with other minor versions of JetPack/L4T:
    • L4T R32.7 containers can run on other versions of L4T R32.7 (JetPack 4.6+)
    • L4T R35.x containers can run on other versions of L4T R35.x (JetPack 5.1+)

RUN CONTAINER

To start the container, you can use https://github.com/dusty-nv/jetson-containers/tree/master/docs/run.md and https://github.com/dusty-nv/jetson-containers/tree/master/docs/run.md#autotag, or manually put together a https://docs.docker.com/engine/reference/commandline/run/ command:

bash
# automatically pull or build a compatible container image
jetson-containers run $(autotag ollama)

# or explicitly specify one of the container images above
jetson-containers run dustynv/ollama:r35.4.1

# or if using 'docker run' (specify image and mounts/ect)
sudo docker run --runtime nvidia -it --rm --network=host dustynv/ollama:r35.4.1

https://github.com/dusty-nv/jetson-containers/tree/master/docs/run.md forwards arguments to https://docs.docker.com/engine/reference/commandline/run/ with some defaults added (like --runtime nvidia, mounts a /data cache, and detects devices)
https://github.com/dusty-nv/jetson-containers/tree/master/docs/run.md#autotag finds a container image that's compatible with your version of JetPack/L4T - either locally, pulled from a registry, or by building it.

To mount your own directories into the container, use the https://docs.docker.com/engine/reference/commandline/run/#volume or https://docs.docker.com/engine/reference/commandline/run/#volume flags:

bash
jetson-containers run -v /path/on/host:/path/in/container $(autotag ollama)

To launch the container running a command, as opposed to an interactive shell:

bash
jetson-containers run $(autotag ollama) my_app --abc xyz

You can pass any options to it that you would to https://docs.docker.com/engine/reference/commandline/run/, and it'll print out the full command that it constructs before executing it.

BUILD CONTAINER

If you use https://github.com/dusty-nv/jetson-containers/tree/master/docs/run.md#autotag as shown above, it'll ask to build the container for you if needed. To manually build it, first do the https://github.com/dusty-nv/jetson-containers/tree/master/docs/setup.md, then run:

bash
jetson-containers build ollama

The dependencies from above will be built into the container, and it'll be tested during. Run it with https://github.com/dusty-nv/jetson-containers/tree/master/jetson_containers/build.py for build options.

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 ollama 镜像标签

docker pull docker.xuanyuan.run/dustynv/ollama:<标签>

DockerHub 原生拉取命令

docker pull dustynv/ollama:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持99.95% SLA 保障付费会员免广告