<НА ГЛАВНУЮ

Создание агента в стиле REACT с Fireworks AI и LangChain для получения данных, генерации SQL и поддержки памяти диалога

Руководство по созданию агента в стиле REACT с Fireworks AI и LangChain, способного получать веб-данные, генерировать SQL-запросы и сохранять контекст диалога для сложных задач.

Настройка окружения и инструментов

В этом руководстве показано, как создать интеллектуального агента в стиле REACT с использованием Fireworks AI и LangChain. Начинаем с установки необходимых пакетов: langchain, langchain-fireworks, requests и beautifulsoup4, чтобы обеспечить правильную работу всего кода.

Импорт необходимых библиотек

Подключаем важные модули: HTTP-клиенты (requests, BeautifulSoup), фреймворк агентов LangChain (BaseTool, initialize_agent, AgentType), мощную языковую модель Fireworks (ChatFireworks), а также инструменты для работы с подсказками и памятью диалога (LLMChain, PromptTemplate, ConversationBufferMemory). Для безопасного ввода и управления переменными окружения используются стандартные модули Python (getpass, os).

Конфигурация API ключа

При запуске вы вводите свой API ключ Fireworks через getpass — это сохраняет ключ в переменных окружения без отображения текста, обеспечивая безопасность.

Инициализация модели Fireworks

Создаётся экземпляр ChatFireworks с моделью llama-v3-70b-instruct, настроенной с конкретной температурой и максимальным количеством токенов, готовый к обработке инструкций.

Пример: анализ тональности

Формируется запрос для анализа тональности отзыва о фильме, который передаётся в модель. Результат — оценка настроения — выводится на экран.

Реализация памяти диалога

Определяется шаблон подсказки, включающий историю сообщений, создаётся буфер памяти для сохранения диалога, и строится цепочка LLMChain. Это позволяет модели сохранять контекст между запросами, что демонстрируется на примерах ввода и ответа.

Определение пользовательских инструментов

Создаются два инструмента, наследующие BaseTool:

  • FetchURLTool: скачивает первые пять параграфов текста с веб-страницы с помощью requests и BeautifulSoup.

  • GenerateSQLTool: преобразует текстовые описания в прокомментированные SQL-запросы для BigQuery с помощью модели Fireworks.

Интеграция инструментов в агента REACT

Инструменты регистрируются и интегрируются с фреймворком LangChain через initialize_agent с типом агента ZERO_SHOT_REACT_DESCRIPTION. Это позволяет динамически использовать инструменты во время диалога.

Запуск агента

Пример запроса показывает, как агент сначала получает содержимое страницы Википедии, а затем генерирует SQL-запрос, подсчитывающий, сколько раз слово «model» встречается в тексте. Итоговый SQL выводится на экран.

Расширение возможностей

Такое решение открывает широкие возможности для создания AI-приложений, выходящих за рамки простой генерации текста. Можно добавлять специализированные инструменты, настраивать подсказки, улучшать память диалога, а также использовать функции вызова, цепочку агентов и векторный поиск для создания более сложных и контекстно-зависимых помощников.

Дополнительные материалы

Полный ноутбук с реализацией доступен для изучения. Следите за обновлениями в Twitter, присоединяйтесь к Telegram-каналу и группе LinkedIn, а также участвуйте в виртуальной конференции miniCON по AGENTIC AI с практическими занятиями и сертификатами.

🇬🇧

Switch Language

Read this article in English

Switch to English