Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Support Filter AI Agent

ИИ-агент для классификации сообщений пользователей и автоматической обработки:

  • Вопросы — обрабатываются с помощью RAG
  • Запросы — изменяют данные пользователя
  • Жалобы — сохраняются в файл

📋 Структура проекта

support_filter_bot/
├── app
│   ├── action_handler.py
│   ├── classifier.py
│   ├── main.py
│   └── rag_handler.py
├── data
│   ├── complaints
│   │   └── complaint_123_1754324076.json
│   ├── qa_pairs.json
│   └── users.json
├── pyproject.toml
├── qdrant_storage
├── README.md
├── requirements.txt
├── train
│   ├── fine_tuned_classifier
│   ├── results
│   ├── train_classifier.py
│   └── train_data
│       └── training_data.json
└── uv.lock

🛠️ Подробная инструкция по запуску

Шаг 1: Установка зависимостей

# Если есть uv
uv pip install

# Иначе
pip install -r requirements.txt

Шаг 2: Первый запуск

# Если есть uv
uv run train/train_classifier.py # Для обучения модели и сохранения весов 
uv run app/main.py # Запуск скрипта

# Иначе
python train/train_classifier.py
python app/main.py

При первом запуске:

  1. Инициализируется база Qdrant с вопросами
  2. Загружается классификатор
  3. Предлагается ввести сообщение для тестирования

Шаг 3: Использование

После запуска введите сообщение, и система автоматически:

  1. Определит категорию (вопрос/запрос/жалоба)
  2. Выполнит соответствующее действие
  3. Покажет результат

📊 Мониторинг

Жалобы сохраняются в data/complaints/ в формате JSON Данные пользователей хранятся в data/users.json

🎯 Примеры сообщений для тестирования

Вопрос: "Как я могу сменить пароль?"
Запрос: "Пожалуйста, измените мой статус на премиум"
Жалоба: "Служба поддержки не отвечает уже 24 часа"

📦 Зависимости

  • transformers - для работы с языковыми моделями
  • torch - основа для нейронных сетей
  • sentence-transformers - для создания embeddings
  • qdrant-client - клиент для векторной базы данных
  • scikit-learn - для метрик обучения
  • numpy - для числовых операций

🆘 Возможные проблемы

Т.к. проект создан исключительно для демонстрации возможностей, зачастую категории могут распознаваться неверно.

Категория "жалоба" плохо распознается без явного ввода слова "жалоба" в тексте сообщения

📈 Расширение функционала

  1. Улучшение классификатора - расширение обучающего датасета
  2. Улучшение RAG - расширение списка вопросов в qa_pairs.json
  3. Улучшение обработки запросов - добавление новых функций в action_handler.py

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages