diff --git a/requirements.txt b/requirements.txt index 322b565b6..457bfc198 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,6 +22,7 @@ lark-oapi>=1.0.0 # 飞书API # 数据处理 pandas>=2.0.0 # 数据分析 numpy>=1.24.0 # 数值计算 +json-repair>=0.55.1 # JSON 修复 # AI 分析 google-generativeai>=0.8.0 # Gemini API diff --git a/src/analyzer.py b/src/analyzer.py index 692d6042a..d1fa5d78c 100644 --- a/src/analyzer.py +++ b/src/analyzer.py @@ -15,6 +15,7 @@ import logging import time from dataclasses import dataclass from typing import Optional, Dict, Any, List +from json_repair import repair_json from tenacity import ( retry, @@ -1238,6 +1239,9 @@ class GeminiAnalyzer: # 确保布尔值是小写 json_str = json_str.replace('True', 'true').replace('False', 'false') + # fix by json-repair + json_str = repair_json(json_str) + return json_str def _parse_text_response(