pavelpryadokhin/Xak_mts

Мультиагентная LLM-система для поддержки операторов контакт-центра

0

stars

8

commits

Python

primary language

Apr 23, 2025

updated

README

MTS Dialog Processing System

Мультиагентная LLM-система для поддержки операторов контакт-центра представляет собой интегрированное решение, в котором каждый агент реализуется как отдельная цепочка (chain) или модуль, отвечающий за свою задачу

Архитектура системы

Система построена на основе модульной архитектуры с использованием различных специализированных агентов:

  1. Intent Agent - определяет намерение пользователя в диалоге, классифицируя запросы по категориям (тарифы, услуги, проблемы и т.д.). Использует fine-tuned BERT модель, обученную на размеченных диалогах (код обучения в Intent_Agent/train.py).

  2. Emotion Agent - анализирует эмоциональный тон сообщений пользователя, определяя такие состояния как гнев, радость, разочарование, нейтральность. Помогает адаптировать ответы системы под эмоциональное состояние клиента.

  3. Knowledge Agent - извлекает релевантную информацию из базы знаний МТС для ответа на запросы пользователя. Работает с векторной базой данных Qdrant.(База знаний подготавливается с помощью скрипта rag_dataset.py)

  4. Action Suggestion Agent - на основе анализа диалога предлагает оптимальные действия для оператора или автоматической системы (предложение тарифа, эскалация проблемы, подключение услуги).

  5. Summary Agent - автоматически создает структурированное резюме диалога для CRM-системы, выделяя ключевые моменты, проблемы и решения для дальнейшего использования.

  6. Quality Assurance Agent - оценивает качество обработки диалога по различным метрикам: полнота ответа, соответствие политикам компании, эмоциональная адекватность, скорость реакции.

Технологии

  • FastAPI - веб-фреймворк для создания API
  • CrewAI - фреймворк для оркестрации работы агентов
  • PyTorch и Transformers - для работы с моделями NLP
  • BERT - предобученная языковая модель для определения интента
  • RUBERT Emotion Detection - модель для определения эмоций в русском тексте
  • Qdrant - векторная база данных для хранения и поиска эмбеддингов документов

Установка

# Клонирование репозитория
git clone https://github.com/pavelpryadokhin/Xak_mts.git
cd mts-dialog-processing

# Установка зависимостей
pip install -r requirements.txt

# Настройка переменных окружения
cp  .env
# Отредактируйте .env файл для своих нужд

# Разархивирование модели BERT
unzip Intent_Agent/bert_model.zip -d Intent_Agent/

# Запуск векторной базы данных через Docker
docker run -d --name vector-db -p 6333:6333 -p 6334:6334 qdrant/qdrant

Запуск

Единый API для всех агентов (рекомендуемый способ)

python run_crew_api.py

API будет доступен по адресу: http://localhost:8000/

Архитектура CrewAI

Система использует CrewAI для оркестрации работы агентов. Это позволяет:

  1. Последовательное выполнение задач - агенты работают в определенной последовательности, передавая результаты друг другу
  2. Контекстная зависимость - каждый агент получает контекст из результатов работы предыдущих агентов
  3. Отказоустойчивость - система имеет механизм резервного выполнения, если CrewAI недоступен

Пример работы CrewAI:

  1. Intent Agent анализирует диалог и определяет категорию запроса.
  2. Emotion Agent параллельно определяет эмоциональный окрас.
  3. Knowledge Agent, используя результаты Intent Agent, предоставляет информацию по теме запроса.
  4. Action Suggestion Agent, основываясь на интенте и эмоциях, рекомендует действия.
  5. Summary Agent создает краткое резюме всего анализа.(для CRM-системы)
  6. Quality Assurance Agent оценивает соответствие стандартам общения оператора и предлагает корректирующие меры.

Расширение системы

Для добавления нового агента:

  1. Создайте директорию для агента: New_Agent
  2. Имплементируйте логику в inference.py и API в api.py
  3. Интегрируйте агента в crew_manager.py:
    • Добавьте нового агента в метод _setup_crew()
    • Определите задачу для агента
    • Укажите зависимости от других задач
  4. Обновите crew_api.py для добавления нового эндпоинта

Contributors

