From 3a34cc8734664cbfccb34bd2f12e862b7efdc595 Mon Sep 17 00:00:00 2001 From: zwfxxxxx Date: Tue, 14 Apr 2026 14:33:10 +0800 Subject: [PATCH] log ai api errors in automation rules --- dtable_events/utils/dtable_ai_api.py | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/dtable_events/utils/dtable_ai_api.py b/dtable_events/utils/dtable_ai_api.py index 4e9531a1..4edd92ca 100644 --- a/dtable_events/utils/dtable_ai_api.py +++ b/dtable_events/utils/dtable_ai_api.py @@ -1,5 +1,4 @@ import requests -import logging import time from dtable_events.utils import get_file_ext, process_pdf_to_images from dtable_events.utils.constants import EXTRACT_TEXT_SUPPORTED_FILES @@ -7,8 +6,6 @@ from dtable_events.app.config import DTABLE_PRIVATE_KEY -logger = logging.getLogger(__name__) - class DTableAIAPIError(Exception): pass @@ -46,8 +43,7 @@ def summarize(self, content, summary_prompt): result = response.json() return result.get('summary', '') else: - logger.error(f"Failed to summarize text: {response.text}") - raise DTableAIAPIError() + raise DTableAIAPIError(f"Failed to summarize text: {response.text}") def classify(self, content, classify_prompt=''): if not content or not content.strip(): @@ -70,8 +66,7 @@ def classify(self, content, classify_prompt=''): classification = result.get('classification', []) return classification else: - logger.error(f"Failed to classify text: {response.text}") - raise DTableAIAPIError() + raise DTableAIAPIError(f"Failed to classify text: {response.text}") def ocr(self, file_name, file_content): file_ext = get_file_ext(file_name) @@ -82,7 +77,6 @@ def ocr(self, file_name, file_content): try: image_pages = process_pdf_to_images(file_content, max_pages=5) except Exception as e: - logger.error(f"Failed to process PDF to images: {e}") raise DTableAIAPIError(f"PDF processing failed: {e}") else: image_pages = [file_content] @@ -106,8 +100,7 @@ def ocr(self, file_name, file_content): result = response.json() return result.get('ocr_result', '') else: - logger.error(f"Failed to ocr file: {response.text}") - raise DTableAIAPIError() + raise DTableAIAPIError(f"Failed to ocr file: {response.text}") def extract(self, content, extract_fields, extract_prompt): """Extract specific information from content based on field descriptions""" @@ -131,8 +124,7 @@ def extract(self, content, extract_fields, extract_prompt): result = response.json() return result.get('extracted_data', {}) else: - logger.error(f"Failed to extract information: {response.text}") - raise DTableAIAPIError() + raise DTableAIAPIError(f"Failed to extract information: {response.text}") def custom(self, content): """Execute custom AI processing with user-defined prompt""" @@ -154,8 +146,7 @@ def custom(self, content): result = response.json() return result.get('result', '') else: - logger.error(f"Failed to process custom AI request: {response.text}") - raise DTableAIAPIError() + raise DTableAIAPIError(f"Failed to process custom AI request: {response.text}") def recognize_chinese_invoice(self, file_name, file_content): data = { @@ -175,5 +166,4 @@ def recognize_chinese_invoice(self, file_name, file_content): result = response.json() return result.get('result', {}) else: - logger.error(f"Failed to recognize Chinese invoice: {response.text}") - raise DTableAIAPIError() + raise DTableAIAPIError(f"Failed to recognize Chinese invoice: {response.text}")