Краткое описание
Этот пост продемонстрирует следующее:
Что такое агенты в обработке естественного языка (NLP)
Начало работы с агентами в LangChain
- Установка фреймворков
- Настройка модели чата
- Строительный агент
- Вызов агента
- Настройка инструментов агента
- Тестирование агента
Что такое агенты в обработке естественного языка (NLP)?
Агенты являются жизненно важными компонентами приложения естественного языка и используют функцию распознавания естественного языка (NLU) для понимания запросов. Эти агенты представляют собой программы, которые действуют как шаблон диалога для взаимодействия с людьми с использованием последовательности задач. Агенты используют несколько инструментов, которые агент может вызывать для выполнения нескольких действий или указания следующей задачи для выполнения.
Начало работы с агентами в LangChain
Начните процесс создания агентов для общения с людьми, извлекая выходные данные с помощью агентов в LangChain. Чтобы изучить процесс начала работы с агентами в LangChain, просто выполните следующие шаги:
Шаг 1: Установка фреймворков
Сначала начните с процесса установки платформы LangChain, используя « пункт ” для получения необходимых зависимостей для использования агентов:
pip установить langchain
Установите модуль OpenAI для сборки LLM и используйте его для настройки агентов в LangChain:
pip установить openai
Настройте среду для модуля OpenAI, используя его ключ API от учетной записи, выполнив следующий код:
Импортировать тыИмпортировать получить пропуск
ты . примерно [ 'ОПЕНАЙ_API_KEY' ] '=' получить пропуск . получить пропуск ( «Ключ API OpenAI:» )
Шаг 2. Настройка модели чата
Импортируйте модуль ChatOpenAI из LangChain, чтобы создать LLM, используя его функцию:
от лангчейн. чат_модели Импортировать ЧатOpenAIлм '=' ЧатOpenAI ( температура '=' 0 )
Импортируйте инструменты для агента, чтобы настроить задачи или действия, которые должен выполнить агент. Следующий код использует метод get_word_length() для получения длины слова, предоставленного пользователем:
от лангчейн. агенты Импортировать инструмент@ инструмент
защита get_word_length ( слово: ул. ) - > интервал :
'''получение длины слова'''
возвращаться только ( слово )
инструменты '=' [ get_word_length ]
Настройте шаблон или структуру модели чата, чтобы создать интерфейс для чата:
от лангчейн. подсказки Импортировать ЧатПодсказкаШаблон , СообщенияЗаполнительбыстрый '=' Шаблон чат-подсказки. from_messages ( [
( 'система' , «Ваш помощник потрясающий, но ему нужно усовершенствоваться в расчете длин» ) ,
( 'пользователь' , '{вход}' ) ,
СообщенияЗаполнитель ( имя_переменной '=' 'agent_scratchpad' ) ,
] )
Шаг 3: Строительный агент
Импортируйте библиотеку инструментов для построения LLM с помощью инструментов с использованием функций OpenAI из модуля LangChain:
от лангчейн. инструменты . оказывать Импортировать format_tool_to_openai_functionllm_with_tools '=' лм. связывать (
функции '=' [ format_tool_to_openai_function ( т ) для т в инструменты ]
)
Настройте агент с помощью агента функции OpenAI, чтобы он использовал синтаксический анализатор вывода для установки последовательностей действий/задач:
от лангчейн. агенты . format_scratchpad Импортировать format_to_openai_functionsот лангчейн. агенты . выходные_парсеры Импортировать OpenAIFunctionsAgentOutputParser
агент '=' {
'вход' : лямбда х: х [ 'вход' ] ,
'agent_scratchpad' : лямбда x: format_to_openai_functions ( Икс [ 'промежуточные_шаги' ] )
} | подсказать | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )
Шаг 4. Вызов агента
На следующем шаге используется функция вызова() для вызова агента с использованием аргументов input и промежуточных_шагов:
агент. вызывать ( {'вход' : «сколько букв в слове хорошо» ,
'промежуточные_шаги' : [ ]
} )
Шаг 5. Настройка инструментов агента
После этого просто импортируйте библиотеку AgentFinish, чтобы настроить промежуточные_шаги, объединив все шаги в последовательность для завершения действия:
от лангчейн. схема . агент Импортировать AgentFinishпромежуточные_шаги '=' [ ]
пока Истинный :
выход '=' агент. вызывать ( {
'вход' : «письма в добре» ,
'промежуточные_шаги' : промежуточные_шаги
} )
если isinstance ( выход , AgentFinish ) :
конечный результат '=' выход. возвращаемые_значения [ 'выход' ]
перерыв
еще :
Распечатать ( выход. инструмент , выход. инструмент_вход )
инструмент '=' {
'get_word_length' : get_word_length
} [ выход. инструмент ]
наблюдение '=' инструмент. бегать ( выход. инструмент_вход )
промежуточные_шаги. добавить ( ( выход , наблюдение ) )
Распечатать ( конечный результат )
Шаг 6. Тестирование агента
Теперь запустите агент, вызвав метод AgentExecutor() после импорта его библиотеки из LangChain:
от лангчейн. агенты Импортировать АгентИсполнительагент_исполнитель '=' АгентИсполнитель ( агент '=' агент , инструменты '=' инструменты , подробный '=' Истинный )
В конце вызовите агент_executor с входным аргументом, чтобы ввести запрос для агента:
агент_исполнитель. вызывать ( { 'вход' : «сколько букв в слове хорошо» } )После завершения цепочки агент отобразил ответ на вопрос, указанный во входном аргументе:
Это все, что касается начала работы с агентами в рамках LangChain.
Заключение
Чтобы начать работу с агентами в LangChain, просто установите модули, необходимые для настройки среды, с помощью ключа API OpenAI. После этого настройте модель чата, задав шаблон подсказки для построения агента с последовательностью промежуточных шагов. После настройки агента просто создайте инструменты, указав задачи после предоставления пользователю входной строки. В этом блоге продемонстрирован процесс использования агентов в LangChain.