Платформа быстрого и выгодного запуска моделей искусственного интеллекта "compressa" (далее Compressa) предоставляет набор API для интеграции генеративных AI-технологий в ваши приложения. Это руководство описывает, как использовать все доступные модули и интерфейсы.
http://ваш_адрес:8080
. Для аутентификации используйте ваш user_API_ключ
, передавая его в заголовке Authorization
.
-H 'Authorization: Bearer Ваш_user_API_ключ'
Вы можете взаимодействовать с LLM через OpenAI-совместимый API или нативную библиотеку для Langchain.
Этот способ позволяет использовать привычный формат запросов OpenAI.
curl -X POST 'http://ваш_адрес:8080/v1/chat/completions' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer Ваш_user_API_ключ' \ -d '{ "model": "Compressa-LLM", "messages": [ { "role": "system", "content": "Ты полезный ассистент." }, { "role": "user", "content": "Расскажи о преимуществах использования локальных LLM." } ], "max_tokens": 256, "temperature": 0.7, "stream": false }'
Для получения ответа по частям (стриминг) установите "stream": true
.
Для удобной интеграции в Python-проекты используйте библиотеку langchain-compressa
.
from langchain_compressa import ChatCompressa llm = ChatCompressa( base_url="http://ваш_адрес:8080/v1", api_key="Ваш_user_API_ключ", model="Compressa-LLM", temperature=0.7, max_tokens=256 ) messages = [("human", "Я люблю программирование.")] ai_msg = llm.invoke(messages) print(ai_msg.content)
Модуль ETL позволяет извлекать текст из документов и нарезать его на чанки (фрагменты) для дальнейшего использования в RAG-системах.
Отправьте файл для анализа, указав стратегию и другие параметры.
curl -X POST "http://ваш_адрес:8080/v1/layout" \ -H "Authorization: Bearer Ваш_API_ключ_Compressa" \ -H "accept: application/json" \ -F "files=@/path/to/your/document.pdf" \ -F "strategy=hi_res" \ -F "max_characters=1000" \ -F "overlap=100"
strategy
: fast
(быстрая, на правилах), hi_res
(качественная, на модели), auto
(автоматический выбор).max_characters
: Максимальный размер одного чанка.overlap
: Количество символов перекрытия между чанками.Используйте этот модуль для преобразования текста в числовые векторы (эмбеддинги) для семантического поиска.
curl -X 'POST' 'http://ваш_адрес:8080/v1/embeddings' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer Ваш_API_ключ_Compressa' \ -d '{ "model": "Compressa-Embedding", "input": ["Первый текстовый документ.", "Второй документ для векторизации."] }'
Rerank-модели повышают точность поиска, сортируя документы по их релевантности к запросу.
curl -X POST "http://ваш_адрес:8080/v1/rerank" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer Ваш_API_ключ_Compressa" \ -d '{ "model": "Compressa-ReRank", "query": "Какая столица у США?", "documents": [ "Париж - столица Франции.", "Вашингтон, округ Колумбия - столица США.", "Берлин - столица Германии." ] }'
Management API (/pod-1/api/v1/
) позволяет управлять жизненным циклом моделей на вашем сервере.
Получить список всех доступных моделей:
curl -X GET 'http://ваш_адрес:8080/pod-1/api/v1/models/'
Скачать новую модель с Hugging Face:
curl -X POST 'http://ваш_адрес:8080/pod-1/api/v1/models/add/?model_id=openchat/openchat-3.5-0106'
Запустить модель для инференса:
curl -X POST 'http://ваш_адрес:8080/pod-1/api/v1/deploy/' \ -H 'Content-Type: application/json' \ -d '{ "model_id": "openchat/openchat-3.5-0106", "adapter_ids": [] }'
Проверить статус текущего деплоя:
curl -X GET 'http://ваш_адрес:8080/pod-1/api/v1/deploy/status/'
Остановить (отключить) текущую модель:
curl -X POST 'http://ваш_адрес:8080/pod-1/api/v1/deploy/interrupt/' -d ''
Вы можете дообучать модели на собственных данных для улучшения их производительности на конкретных задачах.
Данные должны быть в формате JSON Lines (.jsonl
), где каждая строка — это диалог. Пример:
{"messages": [{"role": "user", "content": "Вопрос 1"}, {"role": "bot", "content": "Ответ 1"}]}
Загрузить датасет на сервер:
curl -X POST 'http://ваш_адрес:8080/pod-1/api/v1/datasets/upload/?description=Мой_датасет' \ -H 'Content-Type: multipart/form-data' \ -F 'file=@/path/to/your/train.jsonl'
Получить список моделей, доступных для дообучения:
curl -X GET 'http://ваш_адрес:8080/pod-1/api/v1/finetune/models/'
Запустить дообучение:
curl -X POST 'http://ваш_адрес:8080/pod-1/api/v1/finetune/' \ -H 'Content-Type: application/json' \ -d '{ "name": "My_FineTuned_Adapter", "model_id": "NousResearch/Llama-2-7b-chat-hf", "dataset_id": "ID_вашего_датасета_из_ответа_на_загрузку" }'
Проверить статус дообучения:
curl -X GET 'http://ваш_адрес:8080/pod-1/api/v1/finetune/status/'
Для удобства тестирования и управления платформа Compressa предоставляет несколько веб-интерфейсов:
http://ваш_адрес:8080/pod-1/chat/
— для интерактивного тестирования LLM.http://ваш_адрес:8080/pod-1/finetune/
— для дообучения моделей через интерфейс.http://ваш_адрес:8080/pod-1/api/docs/
— для интерактивной работы с Management API.