Установка платформы
Аутентификация в 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, вам понадобится выполнить еще один шаг