安装 Llama Stack
在 Alauda AI 2.8.x 中,Alauda Build of Llama Stack 由 Alauda AI 安装和管理。集群级 default AmlCluster 中的 llamaStack 组件默认值为 Unmanaged;将其设置为 Managed 后,您无需手动从 OperatorHub 安装 Operator。组件完成 reconcile 后,按照下文所述,通过 LlamaStackDistribution 自定义资源部署 Llama Stack Server。
目录
上传 Operator 包启用 Llama Stack验证安装部署 Llama Stack Server配置 PostgreSQL 存储在 KServe 上使用 vLLM 进行 tool calling启用 PGVector Vector Store启用 Milvus Vector StoreHugging Face 访问用于 embedding models上传 Operator 包
下载 Llama Stack Operator 包,然后按照 上架软件包 上架该包。
启用 Llama Stack
在 Administrator 视图中:
- 打开 Marketplace > OperatorHub。
- 选择目标集群并打开 Alauda AI。
- 打开 All Instances 选项卡,编辑
defaultAmlCluster实例。 - 将
spec.components.llamaStack.managementState设置为Managed。 - 保存
AmlCluster实例,并等待 Llama Stack Operator 变为 ready。
您可以在 AmlCluster YAML 中应用该组件设置:
验证安装
检查 AmlCluster 状态和 Llama Stack Operator:
AmlCluster 应返回 Phase=Ready,并且 Llama Stack Operator controller pod 应处于 Running 状态。Operator ready 后,系统会注册 LlamaStackDistribution CRD。
部署 Llama Stack Server
安装 Operator 后,通过创建 LlamaStackDistribution 自定义资源来部署 Llama Stack Server:
注意:请提前准备以下内容;否则 distribution 可能无法变为 ready:
- Inference URL:
VLLM_URL必须指向一个 vLLM OpenAI-compatible 的 HTTP 基础 URL(例如集群内的 vLLM 或 KServe InferenceService),并且该 URL 需要提供目标模型服务。- Secret(可选):仅当 vLLM endpoint 需要认证时才需要
VLLM_API_TOKEN。如果 vLLM 没有认证,请勿设置。若需要,请在同一 namespace 中创建一个 Secret,并在containerSpec.env中引用它(请参见下方 manifest 中的注释示例)。- Storage Class:请确保集群中存在
defaultStorage Class;否则 PVC 无法绑定,资源也不会变为 ready。- PostgreSQL 存储:本版本中的
starterdistribution 使用 PostgreSQL 来持久化 Llama Stack。部署前,请为 server pod 配置POSTGRES_*环境变量。- PGVector(可选):若要使用
provider_id="pgvector"的vector_stores,请为 server pod 提供PGVECTOR_*环境变量。由于 ACP 提供的 PostgreSQL 已包含pgvector扩展,因此可直接使用。- Milvus(可选):若要使用
provider_id="milvus-remote"的vector_stores,请提供MILVUS_ENDPOINT;如果启用了认证,还需提供MILVUS_TOKEN。将MILVUS_CONSISTENCY_LEVEL设置为有效的 Milvus 一致性级别,例如Strong。- Embedding model 下载:Llama Stack 为 vector-store 用法提供了默认的 embedding model 配置,但模型制品会在首次使用时从 Hugging Face 下载。如果需要镜像或代理,请配置
HF_ENDPOINT。对于完全离线的环境,请在第一次 vector-store 请求之前,预先将模型文件下载到 server PVC 中。
部署完成后,Llama Stack Server 将在集群内可用。访问 URL 会显示在 status.serviceURL 中,例如:
配置 PostgreSQL 存储
本版本使用的 starter distribution 镜像需要 PostgreSQL 来持久化 Llama Stack。请在 LlamaStackDistribution 中配置以下 server 环境变量:
POSTGRES_HOSTPOSTGRES_PORTPOSTGRES_DBPOSTGRES_USERPOSTGRES_PASSWORD
这些设置用于 Llama Stack server 状态,不同于仅用于配置可选 PGVector vector-store provider 的 PGVECTOR_*。如果同一个 PostgreSQL 实例具备所需的数据库、凭据和 pgvector 扩展,您可以将其同时用于这两种角色。
在 KServe 上使用 vLLM 进行 tool calling
以下内容适用于 KServe 上的 vLLM predictor,不适用于 LlamaStackDistribution manifest。对于使用 tools(client-side tools 或 MCP)的 agent 流程,vLLM 进程必须暴露 tool-call 支持。请按上游 vLLM 的要求添加 predictor container args,例如:
请根据 served model 以及该模型家族对应的 vLLM 文档,选择 --tool-call-parser(以及任何相关参数)。
启用 PGVector Vector Store
当在 server 上设置 ENABLE_PGVECTOR=true 时,Llama Stack 可以通过 client API 使用 provider_id="pgvector" 创建 vector store。
建议准备步骤:
- 准备一个 ACP PostgreSQL 实例,并记录其 service name、database name、username 和 password。
- 使用
PGVECTOR_HOST、PGVECTOR_PORT、PGVECTOR_DB、PGVECTOR_USER和PGVECTOR_PASSWORD将数据库连接信息暴露给LlamaStackDistribution。 - 设置
ENABLE_SENTENCE_TRANSFORMERS=true,并确保默认 embedding model 文件能够在首次使用时被获取。 - 如果集群使用 Hugging Face 镜像或代理,请相应设置
HF_ENDPOINT。 - 如果集群完全离线,请预先将 embedding model 文件下载到 server PVC 中,并启用与离线缓存相关的环境变量。
distribution 变为 ready 后,您可以使用 Quickstart notebook 中的 PGVector 部分验证该配置。
启用 Milvus Vector Store
当在 server 上设置 MILVUS_ENDPOINT 时,Llama Stack 可以通过 client API 使用 provider_id="milvus-remote" 创建 vector store。
建议准备步骤:
- 准备一个 Llama Stack Server pod 可访问的 Milvus endpoint。
MILVUS_ENDPOINT必须包含 scheme,即http://或https://,以及您的 Milvus 服务所需的端口。 - 使用
MILVUS_ENDPOINT将 Milvus 连接信息暴露给LlamaStackDistribution。 - 如果启用了 Milvus 认证,请从 Secret 中设置
MILVUS_TOKEN。 - 将
MILVUS_CONSISTENCY_LEVEL设置为字符串值,例如Strong;Milvus provider 需要该字段。 - 设置
ENABLE_SENTENCE_TRANSFORMERS=true,并确保 embedding model 文件可以被获取或已经存在于 server PVC 中。
distribution 变为 ready 后,使用 Quickstart notebook 中的 Milvus 部分验证该配置。client 会使用 provider_id="milvus-remote" 创建 vector store,并在 extra_body 中传递所选的 embedding model id 以及 embedding dimension。
Hugging Face 访问用于 embedding models
Llama Stack 在 vector-store 操作中使用默认的 embedding model。首次使用时,server 会将模型文件从 Hugging Face 下载到本地缓存中。
推荐的缓存路径:
/home/lls/.lls/huggingface/hub
常见部署模式:
-
镜像或代理访问:
-
完全离线访问:
先将所需模型文件预下载到 PVC 支持的缓存目录
/home/lls/.lls/huggingface/hub,然后设置:
如果缓存路径预先正确填充,server 就可以在运行时无需下载模型制品,即可创建由 PGVector 或 Milvus 支持的 vector store。