Краткое описание
Этот пост продемонстрирует следующее:
- Как добавить память в агент функций OpenAI в LangChain
- Шаг 1: Установка фреймворков
- Шаг 2. Настройка среды
- Шаг 3. Импорт библиотек
- Шаг 4: Создание базы данных
- Шаг 5: Загрузка базы данных
- Шаг 6. Настройка языковой модели
- Шаг 7: Добавление памяти
- Шаг 8. Инициализация агента
- Шаг 9. Тестирование агента
- Заключение
Как добавить память в агент функций OpenAI в LangChain?
OpenAI — это организация по искусственному интеллекту (ИИ), которая была основана в 2015 году и вначале была некоммерческой организацией. Microsoft инвестирует большие средства с 2020 года, поскольку обработка естественного языка (NLP) с помощью искусственного интеллекта процветает благодаря чат-ботам и языковым моделям.
Создание агентов OpenAI позволяет разработчикам получать более читабельные и точные результаты из Интернета. Добавление памяти агентам позволяет им лучше понимать контекст чата, а также сохранять предыдущие разговоры в своей памяти. Чтобы изучить процесс добавления памяти в агент функций OpenAI в LangChain, просто выполните следующие шаги:
Шаг 1: Установка фреймворков
Прежде всего, установите зависимости LangChain из «langchain-экспериментальный» framework, используя следующий код:
pip установить langchain - экспериментальный
Установите «результаты поиска в Google» модуль для получения результатов поиска с сервера Google:
пип установить гугл - поиск - Результаты
Также установите модуль OpenAI, который можно использовать для построения языковых моделей в LangChain:
pip установить openai
Шаг 2. Настройка среды
После получения модулей настройте среды, используя ключи API из ОпенАИ и СерпAPi Счета:
Импортировать тыИмпортировать получить пропуск
ты. примерно [ 'ОПЕНАЙ_API_KEY' ] '=' получить пропуск. получить пропуск ( «Ключ API OpenAI:» )
ты. примерно [ 'SERPAPI_API_KEY' ] '=' получить пропуск. получить пропуск ( «Ключ API Serpapi:» )
Выполните приведенный выше код, чтобы ввести ключи API для доступа к среде, и нажмите Enter для подтверждения:
Шаг 3. Импорт библиотек
Теперь, когда настройка завершена, используйте зависимости, установленные из LangChain, для импорта необходимых библиотек для сборки памяти и агентов:
из Лангчейна. цепи Импортировать LLMMathChainиз Лангчейна. llms Импортировать ОпенАИ
#получить библиотеку для поиска в Google через Интернет
из Лангчейна. коммунальные услуги Импортировать СерпAPIWrapper
из Лангчейна. коммунальные услуги Импортировать База данных SQL
из langchain_experimental. sql Импортировать SQLDatabaseChain
#получить библиотеку для создания инструментов для инициализация агента
из Лангчейна. агенты Импортировать Тип агента , Инструмент , инициализировать_агент
из Лангчейна. чат_модели Импортировать ЧатOpenAI
Шаг 4: Создание базы данных
Чтобы продолжить работу с этим руководством, нам нужно создать базу данных и подключиться к агенту, чтобы извлечь из нее ответы. Для сборки базы данных необходимо скачать SQLite, используя этот гид и подтвердите установку с помощью следующей команды:
sqlite3Запуск указанной выше команды в Терминал Windows отображает установленную версию SQLite (3.43.2):
После этого просто перейдите в каталог на вашем компьютере, где будет создана и сохранена база данных:
компакт-диск рабочего столакомпакт-диск mydb
sqlite3 Чинук. БД
Пользователь может просто загрузить содержимое базы данных отсюда. связь в каталоге и выполните следующую команду для создания базы данных:
. читать Чинук_Sqlite. sqlВЫБИРАТЬ * ОТ ПРЕДЕЛА исполнителя 10 ;
База данных успешно построена и пользователь может искать в ней данные по различным запросам:
Шаг 5: Загрузка базы данных
После успешного создания базы данных загрузите «.дб» файл в Google Collaboratory, используя следующий код:
из Гугла. И ДРУГИЕ Импортировать файлызагружено '=' файлы. загрузить ( )
Выберите файл из локальной системы, нажав на значок «Выбрать файлы» кнопку после выполнения приведенного выше кода:
После загрузки файла просто скопируйте путь к файлу, который будет использоваться на следующем шаге:
Шаг 6. Настройка языковой модели
Постройте языковую модель, цепочки, инструменты и цепочки, используя следующий код:
лм '=' ЧатOpenAI ( температура '=' 0 , модель '=' 'gpt-3.5-турбо-0613' )поиск '=' СерпAPIWrapper ( )
llm_math_chain '=' LLMMathChain. from_llm ( лм '=' лм , подробный '=' Истинный )
БД '=' SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain '=' SQLDatabaseChain. from_llm ( лм , БД , подробный '=' Истинный )
инструменты '=' [
Инструмент (
имя '=' 'Поиск' ,
функция '=' поиск. бегать ,
описание '=' «Задавайте целевые вопросы, чтобы получить ответы на вопросы о последних событиях» ,
) ,
Инструмент (
имя '=' 'Калькулятор' ,
функция '=' llm_math_chain. бегать ,
описание '=' «полезно для ответа/решения математических задач» ,
) ,
Инструмент (
имя '=' «ФооБар-ДБ» ,
функция '=' db_chain. бегать ,
описание '=' «полезно для ответов на вопросы о FooBar, и ввод должен быть в форме вопроса, содержащего полный контекст» ,
) ,
]
- лм переменная содержит конфигурации языковой модели с помощью метода ChatOpenAI() с именем модели.
- Поиск Переменная содержит метод SerpAPIWrapper() для создания инструментов для агента.
- Постройте llm_math_chain чтобы получить ответы, относящиеся к предметной области «Математика», с помощью метода LLMMathChain().
- Переменная db содержит путь к файлу, содержащему содержимое базы данных. Пользователю необходимо изменить только последнюю часть, которая «содержание/Chinook.db» пути, сохраняя «sqlite:///../../../../../» одинаковый.
- Постройте еще одну цепочку ответов на запросы из базы данных, используя метод db_chain переменная.
- Настройте такие инструменты, как поиск , калькулятор , и FooBar-DB для поиска ответа, ответа на математические вопросы и запросов из базы данных соответственно:
Шаг 7: Добавление памяти
После настройки функций OpenAI просто создайте и добавьте память агенту:
из Лангчейна. подсказки Импортировать СообщенияЗаполнительиз Лангчейна. Память Импортировать РазговорБуферПамять
агент_kwargs '=' {
'extra_prompt_messages' : [ СообщенияЗаполнитель ( имя_переменной '=' 'Память' ) ] ,
}
Память '=' РазговорБуферПамять ( ключ_памяти '=' 'Память' , return_messages '=' Истинный )
Шаг 8. Инициализация агента
Последним компонентом, который необходимо создать и инициализировать, является агент, содержащий все такие компоненты, как лм , инструмент , OPENAI_FUNCTIONS и другие, которые будут использоваться в этом процессе:
агент '=' инициализировать_агент (инструменты ,
лм ,
агент '=' Тип Агента. OPENAI_FUNCTIONS ,
подробный '=' Истинный ,
агент_kwargs '=' агент_kwargs ,
Память '=' Память ,
)
Шаг 9. Тестирование агента
Наконец, протестируйте агента, запустив чат с помощью команды « привет ' сообщение:
агент. бегать ( 'привет' )
Добавьте в память некоторую информацию, запустив с ней агент:
агент. бегать ( «Меня зовут Джон Сноу» )
Теперь проверьте память, задав вопрос о предыдущем чате:
агент. бегать ( 'Как меня зовут' )Агент ответил именем, полученным из памяти, поэтому память успешно работает с агентом:
На данный момент это все.
Заключение
Чтобы добавить память агенту функций OpenAI в LangChain, установите модули, чтобы получить зависимости для импорта библиотек. После этого просто создайте базу данных и загрузите ее в блокнот Python, чтобы ее можно было использовать с моделью. Настройте модель, инструменты, цепочки и базу данных перед их добавлением в агент и инициализируйте его. Прежде чем тестировать память, создайте ее с помощью ConversationalBufferMemory() и добавьте ее в агент перед тестированием. В этом руководстве подробно описано, как добавить память в агент функций OpenAI в LangChain.