From e5f000733fcf50ef80f2eff7c19885ec3d59ff1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A7=91=E5=9B=BF=E8=84=91=E8=A2=8B?= <70054568+eeee0717@users.noreply.github.com> Date: Tue, 28 Oct 2025 16:37:58 +0800 Subject: [PATCH] fix(knowledge): force choose knowledge aisdk error (#11006) fix: aisdk error --- src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts b/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts index e2b253374b..38e1c4db9e 100644 --- a/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts +++ b/src/renderer/src/aiCore/middleware/AiSdkMiddlewareBuilder.ts @@ -3,6 +3,7 @@ import { loggerService } from '@logger' import type { MCPTool, Message, Model, Provider } from '@renderer/types' import type { Chunk } from '@renderer/types/chunk' import { extractReasoningMiddleware, LanguageModelMiddleware, simulateStreamingMiddleware } from 'ai' +import { isEmpty } from 'lodash' import { toolChoiceMiddleware } from './toolChoiceMiddleware' @@ -124,7 +125,7 @@ export function buildAiSdkMiddlewares(config: AiSdkMiddlewareConfig): LanguageMo const builder = new AiSdkMiddlewareBuilder() // 0. 知识库强制调用中间件(必须在最前面,确保第一轮强制调用知识库) - if (config.knowledgeRecognition === 'off') { + if (!isEmpty(config.assistant?.knowledge_bases?.map((base) => base.id)) && config.knowledgeRecognition !== 'on') { builder.add({ name: 'force-knowledge-first', middleware: toolChoiceMiddleware('builtin_knowledge_search')