Этот пакет интегрирует большие языковые модели (LLMS) в Spacy, включающую модульную систему для быстрого прототипирования и подсказки , а также превращение неструктурированных ответов в надежные результаты для различных задач NLP, не требуется обучающие данные .
llm
-компонент для интеграции подсказок в ваш трубопровод Spacylangchain
можно использовать в spacy-llm
Крупные языковые модели (LLMS) имеют мощные возможности для понимания естественного языка. С лишь несколькими (а иногда нет) примерами, можно предложить LLM для выполнения пользовательских задач NLP, таких как категоризация текста, распознавание объектов, разрешение Coreference, извлечение информации и многое другое.
Spacy-это хорошо известная библиотека для строительных систем, которая должна работать с языком по-разному. Встроенные компоненты Spacy, как правило, основаны на подходах к контролируемому обучению или на основе правил.
Наблюдение за обучением намного хуже, чем подсказка LLM для прототипирования, но для многих задач оно намного лучше для производства. Модель трансформатора, которая комфортно работает на одном графическом процессоре, чрезвычайно мощная, и, вероятно, это будет лучшим выбором для любой задачи, для которой у вас есть четко определенная выход. Вы тренируете модель с чем -то от нескольких сотен до нескольких тысяч маркированных примеров, и она научится делать именно это. Эффективность, надежность и контроль все лучше с контролируемым обучением, а точность, как правило, также будет выше, чем подсказка LLM.
spacy-llm
позволяет вам получить лучшее из обоих миров . Вы можете быстро инициализировать трубопровод с компонентами, включенными в подсказки LLM, и свободно перемешать в компонентах, включенных в силу других подходов. По мере продвижения вашего проекта вы можете посмотреть на замену некоторых или всех компонентов LLM, которые вам требуются.
Конечно, в вашей системе могут быть компоненты, для которых сила LLM полностью оправдана. Если вам нужна система, которая может синтезировать информацию из нескольких документов тонкими способами и генерировать нюансированную резюме для вас, больше, лучше. Однако, даже если ваша производственная система нуждается в LLM для некоторой задачи, это не означает, что вам нужен LLM для всего этого. Может быть, вы хотите использовать дешевую модель классификации текста, чтобы помочь вам найти тексты для суммирования, или, возможно, вы хотите добавить систему на основе правил в здравомыслие, чтобы проверить вывод резюме. Эти задачи до и после гораздо проще с зрелой и хорошо продуманной библиотекой, которая именно то, что предоставляет Spacy.
spacy-llm
будет установлен автоматически в будущих версиях Spacy. На данный момент вы можете запустить следующее в той же виртуальной среде, где у вас уже установлен spacy
.
python -m pip install spacy-llm
️ Этот пакет по -прежнему экспериментальный, и возможно, что изменения, внесенные в интерфейс, будут разбиты в незначительных обновлениях версий.
Давайте запустим некоторую классификацию текста, используя модель GPT от OpenAI.
Создайте новый ключ API от openai.com или принесите существующий, и убедитесь, что клавиши установлены в качестве переменных окружающей среды. Для получения дополнительной информации см. Документацию о настройке клавиш API.
Чтобы провести быстрые эксперименты, с 0.5.0 вы можете запустить:
import spacy
nlp = spacy . blank ( "en" )
llm = nlp . add_pipe ( "llm_textcat" )
llm . add_label ( "INSULT" )
llm . add_label ( "COMPLIMENT" )
doc = nlp ( "You look gorgeous!" )
print ( doc . cats )
# {"COMPLIMENT": 1.0, "INSULT": 0.0}
Используя фабрику llm_textcat
, используется последняя версия встроенной задачи TextCat, а также модель GPT-3-5 по умолчанию от OpenAI.
Чтобы управлять различными параметрами трубопровода llm
, мы можем использовать систему конфигурации Spacy. Для запуска создайте файл конфигурации config.cfg
содержащий хотя бы следующее (или см. В полном примере здесь):
[nlp]
lang = " en "
pipeline = [ " llm " ]
[components]
[components.llm]
factory = " llm "
[components.llm.task]
@ llm_tasks = " spacy.TextCat.v3 "
labels = [ " COMPLIMENT " , " INSULT " ]
[components.llm.model]
@ llm_models = " spacy.GPT-4.v2 "
Теперь беги:
from spacy_llm . util import assemble
nlp = assemble ( "config.cfg" )
doc = nlp ( "You look gorgeous!" )
print ( doc . cats )
# {"COMPLIMENT": 1.0, "INSULT": 0.0}
Вот и все! Есть много других функций-быстрое шаблон, больше задач, ведение журнала и т. Д. Для получения дополнительной информации о том, как их использовать, ознакомьтесь с https://spacy.io/api/large-language-models.
В ближайшем будущем мы будем
PR всегда приветствуются!
Если у вас есть вопросы, касающиеся использования spacy-llm
, или вы хотите дать нам отзыв после того, как он повернул, используйте доску для обсуждения. Отчеты об ошибках могут быть поданы на трекер выпуска Spacy. Спасибо!
Пожалуйста, обратитесь к нашему руководству по миграции.