pavelpryadokhin/Xak_mts

Мультиагентная LLM-система для поддержки операторов контакт-центра

0

stars

8

commits

Python

primary language

Apr 23, 2025

updated

README

MTS Dialog Processing System

Мультиагентная LLM-система для поддержки операторов контакт-центра представляет собой интегрированное решение, в котором каждый агент реализуется как отдельная цепочка (chain) или модуль, отвечающий за свою задачу

Архитектура системы

Система построена на основе модульной архитектуры с использованием различных специализированных агентов:

  1. Intent Agent - определяет намерение пользователя в диалоге, классифицируя запросы по категориям (тарифы, услуги, проблемы и т.д.). Использует fine-tuned BERT модель, обученную на размеченных диалогах (код обучения в Intent_Agent/train.py).

  2. Emotion Agent - анализирует эмоциональный тон сообщений пользователя, определяя такие состояния как гнев, радость, разочарование, нейтральность. Помогает адаптировать ответы системы под эмоциональное состояние клиента.

  3. Knowledge Agent - извлекает релевантную информацию из базы знаний МТС для ответа на запросы пользователя. Работает с векторной базой данных Qdrant.(База знаний подготавливается с помощью скрипта rag_dataset.py)

  4. Action Suggestion Agent - на основе анализа диалога предлагает оптимальные действия для оператора или автоматической системы (предложение тарифа, эскалация проблемы, подключение услуги).

  5. Summary Agent - автоматически создает структурированное резюме диалога для CRM-системы, выделяя ключевые моменты, проблемы и решения для дальнейшего использования.

  6. Quality Assurance Agent - оценивает качество обработки диалога по различным метрикам: полнота ответа, соответствие политикам компании, эмоциональная адекватность, скорость реакции.

Технологии

  • FastAPI - веб-фреймворк для создания API
  • CrewAI - фреймворк для оркестрации работы агентов
  • PyTorch и Transformers - для работы с моделями NLP
  • BERT - предобученная языковая модель для определения интента
  • RUBERT Emotion Detection - модель для определения эмоций в русском тексте
  • Qdrant - векторная база данных для хранения и поиска эмбеддингов документов

Установка

# Клонирование репозитория
git clone https://github.com/pavelpryadokhin/Xak_mts.git
cd mts-dialog-processing

# Установка зависимостей
pip install -r requirements.txt

# Настройка переменных окружения
cp  .env
# Отредактируйте .env файл для своих нужд

# Разархивирование модели BERT
unzip Intent_Agent/bert_model.zip -d Intent_Agent/

# Запуск векторной базы данных через Docker
docker run -d --name vector-db -p 6333:6333 -p 6334:6334 qdrant/qdrant

Запуск

Единый API для всех агентов (рекомендуемый способ)

python run_crew_api.py

API будет доступен по адресу: http://localhost:8000/

Архитектура CrewAI

Система использует CrewAI для оркестрации работы агентов. Это позволяет:

  1. Последовательное выполнение задач - агенты работают в определенной последовательности, передавая результаты друг другу
  2. Контекстная зависимость - каждый агент получает контекст из результатов работы предыдущих агентов
  3. Отказоустойчивость - система имеет механизм резервного выполнения, если CrewAI недоступен

Пример работы CrewAI:

  1. Intent Agent анализирует диалог и определяет категорию запроса.
  2. Emotion Agent параллельно определяет эмоциональный окрас.
  3. Knowledge Agent, используя результаты Intent Agent, предоставляет информацию по теме запроса.
  4. Action Suggestion Agent, основываясь на интенте и эмоциях, рекомендует действия.
  5. Summary Agent создает краткое резюме всего анализа.(для CRM-системы)
  6. Quality Assurance Agent оценивает соответствие стандартам общения оператора и предлагает корректирующие меры.

Расширение системы

Для добавления нового агента:

  1. Создайте директорию для агента: New_Agent
  2. Имплементируйте логику в inference.py и API в api.py
  3. Интегрируйте агента в crew_manager.py:
    • Добавьте нового агента в метод _setup_crew()
    • Определите задачу для агента
    • Укажите зависимости от других задач
  4. Обновите crew_api.py для добавления нового эндпоинта

Contributors

Languages

Python

100.0%