Ollama 分发版

llamastack/distribution-ollama 分发版包含以下提供者配置。

API

提供者

智能体

inline::meta-reference

数据集io

remote::huggingface, inline::localfs

评估

inline::meta-reference

推理

remote::ollama

安全

inline::llama-guard

评分

inline::basic, inline::llm-as-judge, inline::braintrust

遥测

inline::meta-reference

工具运行时

remote::brave-search, remote::tavily-search, inline::rag-runtime, remote::model-context-protocol, remote::wolfram-alpha

向量io

inline::faiss, remote::chromadb, remote::pgvector

如果您有一台没有非常强大 GPU 的普通台式机,则应使用此分发版。当然,如果您有强大的 GPU,由于 Ollama 支持 GPU 加速,您仍然可以继续使用此分发版。

环境变量

可以配置以下环境变量

  • LLAMA_STACK_PORT: Llama Stack 分发版服务器的端口 (默认: 8321)

  • OLLAMA_URL: Ollama 服务器的 URL (默认: http://127.0.0.1:11434)

  • INFERENCE_MODEL: 加载到 Ollama 服务器的推理模型 (默认: meta-llama/Llama-3.2-3B-Instruct)

  • SAFETY_MODEL: 加载到 Ollama 服务器的安全模型 (默认: meta-llama/Llama-Guard-3-1B)

设置 Ollama 服务器

请查阅 Ollama 文档,了解如何安装和运行 Ollama。安装 Ollama 后,需要运行 ollama serve 来启动服务器。

要加载模型,可以运行

export INFERENCE_MODEL="meta-llama/Llama-3.2-3B-Instruct"

# ollama names this model differently, and we must use the ollama name when loading the model
export OLLAMA_INFERENCE_MODEL="llama3.2:3b-instruct-fp16"
ollama run $OLLAMA_INFERENCE_MODEL --keepalive 60m

如果您正在使用 Llama Stack 的安全 / 防护罩 API,您还需要拉取并运行安全模型。

export SAFETY_MODEL="meta-llama/Llama-Guard-3-1B"

# ollama names this model differently, and we must use the ollama name when loading the model
export OLLAMA_SAFETY_MODEL="llama-guard3:1b"
ollama run $OLLAMA_SAFETY_MODEL --keepalive 60m

运行 Llama Stack

现在,您已准备好以 Ollama 作为推理提供者来运行 Llama Stack。您可以通过 Conda(构建代码)或 Docker(已有预构建镜像)来完成。

通过 Docker

此方法让您可以快速开始,而无需构建分发版代码。

export LLAMA_STACK_PORT=8321
docker run \
  -it \
  --pull always \
  -p $LLAMA_STACK_PORT:$LLAMA_STACK_PORT \
  -v ~/.llama:/root/.llama \
  llamastack/distribution-ollama \
  --port $LLAMA_STACK_PORT \
  --env INFERENCE_MODEL=$INFERENCE_MODEL \
  --env OLLAMA_URL=http://host.docker.internal:11434

如果您正在使用 Llama Stack 的安全 / 防护罩 API,请使用

# You need a local checkout of llama-stack to run this, get it using
# git clone https://github.com/meta-llama/llama-stack.git
cd /path/to/llama-stack

docker run \
  -it \
  --pull always \
  -p $LLAMA_STACK_PORT:$LLAMA_STACK_PORT \
  -v ~/.llama:/root/.llama \
  -v ./llama_stack/templates/ollama/run-with-safety.yaml:/root/my-run.yaml \
  llamastack/distribution-ollama \
  --yaml-config /root/my-run.yaml \
  --port $LLAMA_STACK_PORT \
  --env INFERENCE_MODEL=$INFERENCE_MODEL \
  --env SAFETY_MODEL=$SAFETY_MODEL \
  --env OLLAMA_URL=http://host.docker.internal:11434

通过 Conda

请确保您已执行 uv pip install llama-stack 并已安装 Llama Stack CLI。

export LLAMA_STACK_PORT=8321

llama stack build --template ollama --image-type conda
llama stack run ./run.yaml \
  --port $LLAMA_STACK_PORT \
  --env INFERENCE_MODEL=$INFERENCE_MODEL \
  --env OLLAMA_URL=http://localhost:11434

如果您正在使用 Llama Stack 的安全 / 防护罩 API,请使用

llama stack run ./run-with-safety.yaml \
  --port $LLAMA_STACK_PORT \
  --env INFERENCE_MODEL=$INFERENCE_MODEL \
  --env SAFETY_MODEL=$SAFETY_MODEL \
  --env OLLAMA_URL=http://localhost:11434

(可选) 更新模型服务配置

注意

请查看 model_entries 以了解支持的 Ollama 模型。

使用 ollama 提供新模型服务

ollama run <model_name>

为确保模型已正确提供服务,运行 ollama ps 获取由 ollama 提供服务的模型列表。

$ ollama ps
NAME                         ID              SIZE      PROCESSOR    UNTIL
llama3.2:3b-instruct-fp16    195a8c01d91e    8.6 GB    100% GPU     9 minutes from now

为验证由 ollama 提供服务的模型已正确连接到 Llama Stack 服务器

$ llama-stack-client models list

Available Models

┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ model_type    identifier                            provider_resource_id          metadata   provider_id ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ llm           meta-llama/Llama-3.2-3B-Instruct      llama3.2:3b-instruct-fp16                ollama      │
└──────────────┴──────────────────────────────────────┴──────────────────────────────┴───────────┴─────────────┘

Total models: 1