В этом руководстве будет проиллюстрирован процесс использования примера выбора по максимальной маржинальной релевантности в 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.