Переписал почти все тесты
feat: улучшено логирование и обработка скорингов в PostService и RagApiClient - Добавлены отладочные сообщения для передачи скорингов в функции обработки постов. - Обновлено логирование успешного получения скорингов из RAG API с дополнительной информацией. - Оптимизирована обработка скорингов в функции get_text_message для улучшения отладки. - Обновлены тесты для проверки новых функциональных возможностей и обработки ошибок.
This commit is contained in:
@@ -257,6 +257,13 @@ class PostService:
|
||||
# Формируем текст/caption с учетом скоров
|
||||
post_text = ""
|
||||
if text_for_post or content_type == "text":
|
||||
logger.debug(
|
||||
f"PostService._process_post_background: Передача скоров в get_text_message - "
|
||||
f"rag_score={rag_score} (type: {type(rag_score).__name__ if rag_score is not None else 'None'}), "
|
||||
f"rag_score_pos_only={rag_score_pos_only} (type: {type(rag_score_pos_only).__name__ if rag_score_pos_only is not None else 'None'}), "
|
||||
f"rag_confidence={rag_confidence} (type: {type(rag_confidence).__name__ if rag_confidence is not None else 'None'}), "
|
||||
f"content_type={content_type}, message_id={message.message_id}"
|
||||
)
|
||||
post_text = get_text_message(
|
||||
text_for_post.lower() if text_for_post else "",
|
||||
first_name,
|
||||
@@ -406,6 +413,14 @@ class PostService:
|
||||
# Получаем скоры для текста
|
||||
deepseek_score, rag_score, rag_confidence, rag_score_pos_only, ml_scores_json = await self._get_scores(raw_text)
|
||||
|
||||
logger.debug(
|
||||
f"PostService.handle_text_post: Передача скоров в get_text_message - "
|
||||
f"rag_score={rag_score} (type: {type(rag_score).__name__ if rag_score is not None else 'None'}), "
|
||||
f"rag_score_pos_only={rag_score_pos_only} (type: {type(rag_score_pos_only).__name__ if rag_score_pos_only is not None else 'None'}), "
|
||||
f"rag_confidence={rag_confidence} (type: {type(rag_confidence).__name__ if rag_confidence is not None else 'None'}), "
|
||||
f"message_id={message.message_id}"
|
||||
)
|
||||
|
||||
# Формируем текст с учетом скоров
|
||||
post_text = get_text_message(
|
||||
message.text.lower(),
|
||||
@@ -446,6 +461,14 @@ class PostService:
|
||||
# Получаем скоры для текста
|
||||
deepseek_score, rag_score, rag_confidence, rag_score_pos_only, ml_scores_json = await self._get_scores(raw_caption)
|
||||
|
||||
logger.debug(
|
||||
f"PostService.handle_photo_post: Передача скоров в get_text_message - "
|
||||
f"rag_score={rag_score} (type: {type(rag_score).__name__ if rag_score is not None else 'None'}), "
|
||||
f"rag_score_pos_only={rag_score_pos_only} (type: {type(rag_score_pos_only).__name__ if rag_score_pos_only is not None else 'None'}), "
|
||||
f"rag_confidence={rag_confidence} (type: {type(rag_confidence).__name__ if rag_confidence is not None else 'None'}), "
|
||||
f"message_id={message.message_id}"
|
||||
)
|
||||
|
||||
post_caption = ""
|
||||
if message.caption:
|
||||
post_caption = get_text_message(
|
||||
@@ -490,6 +513,14 @@ class PostService:
|
||||
# Получаем скоры для текста
|
||||
deepseek_score, rag_score, rag_confidence, rag_score_pos_only, ml_scores_json = await self._get_scores(raw_caption)
|
||||
|
||||
logger.debug(
|
||||
f"PostService.handle_video_post: Передача скоров в get_text_message - "
|
||||
f"rag_score={rag_score} (type: {type(rag_score).__name__ if rag_score is not None else 'None'}), "
|
||||
f"rag_score_pos_only={rag_score_pos_only} (type: {type(rag_score_pos_only).__name__ if rag_score_pos_only is not None else 'None'}), "
|
||||
f"rag_confidence={rag_confidence} (type: {type(rag_confidence).__name__ if rag_confidence is not None else 'None'}), "
|
||||
f"message_id={message.message_id}"
|
||||
)
|
||||
|
||||
post_caption = ""
|
||||
if message.caption:
|
||||
post_caption = get_text_message(
|
||||
@@ -559,6 +590,14 @@ class PostService:
|
||||
# Получаем скоры для текста
|
||||
deepseek_score, rag_score, rag_confidence, rag_score_pos_only, ml_scores_json = await self._get_scores(raw_caption)
|
||||
|
||||
logger.debug(
|
||||
f"PostService.handle_audio_post: Передача скоров в get_text_message - "
|
||||
f"rag_score={rag_score} (type: {type(rag_score).__name__ if rag_score is not None else 'None'}), "
|
||||
f"rag_score_pos_only={rag_score_pos_only} (type: {type(rag_score_pos_only).__name__ if rag_score_pos_only is not None else 'None'}), "
|
||||
f"rag_confidence={rag_confidence} (type: {type(rag_confidence).__name__ if rag_confidence is not None else 'None'}), "
|
||||
f"message_id={message.message_id}"
|
||||
)
|
||||
|
||||
post_caption = ""
|
||||
if message.caption:
|
||||
post_caption = get_text_message(
|
||||
@@ -634,6 +673,14 @@ class PostService:
|
||||
# Получаем скоры для текста
|
||||
deepseek_score, rag_score, rag_confidence, rag_score_pos_only, ml_scores_json = await self._get_scores(raw_caption)
|
||||
|
||||
logger.debug(
|
||||
f"PostService.handle_media_group_post: Передача скоров в get_text_message - "
|
||||
f"rag_score={rag_score} (type: {type(rag_score).__name__ if rag_score is not None else 'None'}), "
|
||||
f"rag_score_pos_only={rag_score_pos_only} (type: {type(rag_score_pos_only).__name__ if rag_score_pos_only is not None else 'None'}), "
|
||||
f"rag_confidence={rag_confidence} (type: {type(rag_confidence).__name__ if rag_confidence is not None else 'None'}), "
|
||||
f"message_id={message.message_id}"
|
||||
)
|
||||
|
||||
post_caption = get_text_message(
|
||||
album[0].caption.lower(),
|
||||
first_name,
|
||||
|
||||
@@ -149,13 +149,20 @@ class RagApiClient:
|
||||
# Парсим ответ
|
||||
score = float(data.get("rag_score", 0.0))
|
||||
confidence = float(data.get("rag_confidence", 0.0)) if data.get("rag_confidence") is not None else None
|
||||
rag_score_pos_only_raw = data.get("rag_score_pos_only")
|
||||
rag_score_pos_only = float(rag_score_pos_only_raw) if rag_score_pos_only_raw is not None else None
|
||||
|
||||
# Форматируем confidence для логирования
|
||||
confidence_str = f"{confidence:.4f}" if confidence is not None else "None"
|
||||
rag_score_pos_only_str = f"{rag_score_pos_only:.4f}" if rag_score_pos_only is not None else "None"
|
||||
|
||||
logger.info(
|
||||
f"RagApiClient: Скор успешно получен "
|
||||
f"(score={score:.4f}, confidence={confidence_str})"
|
||||
f"RagApiClient: Скор успешно получен из API - "
|
||||
f"rag_score={score:.4f} (type: {type(score).__name__}), "
|
||||
f"rag_confidence={confidence_str}, "
|
||||
f"rag_score_pos_only={rag_score_pos_only_str}, "
|
||||
f"raw_response_rag_score={data.get('rag_score')}, "
|
||||
f"raw_response_rag_score_pos_only={rag_score_pos_only_raw}"
|
||||
)
|
||||
|
||||
return ScoringResult(
|
||||
@@ -164,7 +171,7 @@ class RagApiClient:
|
||||
model=data.get("meta", {}).get("model", "rag-service"),
|
||||
confidence=confidence,
|
||||
metadata={
|
||||
"rag_score_pos_only": float(data.get("rag_score_pos_only", 0.0)) if data.get("rag_score_pos_only") is not None else None,
|
||||
"rag_score_pos_only": rag_score_pos_only,
|
||||
"positive_examples": data.get("meta", {}).get("positive_examples"),
|
||||
"negative_examples": data.get("meta", {}).get("negative_examples"),
|
||||
}
|
||||
|
||||
@@ -172,6 +172,13 @@ def get_text_message(
|
||||
if deepseek_score is not None:
|
||||
scores_lines.append(f"DeepSeek: {deepseek_score:.2f}")
|
||||
if rag_score is not None:
|
||||
logger.debug(
|
||||
f"get_text_message: Форматирование rag_score - "
|
||||
f"rag_score={rag_score} (type: {type(rag_score).__name__}), "
|
||||
f"rag_score_pos_only={rag_score_pos_only} (type: {type(rag_score_pos_only).__name__ if rag_score_pos_only is not None else 'None'}), "
|
||||
f"rag_confidence={rag_confidence} (type: {type(rag_confidence).__name__ if rag_confidence is not None else 'None'}), "
|
||||
f"formatted_value={rag_score:.2f}"
|
||||
)
|
||||
rag_line = f"RAG neg/pos: {rag_score:.2f}"
|
||||
if rag_confidence is not None:
|
||||
rag_line += f" (уверенность: {rag_confidence:.0%})"
|
||||
|
||||
Reference in New Issue
Block a user