Перейти к основному содержимому
Версия: 1.6

Установка сервиса AI FP

Сервис AI FP можно установить одним из следующих способов:

Установка AI FP в составе TRON.ASOC

Этот способ установки доступен, если сервис AI FP включен в состав TRON.ASOC как опциональный компонент.

Доступен вариант установки на базе Docker Compose или Kubernetes.

Установка на базе Docker Compose

Чтобы установить сервис на базе Docker Compose, выполните следующие шаги:

  1. Раскомментируйте сервис fp в файле docker-compose.yaml.
  2. Установите следующие значения переменных для сервиса core:
- ASOC_COPILOT_ENABLED=${ASOC_COPILOT_ENABLED:-true}
- FP_SERVICE_API_KEY=dev-secret-key-12345
- FP_SERVICE_BASE_URL=https://fp:8010/api/v1/
  1. Установите следующие значения переменных для сервиса fp:
- SERVER_PORT=8010
- API_KEY=${FP_API_KEY:-dev-secret-key-12345}
- LLM_BASE_URL=${FP_LLM_BASE_URL:-https://api.deepseek.com/v1}
- LLM_MODEL=${FP_LLM_MODEL:-deepseek-chat}
- LLM_API_KEY=${FP_LLM_API_KEY:-sk-..}
  1. Раскоментируйте следующий блок в файле nginx.conf:
# FP service
location /fp/ {
proxy_pass http://fp:8010/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
client_max_body_size 100m;
}

Установка на базе Kubernetes

Если TRON.ASOC развёрнут в Kubernetes, включите сервис AI FP как компонент системы. Для этого:

  1. Измените блок component в файле values.yaml:
asoc-ai:
enabled: true
  1. Установите следующие значения переменных в файле configmap.infraconfig:
## FP-Provider
SERVER_PORT: 8010
API_KEY: dev-secret-key-12345
LLM_BASE_URL: https://api.deepseek.com/v1
LLM_MODEL: deepseek-chat
LLM_API_KEY: sk-..
LLM_TIMEOUT: 120s
WORKER_COUNT: 2
QUEUE_SIZE: 100
CLEANUP_INTERVAL: 5m
READ_TASK_TTL: 15m
UNREAD_TASK_TTL: 1h
LOG_LEVEL: info

## ASOC service
FP_SERVICE_BASE_URL: http://asoc-ai-fp:8010/api/v1
FP_SERVICE_API_KEY: dev-secret-key-12345
ASOC_COPILOT_ENABLED: true

к сведению

Значения API_KEY и LLM_API_KEY указаны выше в качестве примера. При установке используйте собственные секретные данные.

Установка AI FP на отдельной инфраструктуре

Этот способ установки предполагает развертывание компонентов vLLM и copilot-fp-service на отдельной машине с последующим подключением к TRON.ASOC.

Чтобы установить AI FP этим способом, выполните следующие шаги:

  1. Подготовьте инфраструктуру в соответствии с требованиями из раздела Технические требования.
  2. Создайте файл docker-compose.yaml со следующей конфигурацией:
services:
fp-service:
image: harbor.tronsec.ru/asoc/fp:v1.4.2
ports:
- "8088:8080"
environment:
- SERVER_PORT=8080
- API_KEY=${API_KEY:-dev-secret-key}
- LLM_BASE_URL=http://vllm:8000/v1
- LLM_MODEL=Qwen/Qwen2.5-3B-Instruct
- LLM_TIMEOUT=120s
- WORKER_COUNT=2
- QUEUE_SIZE=100
- CLEANUP_INTERVAL=5m
- READ_TASK_TTL=15m
- UNREAD_TASK_TTL=1h
- LOG_LEVEL=info
depends_on:
- vllm
networks:
- web
vllm:
image: vllm/vllm-openai:latest
ports:
- "8089:8000"
volumes:
- vllm_data:/root/.cache/huggingface
environment:
- HF_HOME=/root/.cache/huggingface
command: >
--model Qwen/Qwen2.5-3B-Instruct
--kv-cache-dtype auto
--gpu-memory-utilization 0.7
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
networks:
web:
external: true
volumes:
vllm_data:
  1. После запуска сервисов установите следующие значения переменных для сервиса asoc-back для интеграции с TRON.ASOC:
ASOC_COPILOT_ENABLED: true
FP_SERVICE_API_KEY: dev-secret-key
FP_SERVICE_BASE_URL: https://fp-service:8080/api/v1/

Настройка LLM-провайдера

Сервис copilot-fp-service не привязан к конкретному провайдеру LLM и работает с любым OpenAI-совместимым API. Провайдер устанавливается значениями переменных LLM_BASE_URL и LLM_MODEL.

Рекомендуемый вариант настройки — self-hosted vLLM, так как он обеспечивает приватность данных и лучшую производительность. При необходимости провайдер можно заменить, например:

# Ollama
LLM_BASE_URL=http://localhost:11434/v1
LLM_MODEL=qwen2.5:7b-instruct

# OpenAI API
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o-mini

# Другой OpenAI-совместимый эндпоинт
LLM_BASE_URL=https://your-llm-server/v1
LLM_MODEL=your-model-name