Перейти к основному содержимому

Установка платформы

Аутентификация в Docker

Для установки платформы Compressa вам понадобится уникальный токен доступа, который предоставит команда.

Установите переменную окружения с токеном:

export COMPRESSA_TOKEN=<TOKEN>

Пройдите аутентификацию в Docker с вашим токеном:

echo $COMPRESSA_TOKEN | docker login -u compressa --password-stdin

Базовая настройка

Сначала клонируйте репозиторий с конфигурацией:

git clone -b deploy/platform git@github.com:compressa-ai/compressa-deploy.git
cd compressa-deploy

Репозиторий содержит два основных файла, с насткройки которых мы начнем:

  • .env
  • docker-compose.yml

Укажите идентификаторы GPU в файле .env:

DOCKER_GPU_IDS_1=<ID1>
DOCKER_GPU_IDS_2=<ID2>

По умолчанию сервисы используют порт 8080. Его можно настроить в файле docker-compose.yml:

  nginx:
image: nginx:stable-alpine3.19-slim
ports:
- "8080:80" <----
...

Настройка хранилища

По умолчанию контейнеры используют следующий путь для хранилища:

  • compressa - ./data/compressa
    У этой директории должны быть права 777, которые можно установить с помощью команды:
    chmod 777 -R ./data/compressa

Вы можете изменить путь к хранилищу в файле docker-compose.yml.

Модели по умолчанию

Compressa поддерживает управления моделями через REST API по адресам:

  • SERVER_NAME:$PORT/api/chat/
  • SERVER_NAME:$PORT/api/embeddings/

Для данных API доступен Swagger:

  • SERVER_NAME:$PORT/api/chat/docs
  • SERVER_NAME:$PORT/api/embeddings/docs

Помимо этого, система позволяет установить модели, который будут задеплоены по умолчанию. Конфиги этих моделей содержаться в файлах:

  • deploy-qwen14.json
  • deploy-embeddings.json

И монтируются в соответствующий контейнеры:

  compressa-pod-1:
image: "compressa/compressa-pod:0.3.4"
...
- ./deploy-qwen14.json:/configs/deploy.json:ro

Мы рекомендуют начать работу с Compressa с моделей, установленными в данных конфигах в примере.

Больше про ручное развертывание моделей можно найти на странице Managment API.

Запуск сервисов

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

docker compose up --build

Важно! Модули ETL и Rerank будут установлены автоматически и не требуют выполнения отдельных команд.

После успешной установки всех модулей и запуска моделей, они готовы к использованию. Как отправлять запросы через REST API или Python клиент рассказываем здесь.

Тестирование

Успешный деплой можно проверить с помощью следующих запросов:

LLM Модель

curl -X 'POST' "$SERVER_NAME:$PORT/v1/chat/completions" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' -d '{
"model": "Compressa-LLM",
"messages": [{"role": "user", "content": "Напиши сказку на ночь про добрый искусственный интеллект!"}],
"stream": false
}'

Embeddings Модель

curl -X 'POST' "$SERVER_NAME:$PORT/v1/embeddings" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' -d '{
"model": "Compressa-Embedding",
"input": "Document 1",
"encoding_format": "float"
}'

Rerank Модель

curl -X POST "$SERVER_NAME:$PORT/v1/rerank" -H "accept: application/json" -H "Content-Type: application/json" -d '{
"model": "Compressa-ReRank",
"query": "Query?",
"documents": [
"document 1",
"document 2",
"document 3"
],
"return_documents": false
}'

Для работы с модулем InsightStream RAG, вам понадобится выполнить еще один шаг