Как использовать парсер структурированного вывода в LangChain?

Kak Ispol Zovat Parser Strukturirovannogo Vyvoda V Langchain



LangChain — это платформа для создания моделей чата и LLM для получения информации из набора данных или Интернета с использованием среды OpenAI. Анализатор структурированного вывода используется для получения нескольких полей или ответов, таких как фактический ответ, а также некоторой дополнительной связанной информации. Библиотеки синтаксического анализатора вывода можно использовать с LangChain для извлечения данных с использованием моделей, созданных в виде LLM или моделей чата.

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







Как использовать парсер структурированного вывода в LangChain?

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



Шаг 1. Установите необходимые компоненты



Начните процесс с установки платформы LangChain, если она еще не установлена ​​в вашей среде Python:





пункт установить Лангчейн



Установите фреймворк OpenAI, чтобы получить доступ к его методам для создания парсера в LangChain:

пункт установить опенай

После этого просто подключитесь к среде OpenAI, используя ее ключ API, чтобы получить доступ к ее среде, используя « ты » и предоставить ключ API, используя « получить пропуск » библиотека:

импортируйте нас
импортировать getpass

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( «Ключ API OpenAI:» )

Шаг 2. Постройте схему вывода/ответа

После подключения к OpenAI просто импортируйте библиотеки, чтобы построить схему для генерации выходных данных:

из langchain.output_parsers импортировать StructuredOutputParser, ResponseSchema
из langchain.prompts import PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
из langchain.llms импортировать OpenAI
из langchain.chat_models импортировать ChatOpenAI

Укажите схему ответа в соответствии с требованием, чтобы модель генерировала ответ соответствующим образом:

ответ_схемы = [
Схема ответа ( имя '=' 'отвечать' , описание '=' 'ответ на запрос' ) ,
Схема ответа ( имя '=' 'источник' , описание '=' «источник веб-сайта, который используется для получения ответа» )
]
output_parser = StructuredOutputParser.from_response_schemas ( response_schemas )

Шаг 3. Форматирование шаблона

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

format_instructions = output_parser.get_format_instructions ( )
подсказка = PromptTemplate (
шаблон '=' «Ответить на вопрос пользователя. \п {шаблон} \п {запрос}' ,
входные_переменные '=' [ 'запрос' ] ,
частичные_переменные '=' { 'шаблон' : format_instructions }
)

Способ 1: использование языковой модели

После настройки шаблонов формата вопросов и ответов просто постройте модель с помощью функции OpenAI():

модель = OpenAI ( температура '=' 0 )

Установите подсказку в поле « запрос » переменную и передать ее в format_prompt() функционировать в качестве входных данных, а затем сохранить ответ в « выход ' переменная:

_input = Prompt.format_prompt ( запрос '=' «сколько континентов в мире» )
выход = модель ( _input.to_string ( ) )

Позвоните в анализ() функция с выходной переменной в качестве аргумента, чтобы получить ответ от модели:

output_parser.parse ( выход )

Выходной парсер получает ответ на запрос и отображает подробный ответ со ссылкой на страницу веб-сайта, с которой получен ответ:

Способ 2: использование модели чата

Чтобы получить результаты от парсера вывода в LangChain, используйте чат_модель переменная ниже:

chat_model = ChatOpenAI ( температура '=' 0 )

Чтобы понять приглашение, настройте шаблон приглашения для модели чата. Затем сгенерируйте ответ в соответствии с входными данными:

подсказка = ChatPromptTemplate (
Сообщения '=' [
HumanMessagePromptTemplate.from_template ( «Ответить на вопрос пользователя. \п {format_instructions} \п {запрос}' )
] ,
входные_переменные '=' [ 'запрос' ] ,
частичные_переменные '=' { 'format_instructions' : format_instructions }
)

После этого просто введите данные в поле « запрос » переменную, а затем передать ее в чат_модель() функция для получения выходных данных модели:

_input = Prompt.format_prompt ( запрос '=' «США выступает за» )
вывод = модель_чата ( _input.to_messages ( ) )

Чтобы получить ответ от модели чата, используйте output_parser, который хранит результат из « выход ' переменная:

output_parser.parse ( вывод.контент )

Модель чата отображала ответ на запрос и имя веб-сайта, который используется для получения ответа из Интернета:

Это все, что касается использования парсера структурированного вывода в LangChain.

Заключение

Чтобы использовать парсер структурированного вывода в LangChain, просто установите модули LangChain и OpenAI, чтобы начать процесс. После этого подключитесь к среде OpenAI, используя ее ключ API, а затем настройте шаблоны приглашений и ответов для модели. Выходной анализатор можно использовать как с языковой моделью, так и с моделью чата. В этом руководстве объясняется использование синтаксического анализатора вывода обоими методами.