miro-engine
generate_characters
你这个判断是对的。脚本我已经改成了分块处理 + 实时进度 + 可恢复,不会再“长时间没反应”。
我做了哪些改动
- 按块读取
source/*.txt(默认chunk_size=7000,overlap=600) - 每处理一个块都会打印进度,并把候选人物缓存到:
/root/miro-engine/.cache/character_candidates.json
- 人物 JSON 逐个生成、逐个落盘(不是最后一次性写)
- 增加了可控参数,避免一次跑太重:
--max-name-chunks:只先跑前 N 块--max-characters:只先生成前 N 个人物--reuse-candidates:复用上次候选名单继续生成--request-timeout:单次请求超时秒数
我已做过冒烟测试,能正常边跑边写出 JSON。
推荐运行方式(大文件友好)
先小范围验证:
1 | |
确认没问题后全量跑:
1 | |
如果中断后继续(不重复抽取名字):
1 | |
如果你愿意,我可以再加一个 --skip-existing,让它遇到已存在的人物 JSON 自动跳过,只补新增人物。