Repolode
567-labs

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. 1

    Установите библиотеку с помощью pip

    pip install instructor
  2. 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 обновляется ежедневно.

Похожие проекты