Outlines — инструмент для гарантированного получения структурированного вывода от языковых моделей. В отличие от решений, которые исправляют плохой результат после генерации через парсинг, регулярки или хрупкий код, Outlines задаёт структуру прямо во время генерации.
Библиотека работает с любыми моделями: один и тот же код запускается на OpenAI, Ollama, vLLM и других провайдерах. Достаточно указать нужный тип вывода — и Outlines гарантирует корректную структуру без проблем с парсингом и сломанным JSON.
Подход повторяет систему типов Python: для ответа да/нет используется bool, для чисел — числовой тип, для сложных объектов — модель Pydantic. Это позволяет менять модели без изменения кода.
Среди примеров применения — сортировка обращений в поддержку, категоризация товаров, разбор описаний событий с неполными данными, классификация документов, планирование встреч через function calling и генерация промптов на базе шаблонов Jinja.
Создано командой .txt. Используется NVIDIA, Cohere, HuggingFace, vLLM и другими.
GitHub ★ 14,628
