From 004b03b374163714f871e0c8005032ff88de5d5a Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 5 Mar 2026 19:18:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96=E7=88=AC=E8=99=AB?= =?UTF-8?q?=E9=93=BE=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/extractor_ai.cpython-39.pyc | Bin 5725 -> 5929 bytes .../translate_utils.cpython-39.pyc | Bin 1293 -> 1485 bytes crawler/extractor_ai.py | 9 +++++++-- crawler/translate_utils.py | 10 ++++++++-- server/data.db-shm | Bin 0 -> 32768 bytes server/data.db-wal | 0 6 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 server/data.db-shm create mode 100644 server/data.db-wal diff --git a/crawler/__pycache__/extractor_ai.cpython-39.pyc b/crawler/__pycache__/extractor_ai.cpython-39.pyc index ede6599e612e07c1f2e20b6b891195059c717f2b..32ed133c1ec6b6a5a29218aac2d46077e1079d81 100644 GIT binary patch delta 305 zcmcbsvr>;Qk(ZZ?0SGk1R%RMWZ{)kc%%s3M`2llTJr~!DeUqQIE`70n%d;7M@Au5& z(p7lcH~-nR_NV>pUo`K1He>yZ?u|h1Dv;$^l$ey63}ghP78PeE<|#a1+xdPE5cRxRzx`=z$MXqo zFP1NUDnDWMlbs;Zr)|B@dOBY$Ykan`3FM;oU5^`@xVSclvG8+*1OuJU#r1slmS=rS zA(9GS!Tx>J>f# F0W)brC?fy> diff --git a/crawler/__pycache__/translate_utils.cpython-39.pyc b/crawler/__pycache__/translate_utils.cpython-39.pyc index 563a3253ce223e64a05d53566bdb772a05a54dc6..6e7fdc2d05f9e2c189531b94ce1e30e97e43c711 100644 GIT binary patch delta 539 zcmeC>I?K(M$ji&c00bOiD>Eh7Hu5nu)iY%?6{*!Q1T&Pd)G#zNE?`*5P|H}tTEp1P zn8KXRQsh;`n8K36+{z>g5@!R67lnb;r?9#(#J1EjRb|vLrLX}_=}2Ku;mBdn<)~$5 zWT;_I;Y{I5;qGNxz*)n%kg=8}PYx*01C-~gWd+K!LgXh;VDe<)Emdcne3!|ko{LKX z2wtq;@@z)m`#rP3JY9vCyJx&ux8!N-=9kmgK3y{HW%G*X`**)sKk@yZj+E5Yg7}i6 z#Ju91#FG4?_j@|u@9B9yd&{%Fr7!kRc{+RE)4uu7rnLhFUpDT4+S>bc_JZeoCqCaj z=UKOtUDW)vf5yx9eua=AN55bn#}L^zJtOp|L^R4wFz>NPoUvB$@!K0Ccm|i~s-t delta 341 zcmX@h-OI(7$ji&c00c6BmSp~8*~rJtRL`8vRHRnJ5X?}*Qp3>9xPW0HLoH(oYYk&F zV+u<)OOaO%V+v~uODmHkNSqBMUK9pWpTg$C5ZhAARFzS~l)?@)r6YwSg)@gem!p=M zk)eh;g)44LdIH_JUO5|FHoMVmK7+^3Xz{YfytAFuQY{W@?9nuOZWWz z^qf?Mr%N`z*s}E5^leW!%zd$bs)BE&Z)$FSQRU-?rYND1AVLd9Zm=kGerXAi&&q1V%EZIS z!Z_K6Rn Optional[Dict[str, Any try: import requests raw = str(text).strip()[:EXTRACT_TEXT_MAX_LEN] - prompt = f"""从以下美伊/中东新闻**全文或摘要**中,提取**报道明确给出的数字与事实**,输出 JSON。规则: + prompt = f"""从以下美伊/中东新闻**全文或摘要**中,提取**报道明确给出的数字与事实**,输出 JSON。 + +输入说明: +- 原文可能是英文、中文或其他语言(English / Chinese / Arabic / Persian 等),请先理解含义,再按要求输出。 + +规则: 1. 仅填写报道中**直接出现、可核对**的数据,不要推测或估算。 2. 无明确依据的字段**必须省略**,不要填 0 或猜。 3. **战损一律按增量**:只填本则报道中「本次/此次/今日/本轮」**新增**的伤亡或损毁数量。若报道只给「累计总数」「迄今共」「total so far」等,**不要填写**该字段(避免与库内已有累计值重复叠加)。 @@ -50,7 +55,7 @@ def _call_ollama_extract(text: str, timeout: int = 15) -> Optional[Dict[str, Any 原文: {raw} -直接输出 JSON,不要解释:""" +直接输出 JSON 对象,不要解释,不要加反引号或代码块标记:""" r = requests.post( "http://localhost:11434/api/chat", json={ diff --git a/crawler/translate_utils.py b/crawler/translate_utils.py index 0eb3e4d..0b45001 100644 --- a/crawler/translate_utils.py +++ b/crawler/translate_utils.py @@ -13,10 +13,16 @@ def _is_mostly_chinese(text: str) -> bool: def translate_to_chinese(text: str) -> str: - """将文本翻译成中文,失败或已是中文则返回原文。Google 失败时尝试 MyMemory。""" + """将文本翻译成中文,失败或已是中文则返回原文。 + + 说明: + - 默认关闭外部翻译(deep_translator),直接返回原文,避免因网络或代理问题阻塞整条流水线。 + - 如需开启翻译,可显式设置环境变量 TRANSLATE_DISABLED=0。 + """ if not text or not text.strip(): return text - if os.environ.get("TRANSLATE_DISABLED", "0") == "1": + # 默认禁用翻译:TRANSLATE_DISABLED 未设置时视为开启(值为 "1") + if os.environ.get("TRANSLATE_DISABLED", "1") == "1": return text s = str(text).strip() if len(s) > 2000: diff --git a/server/data.db-shm b/server/data.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 GIT binary patch literal 32768 zcmeIuAr62r3