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