路桥数据治理、知识库入库处理

ZengChao e3d38b1a03 dev:整合编制依据提取的代码 vor 1 Monat
src e3d38b1a03 dev:整合编制依据提取的代码 vor 1 Monat
.env a10c2bb95c dev:总结交接文件 vor 1 Monat
.gitignore eac2818c4d Initial commit vor 2 Monaten
.python-version 901a19b4b9 feat:生成对应编制依据信息json文件 vor 2 Monaten
LICENSE eac2818c4d Initial commit vor 2 Monaten
README.md e3d38b1a03 dev:整合编制依据提取的代码 vor 1 Monat
pyproject.toml e3d38b1a03 dev:整合编制依据提取的代码 vor 1 Monat
uv.lock e3d38b1a03 dev:整合编制依据提取的代码 vor 1 Monat

README.md

LQKgDataGovernance

路桥数据治理与知识库入库脚本项目(标准规范 + 施工方案 + 状态数据)。

1. 项目启动

1.1 环境要求

安装uv powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

  • Python 3.12+
  • 可访问的服务:Milvus、MinIO、MySQL(如果要跑数据库入库脚本)

1.2 安装依赖

使用 uv

uv venv 
uv sync --index-url https://pypi.tuna.tsinghua.edu.cn/simple

1.4 运行脚本(示例)

进入项目根目录后执行:

uv run -m src.app.scripts.statu_to_milvus

提示:大多数脚本在文件顶部有路径常量(如 ROOT_FOLDEREXCEL_PATH),运行前请先改成你本机路径。


2. 文件说明

base(编制依据)

  • base_count.py:比对 Excel ID 与目录,输出缺失目录清单 JSON
  • base_check.py:检查目录结构/命名与 Excel 是否一致,输出问题清单
  • base_info_json_generation.py:按 Excel + 文件夹生成标准信息 JSON,并切分 MD 为 parent/children
  • base_in_minio.py:上传原始文件、MD、JSON 到 MinIO
  • base_info_in_database.py:将 JSON 中文档信息写入 MySQL(文档主表 + 标准基础信息表)
  • base_create_collection.py:创建 Milvus parent/child collection(含 BM25 function)
  • base_in_collection.py:将 JSON 的 parent/children 生成向量并写入 Milvus

plan(施工方案)

  • plan_count.py:比对 Excel ID 与目录,输出缺失目录清单 JSON
  • plan_check.py:检查施工方案目录结构/命名与 Excel 的一致性
  • plan_info_json_generation.py:生成施工方案 JSON,并切分 MD 为 parent/children
  • plan_info_in_minio.py:上传施工方案原始文件、MD、JSON 到 MinIO
  • plan_info_in_database.py:将施工方案 JSON 信息写入 MySQL
  • plan_info_in_collection.py:将施工方案 parent/children 向量化后写入 Milvus
  • plan_chaxun.py:按 missing_folders.json 在目录中做名称匹配检查的小工具

其他/测试脚本

  • statu_to_milvus.py:状态数据(含发布单位)向量化并写入 Milvus 指定 collection
  • copy_pdf_md_files.py:拷贝各子目录中的 PDF/MD 到目标目录,保留子目录结构
  • ceshi.py:MinIO 上传测试脚本(批量上传 md)
  • ceshi_embdding.py:Embedding 接口联通测试脚本
  • python_processed_article:python脚本修复层级
  • extract_bfp.py:遍历指定目录的 PDF/DOCX,提取每份文档的“编制依据”章节并汇总标准/法规编号
  • page_index_md.py:将 Markdown 目录结构解析成树形 JSON(可选精简/摘要),用于生成节点级索引

4. 注意事项

  • 多数脚本为“一次性批处理”,执行前请先确认顶部路径配置。
  • base_*plan_* 基本一一对应,不要混用目录。
  • 如果 Milvus schema 未开启动态字段,写入字段必须与 collection 定义完全一致。