Skip to content

feat: 对齐数据集配置 27 项 Java/Python 模型并补齐 MinIO 三桶 (LINK-219)#142

Merged
Fang0415 merged 1 commit into
devfrom
feature/link-219
Jun 28, 2026
Merged

feat: 对齐数据集配置 27 项 Java/Python 模型并补齐 MinIO 三桶 (LINK-219)#142
Fang0415 merged 1 commit into
devfrom
feature/link-219

Conversation

@Fang0415

Copy link
Copy Markdown
Contributor

背景

Python 端(toLink-Rag)已完成数据集级解析/检索配置的全部参数定义,权威源在 src/core/dataset_config/models.py。本 PR 把 Java 管理端与之逐项对齐,并顺带补齐 MinIO 三桶改造遗留的编译错误与文档同步。关联 issue:LINK-219

Java 端 ↔ Python 端 配置对齐(5 类 27 项)

字段名、类型、校验范围、默认回落语义全部与 Python Pydantic 模型保持一致。「未提交字段不落库、由 Python 消费时按系统 Settings (L1) 补默认」的分层语义两端统一。

项数 字段
Chunking 分块 7 heading_break_level / min_candidate_chunk_tokens / overlap_tokens / max_chunk_tokens / hard_max_tokens / stage_two_algorithm / protected_neighbor_overlap
Enhancement 增强 3 enable_table_enhancement / enable_image_enhancement / enable_heading_hierarchy
PDF 1 pdf_parser_backend
Recall 召回 14 recall_result_limit / recall_context_token_budget / bm25_top_k / sparse_top_k / sparse_score_threshold / dense_top_k / dense_score_threshold / recall_enabled_sources / recall_fusion_strategy / fusion_bm25_weight / fusion_sparse_weight / fusion_dense_weight / rerank_top_n / recall_strict
Embedding 向量模型绑定 2 sparse_embedding_config_id / dense_embedding_config_id(两个独立 BIGINT 列,绑定后不可修改,由 Java 侧强制)

唯一的语义修正

ChunkingConfig.protected_neighbor_overlap:原 Java 实现为 Integer(误当作"重叠 token 数"),Python 权威模型是 Boolean(开关:含受保护元素——表格/代码块/公式——的 chunk 是否参与 neighbor overlap)。本 PR 改为 Boolean,消除跨端 int→bool 强转导致的语义漂移。

两处确认对齐、无需改动

  • PDF 后端白名单:Java 的 auto / mineru / opendataloader / naive 与 Python registry 实际注册后端一致。
  • Embedding 存储:issue 文档描述为单个 embedding_config JSON 列,实际两端都用两个独立 BIGINT 列,完全兼容。

MinIO 三桶补齐

  • LocalFileServicecase RAW 分支,修复 OssSavePlaceEnum.RAW 未覆盖导致的 switch 编译失败。
  • 同步三桶(公开 tolink-public / 原文件 tolink-rag-raw / 解析产物 tolink-rag-docs)相关文档与配置:.env.exampledocs/ops/configuration.mddocs/internals/object_storage_module.mddocs/internals/document_file_module.md

测试

  • 受影响测试类全绿:DatasetParseConfigServiceImplTest(13) / DatasetParseConfigControllerTest(27) / LocalFileServiceTest(7),共 47 个用例,0 失败。
  • python3 scripts/check_docs_sync.py --working 通过,无文档同步遗漏。

收尾

至此 Java 管理端与 Python 执行端在数据集配置这一契约上完成对齐:两端共享同一张 dataset_parse_config 表、同一套字段语义与默认回落规则,新增配置项只需在 Python 权威模型与本 PR 涉及的 Java DTO 同步追加即可。Web 端配置表单将基于这 27 项作为下一步对齐目标。

🤖 Generated with Claude Code

- 数据集解析/检索配置 5 类 27 项与 Python 权威模型 (src/core/dataset_config/models.py) 逐项对齐:
  字段名、类型、校验、默认回落语义保持一致
- 修复 ChunkingConfig.protected_neighbor_overlap:Integer → Boolean,
  对齐 Python 的开关语义(含受保护元素的 chunk 是否参与 neighbor overlap)
- LocalFileService 补 case RAW 分支,修复 OssSavePlaceEnum.RAW 未覆盖导致的编译失败
- 同步 MinIO 三桶(公开 / 原文件 tolink-rag-raw / 解析产物 tolink-rag-docs)相关文档与配置:
  .env.example、configuration.md、object_storage_module.md、document_file_module.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Fang0415 Fang0415 merged commit 0ae1b0f into dev Jun 28, 2026
1 check passed
@jixua jixua mentioned this pull request Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant