refactor: обновление системы ML-скоринга и переход на RAG API

- Обновлен Dockerfile для использования Alpine вместо Slim, улучшая размер образа.
- Удален устаревший RAGService и добавлен RagApiClient для работы с внешним RAG API.
- Обновлены переменные окружения в env.example для настройки нового RAG API.
- Обновлен ScoringManager для интеграции с RagApiClient.
- Упрощена структура проекта, удалены ненужные файлы и зависимости, связанные с векторным хранилищем.
- Обновлены обработчики и функции для работы с новым API, включая получение статистики и обработку ошибок.
This commit is contained in:
2026-01-26 22:03:15 +03:00
parent 7f6f0f028c
commit feee7f010c
17 changed files with 602 additions and 1095 deletions

View File

@@ -161,7 +161,7 @@ async def get_ml_stats(
await message.answer("📊 ML Scoring отключен\n\nДля включения установите RAG_ENABLED=true или DEEPSEEK_ENABLED=true в .env")
return
stats = scoring_manager.get_stats()
stats = await scoring_manager.get_stats()
# Формируем текст статистики
lines = ["📊 <b>ML Scoring Статистика</b>\n"]
@@ -169,16 +169,22 @@ async def get_ml_stats(
# RAG статистика
if "rag" in stats:
rag = stats["rag"]
lines.append("🤖 <b>RAG (ruBERT):</b>")
lines.append("🤖 <b>RAG API:</b>")
lines.append(f" • Статус: {'✅ Включен' if rag.get('enabled') else '❌ Отключен'}")
lines.append(f"Модель: {rag.get('model_name', 'N/A')}")
lines.append(f" • Модель загружена: {'' if rag.get('model_loaded') else ''}")
lines.append(f"API URL: {rag.get('api_url', 'N/A')}")
# Статистика из API (если доступна)
if "positive_examples" in rag or "negative_examples" in rag:
lines.append(f" • Положительных примеров: {rag.get('positive_examples', 0)}")
lines.append(f" • Отрицательных примеров: {rag.get('negative_examples', 0)}")
lines.append(f"Всего примеров: {rag.get('total_examples', rag.get('positive_examples', 0) + rag.get('negative_examples', 0))}")
# Модель из API (если доступна)
if "model_loaded" in rag:
lines.append(f" • Модель загружена: {'' if rag.get('model_loaded') else ''}")
if "model_name" in rag:
lines.append(f" • Модель: {rag.get('model_name', 'N/A')}")
vs = rag.get("vector_store", {})
lines.append(f" • Положительных примеров: {vs.get('positive_count', 0)}")
lines.append(f" • Отрицательных примеров: {vs.get('negative_count', 0)}")
lines.append(f"Всего примеров: {vs.get('total_count', 0)}")
lines.append(f" • Макс. примеров: {vs.get('max_examples', 'N/A')}")
lines.append("")
# DeepSeek статистика