Коллекция из 419 предварительно обученных AI-моделей для компьютерного зрения, обработки речи, NLP и LLM, запускаемых через общий Python CLI с помощью ailia SDK.
doofzoff/SIMURG
Python-защита без зависимостей, кроме numpy, выявляет сбои декодирования LLM — например, зацикливание и смену языка — и обрывает поток до показа некорректного текста.
- Звёзды
- 101
- Форки
- 15
- Открытые issues
- 0
- Последний коммит
- 29 дней назад
Что это?
SIMURG отслеживает поток токенов, генерируемый LLM, и выявляет сбои декодирования: зацикливание на повторах, переход на другой язык, воспроизведение шаблонного текста, структурный мусор и утечку маркеров шаблона чата. Перед отправкой текста пользователю он удерживает первые 350 символов, затем перепроверяет поток каждые 400 символов и обрывает его при превышении откалиброванного порога. Каждое срабатывание сопровождается понятным человеку объяснением и примерной позицией начала сбоя.
Ядро работает только на numpy, без модели и GPU, и совместимо с любым endpoint для chat completions, совместимым с OpenAI, например vLLM, сервером llama.cpp, TGI, Ollama или OpenAI. Обёртка GuardedLLM добавляет повторные попытки и переключение на резервную модель, а механизм self-heal позволяет продолжить генерацию с проверенного чистого префикса, не создавая ответ заново целиком. Пороговые значения калибруются на чистых ответах; в проект также входят команда для дообучения на ваших данных и дашборд для защиты в реальном времени и воспроизведения сессий.
В проекте отдельно подчёркивается, что он выявляет сбои при выдаче текста, а не фактические ошибки: у беглого, но ложного предложения нет статистических признаков, по которым его можно обнаружить. Также доступны дополнительный уровень с небольшой трансформерной моделью, слой веб-поиска для проверки обоснованности ответов и экспериментальный модуль обучения на обратной связи.
Ключевые возможности
- 01Выявляет зацикливание на повторах, смену языка, воспроизведение шаблонного текста, структурный мусор и утечку маркеров шаблона в потоке вывода.
- 02Удерживает начальные символы и обрывает поток при превышении откалиброванного порога, не показывая некорректный текст пользователю.
- 03Работает только на numpy, без модели и GPU, и совместим с любым endpoint, совместимым с OpenAI.
- 04Выводит понятное человеку объяснение срабатывания и примерную позицию начала сбоя.
- 05Повторяет попытку или переключается на другую модель, если генерация помечена как некорректная.
- 06Позволяет настраивать пороговые значения на собственных чистых ответах и предоставляет дашборд для защиты в реальном времени.
Сценарии использования
- Защита чат-ботов для пользователей, работающих на квантованных моделях или моделях на собственных серверах, от неадекватных ответов.
- Добавление проверки качества в середине потока перед inference-сервером, чтобы токены не доходили до интерфейса без проверки.
- Аудит и воспроизведение некорректных генераций производственной модели для выявления характерных сбоев.
- Выявление нового типа сбоев в собственной модели с помощью детектора, обученного на размеченных примерах.
Быстрый старт
- 1
Установите пакет из PyPI
pip install simurg - 2
Или установите его из исходного кода, клонировав репозиторий
git clone https://github.com/doofzoff/SIMURG.git - 3
Перейдите в папку проекта и установите пакет в editable-режиме
cd SIMURG && pip install -e . - 4
Запустите воспроизводимый бенчмарк
python3 -m simurg.data.evaluate
Что важно знать
- Калибровка настроена на прилагаемый синтетический бенчмарк, поэтому перед использованием в production следует переобучить модель на собственном трафике.
- Повреждение в середине потока может оставить некорректный хвост длиной до примерно 900 символов, пока повторная попытка его не заменит; кроме того, повреждение, начинающееся в hold window, полностью блокируется лишь в 12 из 21 случая бенчмарка.
Темы
Частые вопросы
- Что такое SIMURG?
- Python-защита без зависимостей, кроме numpy, выявляет сбои декодирования LLM — например, зацикливание и смену языка — и обрывает поток до показа некорректного текста. SIMURG отслеживает поток токенов, генерируемый LLM, и выявляет сбои декодирования: зацикливание на повторах, переход на другой язык, воспроизведение шаблонного текста, структурный мусор и утечку маркеров шаблона чата. Перед отправкой текста пользователю он удерживает первые 350 символов, затем перепроверяет поток каждые 400 символов и обрывает его при превышении откалиброванного порога. Каждое срабатывание сопровождается понятным человеку объяснением и примерной позицией начала сбоя.
- SIMURG можно использовать бесплатно? Какая у него лицензия?
- SIMURG распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- SIMURG всё ещё поддерживается?
- Активно поддерживается. Последний коммит в SIMURG — 21 сент. 2026 г..
- Для чего можно использовать SIMURG?
- Защита чат-ботов для пользователей, работающих на квантованных моделях или моделях на собственных серверах, от неадекватных ответов. Добавление проверки качества в середине потока перед inference-сервером, чтобы токены не доходили до интерфейса без проверки. Аудит и воспроизведение некорректных генераций производственной модели для выявления характерных сбоев. Выявление нового типа сбоев в собственной модели с помощью детектора, обученного на размеченных примерах.
- Как установить SIMURG?
- Установите пакет из PyPI: pip install simurg Или установите его из исходного кода, клонировав репозиторий: git clone https://github.com/doofzoff/SIMURG.git Перейдите в папку проекта и установите пакет в editable-режиме: cd SIMURG && pip install -e . Запустите воспроизводимый бенчмарк: python3 -m simurg.data.evaluate
- Где скачать SIMURG?
- Исходный код и инструкции по установке — на GitHub: https://github.com/doofzoff/SIMURG
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Не зависящий от движка шлюз для LLM на Rust, который маршрутизирует запросы в форматах OpenAI и Anthropic между локальными серверами инференса и облачными провайдерами моделей.
Локальный и облачный запуск открытых моделей, таких как Gemma, Qwen, DeepSeek и gpt-oss, через CLI, REST API и библиотеки для Python и JavaScript.
Локальный AI-движок с совместимым с OpenAI API: запускает LLM, модели для зрения, речи, изображений и видео на любом оборудовании, в том числе без GPU.
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
Не зависящий от фреймворка инструментарий Generative UI на базе OpenUI Lang — компактного потокового языка, с помощью которого LLM создают отображаемый UI из вашей библиотеки компонентов.