Kong AI Gateway

Материал из Документация Ключ-АСТРОМ

Kong AI Gateway — это набор функций, построенных на основе Kong Gateway, разработанный для того, чтобы помочь разработчикам и организациям быстро и безопасно внедрять возможности искусственного интеллекта. Он предоставляет стандартизированный API-уровень, позволяющий клиентам использовать несколько сервисов ИИ из одной и той же клиентской кодовой базы.

Включить мониторинг

Убедитесь, что плагин Kong Prometheus включен и предоставляет метрики AI LLM.

Kubernetes

Для мониторинга вашего кластера следуйте руководству по настройке Ключ-АСТРОМ в Kubernetes.

После этого добавьте следующие аннотации к вашим развертываниям Kong:

  • metrics.astromkey.com/scrape: "true"
  • metrics.astromkey.com/port: "8100"

OpenTelemetry Collector

Для развертывания коллектора следуйте инструкциям по установке OpenTelemetry Collector. При следующей конфигурации коллектор будет собирать метрики AI LLM каждые 10 секунд с конечной точки kong-metrics.kong:8100.

receivers:

  prometheus:

    config:

      scrape_configs:

      - job_name: kong

        scrape_interval: 10s

        honor_labels: false

        static_configs:

          - targets:

              - kong-metrics.kong:8100

processors:

  cumulativetodelta:

    max_staleness: 25h

extensions:

  health_check:

exporters:

  otlphttp:

    endpoint: ${env:DT_ENDPOINT}

    headers:

      Authorization: "Api-Token ${env:DT_API_TOKEN}"

service:

  extensions: [health_check]

    metrics:

      receivers: [prometheus]

      processors: [cumulativetodelta]

      exporters: [otlphttp]

Kong не предоставляет встроенную функцию сбора метрик kong-metrics, поэтому вам необходимо создать её с помощью следующего определения сервиса:

apiVersion: v1

kind: Service

metadata:

  name: kong-metrics

  namespace: kong

spec:

  type: ClusterIP

  ports:

    - name: metrics

      port: 8100

      targetPort: 8100

      protocol: TCP

  selector:

    app.kubernetes.io/name: kong

    app.kubernetes.io/instance: kong

Spans

Для GenAI Spans доступны следующие атрибуты.

Атрибут Тип Описание
gen_ai.completion.0.content string Полный ответ, полученный от модели GenAI.
gen_ai.completion.0.content_filter_results string Результаты фильтрации ответа, полученного от модели GenAI.
gen_ai.completion.0.finish_reason string Причина, по которой модель GenAI перестала выпускать токены.
gen_ai.completion.0.role string Роль, используемая моделью GenAI.
gen_ai.openai.api_base string Адрес сервера GenAI.
gen_ai.openai.api_version string Версия API GenAI.
gen_ai.openai.system_fingerprint string Отпечаток пальца ответа, сгенерированного моделью GenAI.
gen_ai.prompt.0.content string Полный текст запроса, отправленного модели GenAI.
gen_ai.prompt.0.role string Настройка роли для запроса GenAI.
gen_ai.prompt.prompt_filter_results string Результаты фильтрации запроса, отправленного модели GenAI.
gen_ai.request.max_tokens integer Максимальное количество токенов, которое модель генерирует для запроса.
gen_ai.request.model string Название модели GenAI, к которой направляется запрос.
gen_ai.request.temperature double Температурный параметр для запроса GenAI.
gen_ai.request.top_p double Параметр выборки top_p для запроса GenAI.
gen_ai.response.model string Название модели, которая сгенерировала ответ.
gen_ai.system string Продукт GenAI, идентифицированный с помощью клиентского или серверного программного обеспечения.
gen_ai.usage.completion_tokens integer Количество токенов, использованных в ответе GenAI (завершение).
gen_ai.usage.prompt_tokens integer Количество токенов, использованных во входных данных GenAI (подсказке).
llm.request.type string Тип выполняемой операции.

Метрики

После выполнения описанных выше шагов станут доступны следующие метрики:

Метрическая система Тип Единица Описание
ai_llm_requests_total counter integer Общее количество запросов ИИ на одного поставщика ИИ в Kong.
ai_llm_cost_total counter integer Стоимость запросов ИИ на один поставщик ИИ/кэш в Kong
ai_llm_provider_latency_ms_bucket histogram ms Задержки ИИ на одного поставщика ИИ в Kong
ai_llm_tokens_total counter integer Общее количество токенов ИИ на один поставщик ИИ/кэш в Kong
ai_cache_fetch_latency histogram ms Задержки кэширования ИИ для каждого поставщика ИИ/базы данных в Kong.
ai_cache_embeddings_latency histogram ms Задержки встраивания кэша ИИ для каждого поставщика ИИ/базы данных в Kong.
ai_llm_provider_latency histogram ms Задержки поставщиков ИИ для каждого поставщика ИИ/базы данных в Kong.

Кроме того, предоставляются следующие метрики.

Метрическая система Тип Единица Описание
gen_ai.client.generation.choices counter none Количество вариантов выбора, возвращаемых в результате выполнения запроса на завершение чата.
gen_ai.client.operation.duration histogram s Продолжительность работы GenAI.
gen_ai.client.token.usage histogram none Количество используемых входных и выходных токенов.
llm.openai.embeddings.vector_size counter none Размер возвращаемого вектора.