feat: интеграция ML-скоринга с использованием RAG и DeepSeek
- Обновлен Dockerfile для установки необходимых зависимостей. - Добавлены новые переменные окружения для настройки ML-скоринга в env.example. - Реализованы методы для получения и обновления ML-скоров в AsyncBotDB и PostRepository. - Обновлены обработчики публикации постов для интеграции ML-скоринга. - Добавлен новый обработчик для получения статистики ML-скоринга в админ-панели. - Обновлены функции для форматирования сообщений с учетом ML-скоров.
This commit is contained in:
@@ -78,6 +78,22 @@ async def start_bot(bdf):
|
||||
|
||||
await bot.delete_webhook(drop_pending_updates=True)
|
||||
|
||||
# Загружаем примеры для RAG из базы данных
|
||||
scoring_manager = bdf.get_scoring_manager()
|
||||
if scoring_manager and scoring_manager.rag_service and scoring_manager.rag_service.is_enabled:
|
||||
try:
|
||||
db = bdf.get_db()
|
||||
positive_texts = await db.get_approved_posts_texts(limit=5000)
|
||||
negative_texts = await db.get_declined_posts_texts(limit=5000)
|
||||
|
||||
if positive_texts or negative_texts:
|
||||
await scoring_manager.load_examples_from_db(positive_texts, negative_texts)
|
||||
logging.info(f"RAG: Загружено {len(positive_texts)} положительных и {len(negative_texts)} отрицательных примеров")
|
||||
else:
|
||||
logging.warning("RAG: Нет примеров в базе данных для загрузки")
|
||||
except Exception as e:
|
||||
logging.error(f"Ошибка загрузки примеров для RAG: {e}")
|
||||
|
||||
# Запускаем HTTP сервер для метрик параллельно с ботом
|
||||
metrics_host = bdf.settings.get('Metrics', {}).get('host', '0.0.0.0')
|
||||
metrics_port = bdf.settings.get('Metrics', {}).get('port', 8080)
|
||||
|
||||
Reference in New Issue
Block a user