start-here.md
4.85 KB
Start Here / 新同学接手入口
目标:让新来的同学在 10 分钟内知道:先跑什么、先读什么、当前卡在哪、下一步该做什么。
1. 先执行这条命令
cd /workspace/acr-engine
/usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py \
--dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' \
--output data/pgvector_eval/music20/planner_validation_commands_runner_report.json
也可以用包装脚本:acr-engine/scripts/start_phase1_shortest_path.sh 'postgres://d2:d2pass@127.0.0.1:5432/d2'
当前 fresh evidence
executed_count = 4all_passed = true
这条命令会执行
prereq_auditworker_contract_smokesemantic_vector_negative_matrixasset_level_upsert_validation
看到下面这些结果时应该如何判断
如果你看到:
downloads_root_exists = falseready_jobs = 0- exact lane =
failed/unreadable_audio_assets - semantic lane =
4/4 failed
说明当前优先级是:
- 挂载
/workspace/downloads - 安装
torch / torchaudio / transformers / speechbrain
也就是说:
当前首要问题是运行环境前置条件,不是 PostgreSQL schema,也不是 worker contract 设计错误。
2. 接手时只读这 5 份文档
- README.md
- session-handoff.md
- acr-architecture.md
- postgresql-data-model.md
- phase1-implementation-checklist.md
如果你负责算法或检索,再补:
3. 用一句话理解项目
我们在做的是一个面向 版权保护 / 听歌识曲 / 版本归属 的音乐 ACR 系统,
目标是从 100w 音频、约 30w 歌曲中,快速定位正确的 song_id 归属;当前阶段暂不把版本/recording 作为必须返回对象。
4. 当前主线方案
检索主线
- exact lane:
Chromaprint - semantic lane baseline:
MERT-v1-95M - semantic lane challenger:
MuQ - historical baseline:
ECAPA
当前 Phase-1 最小主线
song -> asset -> window
可演进完整版主线
canonical_song -> work -> recording -> recording_asset -> audio_window
模型主线
model_registry -> feature_set_registry -> audio_embedding / audio_fingerprint -> retrieval_index_registry
5. 当前哪些已经稳定
- PostgreSQL v2 schema 已落地
- registry bootstrap 已有 live 验证
- worker contract 已有 live 验证
- exact / semantic 的失败语义已可审计
- planner 已能输出 validation commands
- planner validation runner 已可一键执行
6. 当前哪些还没完成
- 还没有真正跑通 MERT / MuQ inference
- 当前 host 没有
/workspace/downloads - 当前 host 缺
torch / torchaudio / transformers / speechbrain - 还没完成最终线上融合策略
- 还没接入更大规模真实 reference set
7. 如果你现在继续推进,按这个顺序
路线 A:先解环境
- 挂载
/workspace/downloads - 安装 semantic runtime 依赖
- 重跑 planner validation runner
- 确认
ready_jobs是否开始恢复
路线 B:先解实现
- 阅读 phase1-worker-contract.md
- 阅读
acr-engine/workers/run_embedding_job.py - 用真实 inference adapter 替换 guarded failure path
- 保持当前 PostgreSQL contract 不变
路线 C:先解数据
- 阅读 postgresql-data-model.md
- 阅读 postgres_db_schema_samples.md
- 准备更大的 reference set
- 保持
reference_set_registry / reference_set_member版本化
8. 当前不建议优先做的事
- 不要重新讨论要不要
song/work/recording分层 - 不要回退到只有
song_id的扁平表 - 不要先讨论重新训练底座
- 不要把当前问题误判成 PostgreSQL contract 设计问题
9. 仓库常用入口
文档
- README.md
- session-handoff.md
- postgresql-data-model.md
- postgres_db_schema_samples.md
- phase1-worker-contract.md
脚本
acr-engine/scripts/run_planner_validation_commands_live.pyacr-engine/scripts/run_phase1_prereq_audit_live.pyacr-engine/scripts/run_phase1_worker_contract_smoke_live.pyacr-engine/scripts/run_embedding_vector_table_negative_matrix_live.pyacr-engine/scripts/validate_audio_embedding_asset_upsert_live.py
一句话结论
新同学接手时,先跑 runner,再读 5 份核心文档;当前首要问题是环境前置条件,不是 schema/contract 本身。