fix: AI 표본 생성 재개 시 목표 건수 보존

This commit is contained in:
hbyang 2026-08-20 17:18:03 +09:00
parent 265a388389
commit 78e9f8648a

View File

@ -264,6 +264,7 @@ def main() -> int:
done = load_done_ids(args.out)
if done:
logger.info("기존 출력 %d건을 건너뜁니다: %s", len(done), args.out)
target_new = max(0, args.limit - len(done))
rng = random.Random(args.seed)
# 소재 행을 결정적으로 섞는다. 같은 seed 면 같은 순서가 나온다.
@ -335,7 +336,7 @@ def main() -> int:
with sink as sink:
if args.dry_run:
for task in tasks:
if written >= args.limit:
if written >= target_new:
break
_, _, _, target, _, model, prompt = task
print(f"\n--- [{written + 1}] model={model} target={target}자 ---")
@ -343,9 +344,9 @@ def main() -> int:
written += 1
else:
with ThreadPoolExecutor(max_workers=args.concurrency) as executor:
while written < args.limit:
while written < target_new:
batch = []
for _ in range(min(args.concurrency, args.limit - written)):
for _ in range(min(args.concurrency, target_new - written)):
task = next(tasks, None)
if task is not None:
batch.append(task)
@ -381,7 +382,8 @@ def main() -> int:
if written % 50 == 0:
logger.info(
"생성 %d/%d (길이 폐기 %d, 품질 폐기 %d, 실패 %d)",
written, args.limit, skipped_len, skipped_quality, failed,
len(done) + written, args.limit,
skipped_len, skipped_quality, failed,
)
logger.info(