Как использовать выбор по максимальной предельной релевантности (MMR) в LangChain?

Kak Ispol Zovat Vybor Po Maksimal Noj Predel Noj Relevantnosti Mmr V Langchain



LangChain — это модуль, который можно использовать для построения языковых моделей для взаимодействия с людьми на естественных языках. Люди предоставляют подсказку в текстовой форме, а модель использует пример селектора для извлечения выходных данных с помощью запроса. Селекторы примеров используются для получения выходных данных на основе входных данных путем выбора наиболее близкого к запросу или подсказке примера.

В этом руководстве будет проиллюстрирован процесс использования примера выбора по максимальной маржинальной релевантности в LangChain.

Как использовать выбор по максимальной предельной релевантности (MMR) в LangChain?

Селектор примеров «Максимальная маргинальная релевантность» используется для извлечения информации с использованием косинусного подобия подсказки и примера. Косинусное сходство рассчитывается после применения к данным методов внедрения и преобразования текста в числовую форму.







Чтобы изучить процесс использования селектора примеров MMR в LangChain, просто выполните перечисленные шаги:



Шаг 1. Установите модули



Запустите процесс, установив зависимости LangChain с помощью команды pip:





pip установить langchain

Установите модуль OpenAI, чтобы использовать его среду для применения метода OpenAIEmbedding():



pip установить openai

Установите платформу FAISS, которую можно использовать для получения результатов с использованием семантического сходства:

pip установить faiss-gpu

Теперь установите токенизатор tiktoken для разделения текста на более мелкие фрагменты, используя следующий код:

pip установить тиктокен

Шаг 2. Использование библиотек и примеров

Следующим шагом является импорт библиотек для создания примера селектора MMR: FAISS, OpenAIEmbeddings и PromptTemplate. После импорта библиотек просто создайте набор примеров, который предоставляет входные и выходные данные для соответствующих входных данных в нескольких массивах:

от лангчейн. подсказки . example_selector Импортировать (
MaxMarginalRelevanceExampleSelector ,
Семантическое сходствоExampleSelector ,
)
от лангчейн. вектормагазины Импортировать ФАИСС
от лангчейн. вложения Импортировать OpenAIEmbeddings
от лангчейн. подсказки Импортировать Шаблон FewShotPrompt , Шаблон приглашения

example_prompt '=' Шаблон приглашения (
входные_переменные '=' [ 'вход' , 'выход' ] ,
шаблон '=' 'Ввод: {вход} \п Выход: {выход}' ,
)

Примеры '=' [
{ 'вход' : 'счастливый' , 'выход' : 'грустный' } ,
{ 'вход' : 'высокий' , 'выход' : 'короткий' } ,
{ 'вход' : 'энергичный' , 'выход' : 'вялый' } ,
{ 'вход' : 'Солнечный' , 'выход' : 'хмурый' } ,
{ 'вход' : 'ветреный' , 'выход' : 'спокойствие' } ,
]

Шаг 3: Выбор примера сборки

Теперь начните создавать селектор примера MMR, используя метод MaxMarginalRelevanceExampleSelector(), содержащий различные параметры:

example_selector '=' MaxMarginalRelevanceExampleSelector. from_examples (
Примеры ,
OpenAIEmbeddings ( ) ,
ФАИСС ,
к '=' 2 ,
)
mmr_prompt '=' Шаблон FewShotPrompt (
example_selector '=' example_selector ,
example_prompt '=' example_prompt ,
префикс '=' «Назовите антоним каждого ввода» ,
суффикс '=' «Ввод: {прилагательное} \п Выход:' ,
входные_переменные '=' [ 'прилагательное' ] ,
)

Шаг 4. Тестирование селектора примеров MMR

Проверьте пример селектора MMR с максимальной маржинальной релевантностью, вызвав его в методе print() со входными данными:

Распечатать ( mmr_prompt. формат ( прилагательное '=' 'волновался' ) )

Шаг 5: Использование SemanticSimilarity

На этом шаге используется метод SemanticSimilarityExampleSelector(), а затем метод FewShotPromptTemplate(), поддерживаемый LangChain:

example_selector '=' SemanticSimilarityExampleSelector. from_examples (
Примеры ,
OpenAIEmbeddings ( ) ,
ФАИСС ,
к '=' 2 ,
)
подобный_подсказка '=' Шаблон FewShotPrompt (
example_selector '=' example_selector ,
example_prompt '=' example_prompt ,
префикс '=' «Назовите антоним каждого ввода» ,
суффикс '=' «Ввод: {прилагательное} \п Выход:' ,
входные_переменные '=' [ 'прилагательное' ] ,
)
Распечатать ( аналогичный_подсказка. формат ( прилагательное '=' 'волновался' ) )

Вот и все, что касается использования выбора по максимальной маржинальной релевантности или MMR в LangChain.

Заключение

Чтобы использовать выбор по максимальной маржинальной релевантности или селектор примеров MMR в LangChain, установите необходимые модули. После этого импортируйте библиотеки, чтобы создать набор примеров, используя шаблон приглашения ввода и вывода. Создайте пример селектора MMR, чтобы протестировать его, используя пример селектора MMR и метод FewShotPromptTemplate(), чтобы получить соответствующие выходные данные. В этом руководстве проиллюстрирован процесс использования примера селектора выбора по MMR в LangChain.