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-файлов.

Быстрый старт

Чтобы запустить проект, следуй инструкции:

  1. Клонировать репозиторий:
    git clone https://github.com/lhh737/LangChain-ReAct-Agent.git
    cd LangChain-ReAct-Agent
  2. Установить зависимости:
    pip install -r requirements.txt
  3. Настроить API ключ:
    # Linux / macOS
    export DASHSCOPE_API_KEY="your-api-key"
    
    # Windows (CMD)
    set DASHSCOPE_API_KEY=your-api-key
  4. Инициализировать базу знаний (при первом запуске):
    python -c "from rag.vector_store import VectorStoreService; VectorStoreService().load_document()"
  5. Запустить приложение:
    streamlit run app.py
  6. Проверить работу: В браузере откроется интерфейс на **http://localhost:8501**, где ты можешь тестировать систему вопросами.

Архитектура и технологии

Система построена с использованием следующих технологий:

  • LLM: DashScope и ChatTongyi.
  • Фреймворк агента: LangChain и LangGraph.
  • Векторная база данных: Chroma.
  • Обработка документов: PyPDF и RecursiveCharacterTextSplitter.
  • Фронтенд: Streamlit.
  • Конфигурация: Управляется через YAML-файлы.

Ограничения

Основные ограничения проекта заключаются в необходимости наличия ключа API DashScope для работы с функционалом, а также в том, что проект требует поддержки Python версии 3.10 или выше. Пользовательская база знаний должна быть предварительно подготовлена и загружена в систему для корректной работы, и в текущем варианте необходимо обеспечивать наличие документации на конкретные темы, такие как функционал робота-пылесоса.

Открыть на GitHub: lhh737/LangChain-ReAct-Agent →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте