Repolode
explosion

explosion/spacy-llm

Расширение spaCy, которое добавляет большие языковые модели в структурированные NLP-пайплайны для задач вроде NER и классификации текста — без обучающих данных.

Звёзды
1,398
Форки
112
Открытые issues
50
Последний коммит
24 дня назад

Что это?

spacy-llm интегрирует большие языковые модели в spaCy и позволяет добавлять компоненты на базе LLM в обычный пайплайн spaCy. Каждый компонент объединяет задачу (шаблон промпта и парсер, преобразующий свободный текстовый ответ модели в структурированный результат) и бэкенд модели, поэтому результаты попадают в стандартные поля spaCy, например doc.ents или doc.cats.

В пакете есть встроенные задачи для распознавания именованных сущностей, классификации текста, лемматизации, извлечения отношений, анализа тональности, категоризации фрагментов текста, суммаризации, связывания сущностей и перевода, а также режим для произвольных промптов. Среди бэкендов — OpenAI, Cohere, Anthropic, Google PaLM и Azure AI, а также модели с открытым исходным кодом, размещённые на Hugging Face, например Falcon, Dolly, Llama 2, Mistral и StableLM. Пайплайны можно описывать в системе конфигурации spaCy и сериализовать, а собственные задачи и модели — регистрировать через реестр spaCy.

Проект рассчитан на быстрое прототипирование: можно начать с промптов без размеченных данных, а по мере развития проекта комбинировать компоненты LLM с обучаемыми моделями spaCy или заменять ими компоненты LLM. Пакет помечен как экспериментальный, поэтому интерфейсы могут меняться в минорных релизах.

Ключевые возможности

  • 01Сериализуемый компонент llm, который добавляет в пайплайн spaCy шаги на основе промптов.
  • 02Модульные функции задач и моделей, в том числе пользовательские, зарегистрированные через реестр spaCy.
  • 03Поддержка API OpenAI, Cohere, Anthropic, Google PaLM и Azure AI.
  • 04Запуск моделей с открытым исходным кодом с Hugging Face, например Llama 2, Mistral и Falcon.
  • 05Встроенные задачи для NER, классификации текста, извлечения отношений, суммаризации и других задач.
  • 06Обработка по схеме map-reduce для входных данных, которые превышают размер контекстного окна LLM.

Сценарии использования

  • Прототипирование шага NER или классификации текста до сбора размеченных обучающих данных.
  • Объединение компонентов на базе LLM с правилами или обучаемыми компонентами spaCy в одном пайплайне.
  • Извлечение структурированных полей из неструктурированного текста с помощью размещённой в облаке или локальной LLM с открытым исходным кодом.

Быстрый старт

  1. 1

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

    python -m pip install spacy-llm
  2. 2

    Создайте ключ API OpenAI и задайте его как переменную окружения

  3. 3

    Запустите классификацию текста в Python с помощью фабрики llm_textcat

Что важно знать

  • Проект всё ещё находится на экспериментальной стадии, поэтому изменения интерфейса могут нарушить работу при обновлении минорной версии.
  • Для большинства встроенных моделей нужен ключ API платного провайдера, например OpenAI, или размещённая LLM.

Темы

Частые вопросы

Что такое spacy-llm?
Расширение spaCy, которое добавляет большие языковые модели в структурированные NLP-пайплайны для задач вроде NER и классификации текста — без обучающих данных. spacy-llm интегрирует большие языковые модели в spaCy и позволяет добавлять компоненты на базе LLM в обычный пайплайн spaCy. Каждый компонент объединяет задачу (шаблон промпта и парсер, преобразующий свободный текстовый ответ модели в структурированный результат) и бэкенд модели, поэтому результаты попадают в стандартные поля spaCy, например doc.ents или doc.cats.
spacy-llm можно использовать бесплатно? Какая у него лицензия?
spacy-llm распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
spacy-llm всё ещё поддерживается?
Активно поддерживается. Последний коммит в spacy-llm — 27 сент. 2026 г..
Для чего можно использовать spacy-llm?
Прототипирование шага NER или классификации текста до сбора размеченных обучающих данных. Объединение компонентов на базе LLM с правилами или обучаемыми компонентами spaCy в одном пайплайне. Извлечение структурированных полей из неструктурированного текста с помощью размещённой в облаке или локальной LLM с открытым исходным кодом.
Как установить spacy-llm?
Установите пакет с помощью pip: python -m pip install spacy-llm Создайте ключ API OpenAI и задайте его как переменную окружения Запустите классификацию текста в Python с помощью фабрики llm_textcat
Где скачать spacy-llm?
Исходный код и инструкции по установке — на GitHub: https://github.com/explosion/spacy-llm

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

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