From 2ada1deb9a8f74aeb6a224d67baea649abceaa93 Mon Sep 17 00:00:00 2001 From: piexian Date: Thu, 20 Nov 2025 08:31:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=87=E6=A1=A3=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E8=AF=BB=E5=8F=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/config/default.py | 6 ------ astrbot/core/provider/sources/bailian_rerank_source.py | 7 +++++-- 2 files changed, 5 insertions(+), 8 deletions(-) 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: