Python-фреймворк для проверки входных данных и ответов LLM-приложений и генерации структурированных данных по заданной схеме.
567-labs/instructor
Библиотека Python для получения от LLM структурированных данных, проверенных с помощью Pydantic, с поддержкой нескольких провайдеров и автоматическими повторами при ошибках валидации.
- Звёзды
- 14,046
- Форки
- 1,330
- Открытые issues
- 214
- Последний коммит
- вчера
Что это?
Instructor извлекает из ответов LLM типизированные данные: нужный формат вывода можно задать с помощью модели Pydantic. Вместо того чтобы вручную писать JSON-схемы и разбирать необработанный текст, достаточно передать клиенту response_model — и получить готовый объект Python, прошедший валидацию.
Библиотека объединяет API нескольких провайдеров, включая OpenAI, Anthropic, Google, Ollama и Groq, в единый интерфейс, создаваемый с помощью from_provider. Если валидация не проходит, Instructor отправляет модели сообщение об ошибке и повторяет запрос — до заданного значения max_retries. Также библиотека поддерживает потоковую передачу частичных объектов и вложенные модели.
Помимо Python, в документации проекта перечислены реализации на TypeScript, Ruby, Go, Elixir и Rust.
Ключевые возможности
- 01Позволяет задавать схемы вывода с помощью моделей Pydantic и возвращает прошедшие валидацию объекты.
- 02Работает с несколькими провайдерами LLM через единый интерфейс from_provider.
- 03Автоматически повторяет запросы при ошибках валидации и передаёт модели сведения об ошибке.
- 04Передаёт частичные объекты по мере их генерации.
- 05Поддерживает вложенные модели и списки моделей.
Сценарии использования
- Извлечение из произвольного текста таких полей, как имена, даты или цены.
- Преобразование ответов LLM в типизированные данные для дальнейшей обработки в коде приложения.
- Создание конвейеров, которым нужен надёжный JSON от моделей без ручного разбора.
Быстрый старт
- 1
Установите библиотеку с помощью pip
pip install instructor - 2
Создайте клиент для своего провайдера и извлеките модель Pydantic
Что важно знать
- Требуется ключ API или работающий провайдер LLM, например OpenAI или Anthropic, либо локальный сервер Ollama.
Темы
Частые вопросы
- Что такое instructor?
- Библиотека Python для получения от LLM структурированных данных, проверенных с помощью Pydantic, с поддержкой нескольких провайдеров и автоматическими повторами при ошибках валидации. Instructor извлекает из ответов LLM типизированные данные: нужный формат вывода можно задать с помощью модели Pydantic. Вместо того чтобы вручную писать JSON-схемы и разбирать необработанный текст, достаточно передать клиенту response_model — и получить готовый объект Python, прошедший валидацию.
- instructor можно использовать бесплатно? Какая у него лицензия?
- instructor распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- instructor всё ещё поддерживается?
- Активно поддерживается. Последний коммит в instructor — 20 окт. 2026 г..
- Для чего можно использовать instructor?
- Извлечение из произвольного текста таких полей, как имена, даты или цены. Преобразование ответов LLM в типизированные данные для дальнейшей обработки в коде приложения. Создание конвейеров, которым нужен надёжный JSON от моделей без ручного разбора.
- Как установить instructor?
- Установите библиотеку с помощью pip: pip install instructor Создайте клиент для своего провайдера и извлеките модель Pydantic
- Где скачать instructor?
- Исходный код и инструкции по установке — на GitHub: https://github.com/567-labs/instructor
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Быстрая библиотека для сериализации и валидации данных в Python: кодирует и декодирует JSON, MessagePack, YAML и TOML с помощью стандартных аннотаций типов.
SQLModel — библиотека Python для работы с SQL-базами данных через классы Python, построенная на Pydantic и SQLAlchemy и предназначенная для совместного использования с FastAPI.
Python-библиотека, которая ограничивает генерацию LLM, чтобы результат соответствовал заданному типу, регулярному выражению, JSON Schema или грамматике.
Компактное, удобное для чтения представление данных JSON, которое сокращает расход токенов при передаче структурированных данных в промпты LLM.
Python-фреймворк для создания приложений и агентов на базе LLM со стандартными интерфейсами для моделей, эмбеддингов, векторных хранилищ и сторонних интеграций.