• Русский
  • Установка Llama Stack

    В этом документе описывается, как установить и развернуть Llama Stack Server на Kubernetes с помощью Llama Stack Operator.

    Загрузка оператора

    Скачайте файл установки Llama Stack Operator (например, llama-stack-operator.alpha.ALL.xxxx.tgz).

    Используйте команду violet для публикации в репозиторий платформы:

    violet push --platform-address=platform-access-address --platform-username=platform-admin --platform-password=platform-admin-password llama-stack-operator.alpha.ALL.xxxx.tgz

    Установка оператора

    1. Перейдите в представление Administrator в Alauda Container Platform.

    2. В левой навигации выберите Marketplace / Operator Hub.

    3. В правой панели найдите Alauda build of Llama Stack и нажмите Install.

    4. Оставьте все параметры по умолчанию и завершите установку.

    Развертывание Llama Stack Server

    После установки оператора разверните Llama Stack Server, создав пользовательский ресурс LlamaStackDistribution:

    Примечание: Подготовьте следующее заранее, иначе дистрибутив может не перейти в состояние готовности:

    • Inference URL: VLLM_URL должен указывать на HTTP базовый URL, совместимый с OpenAI vLLM (например, vLLM внутри кластера или KServe InferenceService), который обслуживает целевую модель.
    • Секрет (опционально): VLLM_API_TOKEN нужен только если конечная точка vLLM требует аутентификации. Если у vLLM нет аутентификации, не устанавливайте этот параметр. При необходимости создайте Secret в том же namespace и укажите его в containerSpec.env (см. закомментированный пример в манифесте ниже).
    • Storage Class: Убедитесь, что в кластере существует Storage Class с именем default; иначе PVC не сможет быть привязан, и ресурс не станет готовым.
    apiVersion: llamastack.io/v1alpha1
    kind: LlamaStackDistribution
    metadata:
      annotations:
        cpaas.io/display-name: ""
      name: demo
      namespace: default
    spec:
      network:
        exposeRoute: false                             # Нужно ли открывать маршрут снаружи
      replicas: 1                                      # Количество реплик сервера
      server:
        containerSpec:
          name: llama-stack
          port: 8321
          env:
            - name: VLLM_URL
              value: "http://vllm-predictor.default.svc.cluster.local/v1"   # Базовый URL vLLM, совместимый с OpenAI
            - name: VLLM_MAX_TOKENS
              value: "8192"                            # Максимальное количество выходных токенов
    
            # Опционально: VLLM_API_TOKEN — добавляйте только если конечная точка vLLM требует аутентификации.
            # Если vLLM развернут без аутентификации, этот блок не указывайте (не задавайте VLLM_API_TOKEN).
            # Пример создания: kubectl create secret generic vllm-api-token -n default --from-literal=token=<TOKEN>
            # - name: VLLM_API_TOKEN
            #   valueFrom:
            #     secretKeyRef:
            #       key: token
            #       name: vllm-api-token
    
        distribution:
          name: starter                                # Имя дистрибутива (варианты: starter, postgres-demo, meta-reference-gpu)
        storage:
          mountPath: /home/lls/.lls
          size: 1Gi                                    # Требуется заранее настроенный Storage Class "default"

    После развертывания Llama Stack Server будет доступен внутри кластера. URL доступа отображается в status.serviceURL, например:

    status:
      phase: Ready
      serviceURL: http://demo-service.default.svc.cluster.local:8321

    Вызов инструментов с vLLM на KServe

    Следующее относится к vLLM predictor на KServe, а не к манифесту LlamaStackDistribution. Для агентских потоков, использующих инструменты (клиентские инструменты или MCP), процесс vLLM должен поддерживать вызов инструментов. Добавьте аргументы контейнера предиктора args в соответствии с требованиями upstream vLLM, например:

    args:
      - --enable-auto-tool-choice
      - --tool-call-parser
      - hermes

    Выбирайте --tool-call-parser (и связанные флаги) в зависимости от обслуживаемой модели и документации vLLM для этой семейства моделей.