diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index da0fefbf2..e37646a04 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -1318,7 +1318,6 @@ CONFIG_METADATA_2 = { "rerank_api_base": "https://dashscope.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank", "rerank_model": "qwen3-rerank", "timeout": 30, - "top_n": 3, "return_documents": False, "instruct": "", }, @@ -1356,11 +1355,6 @@ CONFIG_METADATA_2 = { "description": "重排序模型名称", "type": "string", }, - "top_n": { - "description": "返回排序后的top_n个文档", - "type": "int", - "hint": "默认返回全部文档。如果指定的值大于文档总数,将返回全部文档。", - }, "return_documents": { "description": "是否在排序结果中返回文档原文", "type": "bool", diff --git a/astrbot/core/provider/sources/bailian_rerank_source.py b/astrbot/core/provider/sources/bailian_rerank_source.py index e32b4ea0d..9953699d4 100644 --- a/astrbot/core/provider/sources/bailian_rerank_source.py +++ b/astrbot/core/provider/sources/bailian_rerank_source.py @@ -32,7 +32,10 @@ class BailianRerankProvider(RerankProvider): self.model = provider_config.get("rerank_model", "qwen3-rerank") self.timeout = provider_config.get("timeout", 30) - self.default_top_n = provider_config.get("top_n", 5) + # 自动读取知识库配置的 kb_final_top_k,如果没有则使用配置中的 top_n + self.default_top_n = provider_settings.get( + "kb_final_top_k" + ) or provider_config.get("top_n", 5) self.return_documents = provider_config.get("return_documents", False) self.instruct = provider_config.get("instruct", "") @@ -88,7 +91,7 @@ class BailianRerankProvider(RerankProvider): ) documents = documents[:500] - # 使用传入的top_n或默认配置 + # 优先使用传入的top_n参数(来自知识库配置),如果没有才使用默认配置 final_top_n = top_n if top_n is not None else self.default_top_n try: