Commit Graph

54 Commits

Author SHA1 Message Date
Wenjie Zhang
1efbf86bf0 refactor: 评估系统重构 - 后端统一 dataset/run 语义
- 评估数据集/题目/运行/逐题结果全量入库,JSONL 仅作为交换格式
- benchmark -> dataset, task -> run 术语统一
- 评估生成支持配置并发数
- 移除 base.py 中旧的 benchmarks_meta 元数据逻辑
- manager.py 统一表创建方法名
2026-05-26 17:40:17 +08:00
Wenjie Zhang
37179e233f fix: 修复 Notion 页面数据源验证逻辑;增加未知父级的异常处理 2026-05-26 17:40:17 +08:00
Wenjie Zhang
5add3a070d feat: 知识图谱状态增加实体/关系数量统计
- KnowledgeGraphRepository 新增 count_by_db_id 方法
- MilvusGraphService.get_status 返回 entity_count 和 relationship_count
- 知识图谱管理面板展示实体与关系计数
- 修复重置按钮在构建中不可见的问题
- 调整默认并发数为 50

Co-authored-by: xerrors <xerrors@qq.com>
2026-05-26 17:39:13 +08:00
Wenjie Zhang
c342f3e1ee feat: 收紧用户管理部门隔离并重构知识库共享权限
- 普通管理员创建用户时固定归属本部门,用户列表/访问选项/详情/更新/删除均限制在本部门
- share_config 改为三档:global(全局共享)、department(部门共享)、user(指定人可访问)
- 部门共享必须包含当前用户部门,指定人可访问必须包含当前用户
- 前端 ShareConfigForm 重构为三档卡片选择+下拉菜单选人/选部门
- 补充部门隔离和共享权限过滤的集成测试
2026-05-26 17:39:13 +08:00
Wenjie Zhang
5693fdd4a7 feat: 重构知识库注册机制,简化知识库类型注册并添加描述信息 2026-05-26 17:39:13 +08:00
Wenjie Zhang
1a3ec71b2b feat: 新增Notion连接器 2026-05-26 17:39:13 +08:00
Wenjie Zhang
0faecbb886 feat(kb): 统一知识库并支持 search/find/open 2026-05-26 17:39:13 +08:00
Wenjie Zhang
4181604a71 refactor(kb): 知识库模块重构,添加只读连接器支持
- 新增 ReadOnlyConnectors 基类,支持只读外部检索
- 添加知识库类型特定参数配置方法
- 重构 dify 知识库实现
- 优化 additional_params 处理逻辑
2026-05-26 17:39:13 +08:00
Wenjie Zhang
f1e6bcf6eb refactor: 统一使用 uid 而不是 user_id 2026-05-26 17:39:13 +08:00
Wenjie Zhang
78acc19a88 feat(kb): 新增从工作区导入文件功能,优化图谱配置面板与并发上限
- 后端新增 /files/import-workspace 接口,将工作区文件上传至 MinIO 并返回预处理结果
- 后端新增 resolve_workspace_file_path 工具函数,校验文件存在性与类型
- 前端 FileUploadModal 新增工作区文件选择模式,支持目录浏览与多选文件
- 前端 knowledge_api 新增 importWorkspaceFiles API
- 图谱抽取器并发上限从 20 提升至 1000
- 图谱配置面板浮动层级与样式微调(阴影、边框、告警文案精简)
- 知识库类型 milvus 标签颜色从 red 改为 blue
- 新增工作区导入后端单元测试
2026-05-26 17:39:12 +08:00
Wenjie Zhang
f2d68ebdaa fix(kb): 修复 metadata 覆写数据库图谱配置,改用文件级持久化
- update_kb_config 不再触发全量 _save_metadata,避免内存 metadata 覆盖数据库已有图谱配置
- 补全文件大小时改用 _persist_file 逐文件写入
- delete_file_chunks_only 通过 chunk_repo 检查文件是否有图谱数据再决定是否清理
2026-05-26 17:39:12 +08:00
Wenjie Zhang
d292e53c23 feat(kb): LLM 图谱抽取器重构为固定 Prompt + Schema,支持并发构建与模型参数
- LLM 抽取器收敛为固定 Prompt + 可选 Schema 约束,禁止自定义完整 Prompt
- 图谱构建改用 asyncio worker 队列并发,并发数由 extractor_options.concurrency_count 控制
- 已锁定的图谱配置允许修改同类参数,类型保持锁定
- OpenAIBase 透传 model_params 到流式和非流式调用
2026-05-26 17:39:12 +08:00
Wenjie Zhang
409df5b073 feat(kb): 新增检索配置、图种子查询、实体/三元组搜索与融合检索
- 新增 MilvusRetrievalConfig 数据类,支持向量/关键词/混合/图检索参数化配置
- 新增 query_seed_subgraph 和图检索融合逻辑
- MilvusGraphVectorStore 新增 search_entities/search_triples
- MilvusGraphService.get_status 支持构建任务状态与进度查询
- cypher 语句增加 entity_id/triple_id 属性
- 前端 KnowledgeGraphSection 和 SearchConfigModal 适配新配置
- 新增 igraph 依赖
2026-05-26 17:39:12 +08:00
Wenjie Zhang
6225310600 feat(kb): 新增知识图谱向量存储、文件大小补全及前端重构
- 新增 MilvusGraphVectorStore 和 KnowledgeGraphRepository
- 新增文件大小从 MinIO 补全的逻辑(上传时 + 启动时)
- 重构 FileTable、GraphDetailPanel、KnowledgeGraphSection 等前端组件
- 新增文件大小回退测试和 kb_utils 测试
- 优化 file_utils 工具函数
- 更新 roadmap 文档
2026-05-26 17:39:12 +08:00
Wenjie Zhang
a0f9b0b6fd feat(kb):新增知识库文件管理功能
- 更新了 KnowledgeBaseManager 以支持新的文件管理方法。
- 在 workspace_router 中为知识库文件操作新增了端点,包括文件树列表、文件预览和文件下载。
- 在 workspace_api.js 中添加了相应的 API 调用,用于知识库交互。
- 增强了 AgentFilePreview 组件,支持预览变体之间的切换。
- 更新了导航逻辑,重定向至知识管理标签页,而非数据库视图。
- 修改了 WorkspaceView 以处理知识库条目和预览,包括加载和展示知识文件。
- 通过在文件操作期间提供加载与错误状态的反馈,改善了用户体验。
2026-05-26 17:39:12 +08:00
Wenjie Zhang
e3c5f41c7c refactor: 知识库重新设计
- 默认的知识库类型新增图谱抽取能力
- 移除 LightRAG 以及原有的知识图谱支持
- 移除所有兼容性的代码
2026-05-26 17:39:12 +08:00
Wenjie Zhang
25b80c7d3a refactor: 重构 Chunk 逻辑,异步部分参数 2026-05-26 17:39:12 +08:00
supreme0597
d0c60d9d82 feat(mention): 优化@提及搜索排序与高亮展示,修复唤醒交互及路径硬编码问题 2026-05-25 21:11:20 +08:00
Wenjie Zhang
3771b7e804 feat(kb): 添加打开知识库文档功能及相关输入模型,优化文件内容读取 2026-05-25 21:09:14 +08:00
supreme0597
4d048e7be8 fix(knowledge): 在 LITE_MODE 下安全跳过不支持的知识库类型,防止 API 崩溃
- 检查并跳过未注册/不支持的 kb_type,避免抛出 KBNotFoundError 导致接口 500
- 分别在初始化 (_initialize_existing_kbs) 和概览列表查询 (get_databases) 中增加 checks
2026-05-24 13:48:51 +08:00
Wenjie Zhang
f29ad639e8 fix: 修复分块硬切句末标点归属 2026-05-17 01:18:03 +08:00
Wenjie Zhang
81b5d1eb96 feat: 使用 json_repair 替代 json 处理 LLM 评判结果,增强错误处理能力 2026-05-07 09:49:01 +08:00
Wenjie Zhang
7b664e35d0 feat: 添加默认查询参数提取功能,优化知识库检索配置加载 2026-05-06 23:09:45 +08:00
Wenjie Zhang
ab513e2619 feat: 优化评估基准生成,支持仅使用 commonrag/Milvus 知识库,调整参数配置 2026-05-06 22:12:09 +08:00
Wenjie Zhang
179b048f07 refactor(eval): 重构评估指标和基准生成
- 引入了一个新的指标计算模块,用于检索和答案评估。
-通过整合基准生成和评估指标来简化评估服务。
-为新指标和基准生成功能添加了单元测试。
- 更新了前端组件,以利用新的图标,并改进了评估基准的样式。
-将与评估相关的逻辑整合为专门的“知识/评估”结构,以更好地组织。
2026-05-06 18:04:31 +08:00
Wenjie Zhang
0890e504d8 feat: 添加文件状态标记功能,处理缺失 markdown_file 的情况 2026-05-06 16:59:26 +08:00
Wenjie Zhang
6c35fd732a feat: 优化文明命名,更加清晰 2026-05-04 11:36:08 +08:00
郭诣
75b5f36f09 fix(knowledge): 修复 general parser 分块超限导致 LightRAG 索引失败
naive_merge 不保证输出 chunk 在 token 上限内,当单行内容超过
chunk_token_num 时会产生超大 chunk,导致 LightRAG 报错
"Chunk token length 3140 exceeds chunk_token_size 1200"。

- nlp.py: 新增 hard_split_by_token_limit 公共硬切分函数
- general.py: 新增 _ensure_chunk_token_limit 兜底保护
- laws.py: 删除本地重复函数,改用 nlp 版本(DRY)
2026-05-01 22:31:58 +08:00
Wenjie Zhang
bba9bc974f feat: 添加 separator 解析器及相关配置,支持严格分隔功能 Question: 知识库对excel切分无法按行切分
Fixes #664
2026-04-28 20:30:02 +08:00
Wenjie Zhang
ee624513f1 style(format): 格式化代码 2026-04-27 02:24:52 +08:00
Wenjie Zhang
2920cbeec3 Merge branch 'main' into feat/model-config 2026-04-26 18:54:48 +08:00
Wenjie Zhang
9e1cf9e029 fix(knowledge): 修复 index_file 未传递用户自定义入参 params 导致入库参数不生效的 bug 2026-04-26 18:54:45 +08:00
Wenjie Zhang
e3d312059a feat(model): 重构嵌入模型选择器,新增 Rerank 模型选择器,优化模型提供者管理 2026-04-26 18:51:38 +08:00
GitHub Actions
a3dd2c96fe style: auto-format with ruff [skip ci] 2026-04-24 11:42:53 +00:00
zhou shujian
2b48190b25 chore: 标准化NLTK数据卷并清理测试文件
- 将docker-compose.yml中的NLTK数据挂载从主机路径改为命名卷,确保跨平台一致性
- 移除测试中生成临时文件的副作用,改为控制台输出切分结果
- 修复语义切分工具中NLTK资源检查逻辑,避免重复下载并提供明确错误提示
- 优化语义切分函数签名,支持embed_fn为None时的退化处理
2026-04-24 16:18:01 +08:00
zhou shujian
32fef0893c fix(knowledge/chunking): 修复列表和数学块切分时丢失上下文的问题
注释掉列表和数学块前的强制切分调用,避免在遇到有序列表、无序列表或数学块时过早中断当前内容块。这确保了列表项和数学公式能够与其前面的标题和段落保持在同一语义单元中,从而保留完整的上下文信息,提高后续检索的准确性。
2026-04-23 11:22:17 +08:00
zhou shujian
edf66bbe38 docs: 为知识分块工具函数添加详细注释
- 为 html_table_to_key_value 函数添加处理逻辑说明,解释如何应对过长表格的切分问题
- 为 infer_heading_level 函数添加层级推断规则说明,包括数字序号和中文序号的处理
- 为 extract_table_block 函数添加表格提取算法的详细步骤说明
- 为 split_text_by_length_and_newline 函数添加分块逻辑的详细注释,解释段落和行的处理流程
- 为语义分块相关函数添加中文文档,包括句子分割、聚类算法和整体流程说明
- 更新测试用例,使用更清晰的测试文档并添加结果保存功能
2026-04-22 17:14:10 +08:00
ZHOU Shujian
6934e19030 feat(chunking): 新增语义分块预设,支持基于嵌入和聚类的智能切分
- 添加语义分块预设选项,使用嵌入模型和聚类算法进行语义切分
- 实现标题路径增强、表格转换和图像标题处理等语义增强功能
- 新增NLTK相关依赖并持久化数据包,避免重复下载
- 添加完整的单元测试验证语义切分逻辑
2026-04-22 16:48:11 +08:00
Wenjie Zhang
8a3094cb1e feat(milvus): 增加 BM25 支持,优化混合检索功能及相关参数配置 2026-04-07 20:39:10 +08:00
Wenjie Zhang
66340c7227 fix(lightrag): 修改返回值以允许 LightRAG 进行二次切分,避免超限 Fix #554 2026-04-06 11:48:50 +08:00
Wenjie Zhang
94e16802d1 chore: 更新版本号至 v0.6.0.beta3,修正文档及配置文件中的相关信息 2026-03-30 15:48:57 +08:00
Wenjie Zhang
d1a02579bc fix: 修复 lightrag 序列化与 knowledge router 路径问题 Fixes: #584
- 修正 lightrag.py 中的序列化逻辑
- 修复 knowledge_router.py 路由路径
- 更新 roadmap.md 文档记录
2026-03-30 15:39:49 +08:00
Wenjie Zhang
4f6353d555 feat(test): 重组测试目录结构为 integration/unit/e2e 三层架构
- 将 api 测试重组为 integration 测试
- 新增 unit 和 e2e 测试目录分类
- 新增 testing-guidelines.md 测试指南文档
- 更新 pyproject.toml 和 run_tests.sh 以适配新结构

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 15:24:47 +08:00
Wenjie Zhang
51c2159b8c fix(LightRagKB): 修复知识库配置更新后,实例没有销毁导致的模型未更新 Fixes: #580 2026-03-25 20:46:57 +08:00
Wenjie Zhang
1d8a5e88af fix(kb): 修剪文件列表负载并清理处理参数 2026-03-25 08:06:25 +08:00
Wenjie Zhang
a6ef621184 fix(web): 修复数据库获取接口未过滤文件字段而导致的数据包过大的情况 2026-03-25 07:42:49 +08:00
Wenjie Zhang
aeed32264f fix: 移除 chat_stream_service.py 中的知识库权限过滤逻辑,已在工具层添加 2026-03-25 05:51:22 +08:00
Wenjie Zhang
969330a7e7 Merge branch '0.6.0-dev' into feat/agent-sandbox 2026-03-25 03:36:08 +08:00
Wenjie Zhang
32968259e1 refactor(web): 重构代理配置侧边栏和输入组件
- 更新了 AgentConfigSidebar.vue 以增强配置管理界面,包括添加用于创建新配置的模态框和改进只读状态的处理。
- 重构了 AgentInputArea.vue 以简化操作按钮并提高响应性。
- 简化了 AgentView.vue 中选择代理配置的下拉菜单,将其替换为切换侧边栏的按钮。
- 增强了 agent.js 中数值的处理,确保正确的类型转换。
- 清理了多个组件中的 CSS 样式,以获得更好的一致性和响应性。
- 删除了不必要的代码并提高了各种组件的可读性。
2026-03-24 11:09:50 +08:00
Wenjie Zhang
6a30936a49 feat: 引入 LITE_MODE 以有条件地启用/禁用知识图谱和向量数据库组件,更新 Docker Compose、后端路由器和前端 UI。 2026-03-24 11:09:47 +08:00