From 036a5c358150ea3aa08460c9ba32b85073e68a42 Mon Sep 17 00:00:00 2001 From: SXP-Simon Date: Tue, 4 Nov 2025 18:45:46 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20(#34)=20token=20=E6=B6=88=E8=80=97?= =?UTF-8?q?=E9=98=88=E5=80=BC=E8=87=AA=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _conf_schema.json | 18 ++++++++++++++++++ .../analyzers/golden_quote_analyzer.py | 2 +- src/analysis/analyzers/topic_analyzer.py | 2 +- src/analysis/analyzers/user_title_analyzer.py | 2 +- src/core/config.py | 12 ++++++++++++ 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/_conf_schema.json b/_conf_schema.json index 57a55f4..85bd1cd 100644 --- a/_conf_schema.json +++ b/_conf_schema.json @@ -117,6 +117,24 @@ "default": 2, "hint": "重试之间的基准等待时间(秒),实际等待时间为基值乘以尝试次数。" }, + "topic_max_tokens": { + "type": "int", + "description": "话题分析最大 Token 数", + "default": 12288, + "hint": "话题分析时 LLM 能生成的最大 token 数量。当分析内容较多或者分析提示词复杂时,建议适当调大此值以保证输出质量。" + }, + "golden_quote_max_tokens": { + "type": "int", + "description": "金句分析最大 Token 数", + "default": 4096, + "hint": "金句分析时 LLM 能生成的最大 token 数量。当分析内容较多或者分析提示词复杂时,建议适当调大此值以保证输出质量。" + }, + "user_title_max_tokens": { + "type": "int", + "description": "用户称号分析最大 Token 数", + "default": 4096, + "hint": "用户称号分析时 LLM 能生成的最大 token 数量。当分析内容较多或者分析提示词复杂时,建议适当调大此值以保证输出质量。" + }, "custom_api_key": { "type": "string", "description": "自定义 LLM 服务 API Key (选填)", diff --git a/src/analysis/analyzers/golden_quote_analyzer.py b/src/analysis/analyzers/golden_quote_analyzer.py index 60ef1d8..5417860 100644 --- a/src/analysis/analyzers/golden_quote_analyzer.py +++ b/src/analysis/analyzers/golden_quote_analyzer.py @@ -29,7 +29,7 @@ class GoldenQuoteAnalyzer(BaseAnalyzer): def get_max_tokens(self) -> int: """获取最大token数""" - return 1500 + return self.config_manager.get_golden_quote_max_tokens() def get_temperature(self) -> float: """获取温度参数""" diff --git a/src/analysis/analyzers/topic_analyzer.py b/src/analysis/analyzers/topic_analyzer.py index a832ccb..8399224 100644 --- a/src/analysis/analyzers/topic_analyzer.py +++ b/src/analysis/analyzers/topic_analyzer.py @@ -29,7 +29,7 @@ class TopicAnalyzer(BaseAnalyzer): def get_max_tokens(self) -> int: """获取最大token数""" - return 10000 + return self.config_manager.get_topic_max_tokens() def get_temperature(self) -> float: """获取温度参数""" diff --git a/src/analysis/analyzers/user_title_analyzer.py b/src/analysis/analyzers/user_title_analyzer.py index ab04d41..3b5ac73 100644 --- a/src/analysis/analyzers/user_title_analyzer.py +++ b/src/analysis/analyzers/user_title_analyzer.py @@ -26,7 +26,7 @@ class UserTitleAnalyzer(BaseAnalyzer): def get_max_tokens(self) -> int: """获取最大token数""" - return 1500 + return self.config_manager.get_user_title_max_tokens() def get_temperature(self) -> float: """获取温度参数""" diff --git a/src/core/config.py b/src/core/config.py index 954fe06..82fcb9e 100644 --- a/src/core/config.py +++ b/src/core/config.py @@ -87,6 +87,18 @@ class ConfigManager: """获取LLM请求重试退避基值(秒),实际退避会乘以尝试次数""" return self.config.get("llm_backoff", 2) + def get_topic_max_tokens(self) -> int: + """获取话题分析最大token数""" + return self.config.get("topic_max_tokens", 12288) + + def get_golden_quote_max_tokens(self) -> int: + """获取金句分析最大token数""" + return self.config.get("golden_quote_max_tokens", 4096) + + def get_user_title_max_tokens(self) -> int: + """获取用户称号分析最大token数""" + return self.config.get("user_title_max_tokens", 4096) + def get_custom_api_key(self) -> str: """获取自定义 LLM 服务的 API Key""" return self.config.get("custom_api_key", "")