|
|
hace 1 día | |
|---|---|---|
| src | hace 1 día | |
| .env | hace 1 día | |
| .gitignore | hace 1 día | |
| .python-version | hace 1 día | |
| README.md | hace 1 día | |
| opencode.json | hace 1 día | |
| pyproject.toml | hace 1 día | |
| uv.lock | hace 1 día |
数据治理涉及工作:原始文件上传OSS、 文档统一转换MinerU、文档层级修复、数据切分处理(父子段)、数据集JSON构建,数据集入库(基本信息、父子分片向量数据库)
路桥知识库数据治理脚本集合,主要处理:
数据会按脚本流程写入 Milvus、MinIO、MySQL。
3.12+uvMilvus、MinIO、MySQL(按你要跑的脚本决定)PowerShell 安装 uv:
irm https://astral.sh/uv/install.ps1 | iex
项目根目录安装依赖:
uv venv
uv sync --index-url https://pypi.tuna.tsinghua.edu.cn/simple
本项目多数脚本是“一次性批处理”,参数直接写在脚本顶部(例如 ROOT_DIR、EXCEL_PATH、OUTPUT_JSON、数据库连接参数等)。
运行前请先打开目标脚本,改成你本机路径和连接信息,再执行命令。
统一推荐:
uv run -m src.app.scripts.<script_name>
示例(状态 Excel 转 JSON):
uv run -m src.app.scripts.status_excel_info_json
最常见顺序:
base_count.py:Excel 与目录编号对比(找缺失)base_check.py:目录结构与命名校验base_info_json_generation.py:生成入库 JSON(含 parent/children)base_in_minio.py:上传原始文件/MD/JSON 到 MinIObase_info_in_database.py:写入 MySQLbase_collections_create.py:创建 Milvus 集合(首次)base_in_collection.py:向量化并写入 Milvus流程与 base 基本一致:
plan_count.py:Excel 与目录编号对比(找缺失)plan_check.py:目录结构与命名校验plan_info_json_generation.py:生成入库 JSON(含 parent/children)plan_info_in_minio.py上传原始文件/MD/JSON 到 MinIOplan_info_in_database.py:写入 MySQLplan_info_in_collection.py:JSON向量化并写入 Milvust_kngs_construction_plan_collections_create.py 与 t_kngs_construction_plan_collections_import.py 是施工方案知识结构片段的另一套父子表流程。
常见顺序:
status_excel_info_json.py:Excel 提取关键字段生成 JSONstatus_info_in_database.py:JSON 写入 MySQL 状态表first_bfp_collection_status_create.py:创建状态检索集合(首次)status_to_milvus.py:状态文本向量化写入 Milvus常见顺序:
first_bfp_collection_entity_create.py:创建实体集合(首次)first_bfp_collection_entity_import.py 或 first_bfp_collection_entity_import_v2.py:抽取并导入实体src/app/scripts/:主脚本目录(base / plan / status / entity / 工具脚本)src/app/scripts/tool/:抓取、去重、对比等辅助工具src/app/scripts/ceshi/:专家意见筛选脚本src/app/scripts/base_check.py:检查编制依据目录结构与命名是否和 Excel 一致,输出问题清单。base_collections_create.py:创建编制依据 Milvus 父子 collection(含索引与 BM25 稀疏配置)。base_count.py:对比 Excel id 与目录子文件夹,输出缺失编号清单。base_create_collection.py:创建编制依据 collection 的测试/示例版脚本,用于先跑通 schema。base_in_collection.py:将编制依据 JSON 的 parent/children 向量化后批量写入 Milvus。base_in_minio.py:上传编制依据原始文件、MD、JSON 到 MinIO 指定前缀。base_info_in_database.py:将编制依据 JSON 写入 MySQL(文档主表 + 标准基础信息表)。base_info_json_generation.py:按 Excel + 文件夹生成编制依据 JSON,并补充 parent/children 结构。character_repair.py:批量修复文本中的异常字符/乱码字符。ceshi_embdding.py:测试 embedding 接口连通性与返回向量维度。ceshi_minio.py:测试 MinIO 上传流程是否正常。copy_pdf_md_files.py:复制各子目录下 PDF/MD 到目标目录并保留层级结构。extract_bfp.py:从 PDF/DOCX 抽取编制依据相关章节并汇总标准/法规条目。first_bfp_collection_entity_create.py:创建实体检索用 Milvus collection。first_bfp_collection_entity_import.py:从文档中抽取实体并向量化导入 Milvus。first_bfp_collection_entity_import_v2.py:实体导入增强版(更强抽取与结构处理能力)。first_bfp_collection_status_create.py:创建时效性状态检索的 Milvus collection。html_tables_to_md.py:将 Markdown 文件中的 HTML 表格转换为 Markdown 表格。page_index_md.py:解析 Markdown 标题层级并生成树形索引 JSON。pdf_info_image.py:按页将 PDF 转成图片并输出到同名目录。plan_chaxun.py:读取缺失清单,在目录中做名称包含匹配辅助排查。plan_check.py:检查施工方案目录结构/命名与 Excel 的一致性。plan_count.py:对比施工方案 Excel 与目录 ID,输出缺失目录清单。plan_entity_import_engine.py:从施工方案/编制依据 MD 抽取实体并批量导入实体库的通用引擎版脚本。plan_info_in_collection.py:将施工方案 JSON 的 parent/children 向量化后写入 Milvus。plan_info_in_collection_v2.py:施工方案入库增强版,支持断点续传、失败报告、Milvus 进度校验与更细分文本切分。plan_info_in_database.py:将施工方案 JSON 写入 MySQL(文档主表 + 方案基础信息表)。plan_info_in_minio.py:上传施工方案原始文件、MD、JSON 到 MinIO。plan_info_json_generation.py:按 Excel + 文件夹生成施工方案 JSON,并补充 parent/children。python_processed_article.py:调用 LLM 对文章内容做结构化整理与分块输出。run_all.py:批量调用 mineru 转换 PDF,记录成功/失败与重跑进度日志。select_url.py:抓取标准网站信息(状态/发布日期/发布部门等)并增量保存结果。status_excel_info_json.py:从时效性 Excel 提取关键字段并导出 JSON。status_info_in_database.py:将状态 JSON 异步写入 MySQL 状态表,输出失败记录。t_kngs_construction_plan_collections_create.py:创建 t_kngs 施工方案知识结构父子 collection。t_kngs_construction_plan_collections_import.py:将施工方案知识结构 JSON 切分后导入 t_kngs 父子表。专家意见提取对比.py:比对原始文件与转换结果,将未匹配的 PDF/DOCX 移动到指定目录。提取json.py:从根目录数字子文件夹收集 JSON 并集中拷贝到输出目录。src/app/scripts/tool/(时效性核对)excel_info_csv.py:将 Excel(xlsx)转换为 CSV。gongbiaoku_check.py:从 工标库 抓取标准状态/发布日期/发布单位等信息。gongbiaowang_select.py:从 工标网 抓取标准状态/发布日期/发布单位等信息。samr_select.py:从全国标准信息服务平台抓取标准状态与时间字段。时效性去重.py:按编号/名称/状态对结果去重并输出删除汇总。时效性查询结果对比.py:对比源数据与查询结果,输出缺失/不一致/多余项。src/app/scripts/ceshi/03-施工方案筛选.py:施工方案评审意见筛选脚本(初始版本)。03-施工方案筛选_服务器版.py:施工方案筛选的服务器并发版(多进程与增量缓存)。优先检查脚本顶部路径常量是否是你本机真实路径(很多脚本默认是历史路径)。
有 run_all.py,但该脚本内默认路径是服务器目录(例如 /home/ubuntu/...),本地使用前必须先改。
先确认目标 collection schema 与脚本写入字段一致;必要时先执行对应 *_create.py 重建/初始化集合。
注意问题:创建collection注意使用chinese分词器,字段创建索引 嵌入不使用OpenAI embedding