Локальный inference-сервер, который через OpenAI-совместимый API обслуживает модели эмбеддингов, reranking, OCR, извлечения данных, безопасности и LLM из одного кластера.
michaelfeil/infinity
Сервисный движок на Rust и LibTorch для эмбеддингов, реранкинга, классификации и типизированных решений через REST API.
- Звёзды
- 2,984
- Форки
- 220
- Открытые issues
- 153
- Последний коммит
- 13 часов назад
Что это?
Infinity — движок для обслуживания моделей эмбеддингов текста, реранкинга, классификации и смежных задач. Сервер v3 написан на Rust и выполняет инференс через LibTorch — интерфейс PyTorch на C++. Клиенты обращаются к нему по HTTP через такие эндпоинты, как /v1/embeddings для плотных векторов, /rerank для реранкинга, /v1/classify для классификации последовательностей и оценки вознаграждения, а также /embed_sparse для разреженных эмбеддингов SPLADE.
Сервер запускается из Docker-образа и требует NVIDIA GPU с вычислительными возможностями SM80 (Ampere) или выше, а также NVIDIA Container Toolkit. По умолчанию он использует все доступные CUDA GPU, размещая на каждой полную копию модели, и выбирает pooling по метаданным чекпойнта. Эндпоинт /health сообщает о готовности после загрузки и прогрева модели, а на работающем сервере доступна интерактивная страница API по адресу /docs.
В поддерживаемый каталог моделей входят плотные и мультимодальные эмбеддинги, векторные представления токенов для поиска с поздним взаимодействием, классификация токенов и распознавание именованных сущностей, а также типизированные решения. Более ранние выпуски на Python (v2, устанавливаемые как infinity-emb) по-прежнему находятся в том же репозитории.
Ключевые возможности
- 01Предоставляет эмбеддинги, реранкинг, классификацию и типизированные решения через REST API.
- 02Выполняет инференс с помощью LibTorch на сервере, написанном на Rust.
- 03По умолчанию использует все доступные CUDA GPU, размещая на каждой полную копию модели.
- 04Предоставляет разреженные эмбеддинги SPLADE и векторные представления токенов для поиска с поздним взаимодействием.
- 05Сообщает о готовности после загрузки и прогрева модели через /health.
Сценарии использования
- Развертывание эндпоинта эмбеддингов для семантического поиска или генерации с дополнением поиском на NVIDIA GPU.
- Добавление этапа реранкинга в поисковый конвейер с доступом через HTTP API.
- Запуск моделей распознавания именованных сущностей или классификации последовательностей в виде сервиса.
- Развертывание закрепленного образа контейнера для воспроизводимого инференса на GPU.
Быстрый старт
- 1
Запустите сервер Infinity v3 в Docker (требуется GPU NVIDIA с архитектурой SM80 или новее и NVIDIA Container Toolkit).
docker run --rm --gpus all -p 8000:8000 -v infinity-cache:/data ghcr.io/michaelfeil/infinity_v3:nvidia-3.0.0 --model-id sentence-transformers/all-MiniLM-L6-v2 --torch-device cuda --dtype bfloat16 --hostname 0.0.0.0 --port 8000 - 2
Отправьте запрос на получение эмбеддингов работающему серверу.
curl http://localhost:8000/v1/embeddings -H 'Content-Type: application/json' -d '{"model":"sentence-transformers/all-MiniLM-L6-v2","input":["A document about semantic search."]}'
Что важно знать
- Сервер v3 использует специальную лицензию с доступным исходным кодом (Infinity Restricted MIT License 1.0), а не стандартную лицензию с открытым исходным кодом.
- Для описанного в документации быстрого запуска Docker требуется GPU NVIDIA с вычислительными возможностями SM80 или новее.
- Каждая GPU должна вмещать модель целиком, включая всех экспертов для контрольных точек MoE.
В подборках
Темы
Частые вопросы
- Что такое infinity?
- Сервисный движок на Rust и LibTorch для эмбеддингов, реранкинга, классификации и типизированных решений через REST API. Infinity — движок для обслуживания моделей эмбеддингов текста, реранкинга, классификации и смежных задач. Сервер v3 написан на Rust и выполняет инференс через LibTorch — интерфейс PyTorch на C++. Клиенты обращаются к нему по HTTP через такие эндпоинты, как /v1/embeddings для плотных векторов, /rerank для реранкинга, /v1/classify для классификации последовательностей и оценки вознаграждения, а также /embed_sparse для разреженных эмбеддингов SPLADE.
- infinity можно использовать бесплатно? Какая у него лицензия?
- infinity распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- infinity всё ещё поддерживается?
- Активно поддерживается. Последний коммит в infinity — 7 нояб. 2026 г..
- Для чего можно использовать infinity?
- Развертывание эндпоинта эмбеддингов для семантического поиска или генерации с дополнением поиском на NVIDIA GPU. Добавление этапа реранкинга в поисковый конвейер с доступом через HTTP API. Запуск моделей распознавания именованных сущностей или классификации последовательностей в виде сервиса. Развертывание закрепленного образа контейнера для воспроизводимого инференса на GPU.
- Как установить infinity?
- Запустите сервер Infinity v3 в Docker (требуется GPU NVIDIA с архитектурой SM80 или новее и NVIDIA Container Toolkit).: docker run --rm --gpus all -p 8000:8000 -v infinity-cache:/data ghcr.io/michaelfeil/infinity_v3:nvidia-3.0.0 --model-id sentence-transformers/all-MiniLM-L6-v2 --torch-device cuda --dtype bfloat16 --hostname 0.0.0.0 --port 8000 Отправьте запрос на получение эмбеддингов работающему серверу.: curl http://localhost:8000/v1/embeddings -H 'Content-Type: application/json' -d '{"model":"sentence-transformers/all-MiniLM-L6-v2","input":["A document about semantic search."]}'
- Где скачать infinity?
- Исходный код и инструкции по установке — на GitHub: https://github.com/michaelfeil/infinity
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Сервер глубокого обучения, Python wheel и CLI для обучения моделей и запуска инференса на изображениях, текстах, табличных данных и временных рядах через REST API.
Пакет-провайдер связывает Vercel AI SDK с OpenRouter и открывает доступ к сотням LLM через единый API.
Библиотека Go для точного поиска векторов по косинусному сходству: поддерживает локальные эмбеддинги GGUF через llama.cpp и облачные — через API, совместимые с OpenAI.
Инструмент для разработчиков, который запускает AI-модели локально в OCI-контейнерах, автоматически подбирает образы для GPU и предоставляет модели через REST API или чат-бота.
CLI и инструментарий на Python для упаковки и развёртывания ML-моделей на Baseten или собственной инфраструктуре в виде production-серверов моделей.