LangChain ReAct Agent: автоматизация обслуживания клиентов с использованием RAG
LangChain ReAct Agent — это интеллектуальная система обслуживания клиентов, построенная на основе LangChain и LangGraph, с поддержкой RAG, вызовов инструментов и интерфейса Streamlit. Проект позволяет автоматизировать ответы на запросы пользователей и генерировать отчеты, определяя тип задания на основе намерения пользователя.
Система ориентирована на сценарии автоматизированного обслуживания, например, для чат-ботов или VR-роботов. В отличие от обычных чат-ботов, ReAct Agent осуществляет динамическое переключение между инструментами в зависимости от встраиваемого контекста и предоставляет пользователю информацию о процессе выполнения задачи в реальном времени через интерфейс Streamlit.
Проект написан на Python 3.10 и требует установок LangChain и LangGraph. Запуск осуществляется через Streamlit. Обратите внимание, что это демонстрационная версия, и некоторые функции могут быть ещё в разработке или не до конца отлажены.
Проект **LangChain ReAct Agent** представляет собой систему интеллектуального обслуживания клиентов, основанную на парадигме ReAct (Reasoning + Acting). Она объединяет функциональности RAG (retrieval-augmented generation) и многократного вызова инструментов, а также предоставляет пользовательский интерфейс на базе Streamlit. Основная цель этой системы — автоматически определять тип задач (например, вопросы-ответы или генерация отчетов) в зависимости от намерений пользователя и эффективно использовать соответствующие инструменты и базы знаний для выполнения запросов.
Функционал системы
Основные особенности проекта включают:
- Реализация ReAct парадигмы: цикл мыслей (Thought) и действия (Action), где агент самостоятельно принимает решения о вызове определенных инструментов.
- Улучшенная функциональность RAG: использует векторную базу данных Chroma и предоставляет поддержку загрузки документов в формате txt и pdf.
- Многократный вызов инструментов: агент самостоятельно выбирает, какие инструменты и данные использовать для запроса, включая проверку погоды и генерацию отчетов.
- Динамическое переключение подсказок: система автоматически переключается между разными шаблонами в зависимости от контекста выполнения задания.
- Интерфейс на основе Streamlit: обеспечивает потоковый вывод сообщений и отображение процесса размышления агента в реальном времени.
- Модульная структура: проект разделен на независимые модули, которые можно настраивать при помощи YAML-файлов.
Быстрый старт
Чтобы запустить проект, следуй инструкции:
- Клонировать репозиторий:
git clone https://github.com/lhh737/LangChain-ReAct-Agent.git cd LangChain-ReAct-Agent - Установить зависимости:
pip install -r requirements.txt - Настроить API ключ:
# Linux / macOS export DASHSCOPE_API_KEY="your-api-key" # Windows (CMD) set DASHSCOPE_API_KEY=your-api-key - Инициализировать базу знаний (при первом запуске):
python -c "from rag.vector_store import VectorStoreService; VectorStoreService().load_document()" - Запустить приложение:
streamlit run app.py - Проверить работу: В браузере откроется интерфейс на **http://localhost:8501**, где ты можешь тестировать систему вопросами.
Архитектура и технологии
Система построена с использованием следующих технологий:
- LLM: DashScope и ChatTongyi.
- Фреймворк агента: LangChain и LangGraph.
- Векторная база данных: Chroma.
- Обработка документов: PyPDF и RecursiveCharacterTextSplitter.
- Фронтенд: Streamlit.
- Конфигурация: Управляется через YAML-файлы.
Ограничения
Основные ограничения проекта заключаются в необходимости наличия ключа API DashScope для работы с функционалом, а также в том, что проект требует поддержки Python версии 3.10 или выше. Пользовательская база знаний должна быть предварительно подготовлена и загружена в систему для корректной работы, и в текущем варианте необходимо обеспечивать наличие документации на конкретные темы, такие как функционал робота-пылесоса.
Открыть на GitHub: lhh737/LangChain-ReAct-Agent →
RepoRadar