Тест-режим: проверка через /api/photo-bot/check/ сайта (CV+гримасы+ИИ), метрики из llama.cpp, удаление прямого llama.cpp-клиента
This commit is contained in:
+20
-14
@@ -14,8 +14,7 @@ from trueconf.types import FSInputFile
|
||||
import config.config as config
|
||||
from utils import states
|
||||
from utils.menu import MENU_TEXT
|
||||
from photo_bot.photo_processor import prepare_ad_photo, get_crop_coordinates
|
||||
from photo_bot.ai_validator import validate_photo_with_ai
|
||||
from photo_bot.photo_processor import prepare_ad_photo, get_crop_coordinates, check_photo_api
|
||||
from utils.texts import (
|
||||
UNKNOWN_MAIN_CMD_TEXT,
|
||||
EMOJI_DIGITS,
|
||||
@@ -324,29 +323,36 @@ async def photo_module_handler(msg: Message):
|
||||
try:
|
||||
with open(original_path, 'rb') as f:
|
||||
raw_photo = f.read()
|
||||
ai_res = await asyncio.to_thread(validate_photo_with_ai, raw_photo)
|
||||
# Dry-run: полный пайплайн проверки на САЙТЕ (CV + гримасы + ИИ),
|
||||
# фото в БД/AD/Orion не попадает
|
||||
check_res = await asyncio.to_thread(check_photo_api, raw_photo)
|
||||
except Exception as e:
|
||||
logger.error(f"🔥 [TEST MODE] Ошибка чтения фото: {e}")
|
||||
ai_res = {'ok': False, 'verdict': '', 'reason': '', 'error': str(e)}
|
||||
logger.error(f"🔥 [TEST MODE] Ошибка проверки фото: {e}")
|
||||
check_res = {"status": "error", "reason": f"Ошибка бота: {e}"}
|
||||
|
||||
if not ai_res['ok']:
|
||||
if check_res.get("status") != "ok":
|
||||
# Фото остаётся в pending — можно повторить проверку (кнопка 1)
|
||||
log_menu_stats(user_id, "Photo Bot (TEST)", "Ошибка обращения к ИИ")
|
||||
log_menu_stats(user_id, "Photo Bot (TEST)", f"Ошибка проверки: {check_res.get('reason')}")
|
||||
await msg.answer(
|
||||
photo_test_ai_error(ai_res.get('error', ''), ai_res.get('error_time')),
|
||||
photo_test_ai_error(check_res.get('reason', 'Неизвестная ошибка')),
|
||||
parse_mode="html"
|
||||
)
|
||||
return
|
||||
|
||||
verdict = ai_res['verdict']
|
||||
reason = ai_res['reason'] or 'Причина не указана.'
|
||||
mimi = ai_res.get('mimi', '')
|
||||
grafika = ai_res.get('grafika', '')
|
||||
log_menu_stats(user_id, "Photo Bot (TEST)", f"ИИ-вердикт: {verdict}")
|
||||
verdict = check_res.get('verdict', '—')
|
||||
log_menu_stats(user_id, "Photo Bot (TEST)", f"Вердикт проверки: {verdict}")
|
||||
|
||||
# Фото остаётся в pending — можно повторить проверку другим фото (кнопка 2)
|
||||
await msg.answer(
|
||||
photo_test_result(verdict, reason, mimi, grafika, ai_res.get('metrics')),
|
||||
photo_test_result(
|
||||
verdict,
|
||||
check_res.get('ai_reason') or '',
|
||||
check_res.get('cv_approved'),
|
||||
check_res.get('cv_reason') or '',
|
||||
check_res.get('forced_moderation'),
|
||||
check_res.get('timings'),
|
||||
check_res.get('ai_metrics'),
|
||||
),
|
||||
parse_mode="html"
|
||||
)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user