From d6dc6be51dff1b9426180f78b1983fd08b3fbdb5 Mon Sep 17 00:00:00 2001 From: xiangning Date: Sat, 4 Jul 2026 19:49:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(rag):=20=E6=89=A9=E5=B1=95=E5=88=86?= =?UTF-8?q?=E5=9D=97=E6=A8=A1=E5=BC=8F=E6=94=AF=E6=8C=81=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=A4=84=E7=90=86=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将分块模式取值范围从 0-2 扩展到 0-5,新增 Separator、ByPage 和 Token 模式 - 更新知识库创建和更新请求验证器以支持新的分块模式范围 - 修改文档上传端点的分块策略覆盖逻辑以兼容新模式 - 更新相关错误消息提示以反映完整的分块模式选项 - 在菜单端点中添加渲染类型和运行时视图模式字段支持 - 修改菜单更新请求参数 ID 类型从 Guid 调整为 long 类型 --- .../Endpoints/platform/Menus/CreateMenuEndpoint.cs | 4 ++++ .../Endpoints/platform/Menus/UpdateMenuEndpoint.cs | 3 +++ .../Endpoints/platform/Menus/UpdateMenuEndpointRequest.cs | 7 +++++-- .../Endpoints/rag/Document/UploadDocumentEndpoint.cs | 4 ++-- .../rag/Document/UploadDocumentRequestValidator.cs | 4 ++-- .../KnowledgeBase/CreateKnowledgeBaseRequestValidator.cs | 4 ++-- .../KnowledgeBase/UpdateKnowledgeBaseRequestValidator.cs | 4 ++-- 7 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/BuildFlow.Host/Endpoints/platform/Menus/CreateMenuEndpoint.cs b/src/BuildFlow.Host/Endpoints/platform/Menus/CreateMenuEndpoint.cs index 45500d4..b43f321 100644 --- a/src/BuildFlow.Host/Endpoints/platform/Menus/CreateMenuEndpoint.cs +++ b/src/BuildFlow.Host/Endpoints/platform/Menus/CreateMenuEndpoint.cs @@ -1,5 +1,6 @@ using BuildFlow.Platform.Application.Menus.Commands; using BuildFlow.Platform.Application.Menus.DTOs; +using BuildFlow.Platform.Domain.Enums; using MediatR; namespace BuildFlow.Host.Endpoints.Platform.Menus; @@ -24,6 +25,9 @@ public class CreateMenuEndpoint(IMediator mediator) : Endpoint public record UpdateMenuEndpointRequest( - Guid Id, - Guid? ParentId, + long Id, + long? ParentId, string? Name, string? Path, string? Component, string? Redirect, + string? RenderType, + Guid? FormDefinitionId, + string? RuntimeViewMode, string? Title, string? Code, string? Icon, diff --git a/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentEndpoint.cs b/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentEndpoint.cs index eed5ddc..c87bbb9 100644 --- a/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentEndpoint.cs +++ b/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentEndpoint.cs @@ -26,10 +26,10 @@ public class UploadDocumentEndpoint(IMediator mediator) : Endpoint= 0 and <= 2 => (ChunkingMode)req.ChunkingMode.Value, + >= 0 and <= 5 => (ChunkingMode)req.ChunkingMode.Value, _ => null }; diff --git a/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentRequestValidator.cs b/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentRequestValidator.cs index 5acf5b9..9d05a2c 100644 --- a/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentRequestValidator.cs +++ b/src/BuildFlow.Host/Endpoints/rag/Document/UploadDocumentRequestValidator.cs @@ -14,7 +14,7 @@ public class UploadDocumentRequestValidator : Validator }); RuleFor(x => x.ChunkingMode) - .InclusiveBetween(0, 2).When(x => x.ChunkingMode.HasValue) - .WithMessage("分块模式 ChunkingMode 取值 0=General,1=Heading,2=ParentChild"); + .InclusiveBetween(0, 5).When(x => x.ChunkingMode.HasValue) + .WithMessage("分块模式 ChunkingMode 取值 0=General,1=Heading,2=ParentChild,3=Separator,4=ByPage,5=Token"); } } diff --git a/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/CreateKnowledgeBaseRequestValidator.cs b/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/CreateKnowledgeBaseRequestValidator.cs index 0f6830b..244336c 100644 --- a/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/CreateKnowledgeBaseRequestValidator.cs +++ b/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/CreateKnowledgeBaseRequestValidator.cs @@ -28,8 +28,8 @@ public class CreateKnowledgeBaseRequestValidator : Validator x.ChunkingMode) - .InclusiveBetween(0, 2).When(x => x.ChunkingMode.HasValue) - .WithMessage("分块模式 ChunkingMode 取值 0=General,1=Heading,2=ParentChild"); + .InclusiveBetween(0, 5).When(x => x.ChunkingMode.HasValue) + .WithMessage("分块模式 ChunkingMode 取值 0=General,1=Heading,2=ParentChild,3=Separator,4=ByPage,5=Token"); RuleFor(x => x.RetrievalMode) .InclusiveBetween(0, 2).When(x => x.RetrievalMode.HasValue) diff --git a/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/UpdateKnowledgeBaseRequestValidator.cs b/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/UpdateKnowledgeBaseRequestValidator.cs index 57573c4..361ff79 100644 --- a/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/UpdateKnowledgeBaseRequestValidator.cs +++ b/src/BuildFlow.Host/Endpoints/rag/KnowledgeBase/UpdateKnowledgeBaseRequestValidator.cs @@ -31,8 +31,8 @@ public class UpdateKnowledgeBaseRequestValidator : Validator x.ChunkingMode) - .InclusiveBetween(0, 2).When(x => x.ChunkingMode.HasValue) - .WithMessage("分块模式 ChunkingMode 取值 0=General,1=Heading,2=ParentChild"); + .InclusiveBetween(0, 5).When(x => x.ChunkingMode.HasValue) + .WithMessage("分块模式 ChunkingMode 取值 0=General,1=Heading,2=ParentChild,3=Separator,4=ByPage,5=Token"); RuleFor(x => x.RetrievalMode) .InclusiveBetween(0, 2).When(x => x.RetrievalMode.HasValue)