обновлен процесс обработки данных

This commit is contained in:
Даниил Грабарь
2026-10-26 11:29:03 +10:00
parent 1059b47978
commit 879d90605c
6 changed files with 219 additions and 32 deletions
+15 -4
View File
@@ -54,7 +54,7 @@ uv run python -m assembly_dataset validate
процент выполнения, скорость, прошедшее и приблизительное оставшееся время.
При продолжении корпуса генерация начинается с уже сохранённого количества.
Счётчик генерации обновляется после сохранения пакета проверенных эпизодов,
Счётчик генерации обновляется после сохранения каждого проверенного эпизода,
а не после каждого API-запроса. Во время вызовов модели отображается
«ожидание LLM». Экспорт отдельно показывает запись строк и подготовку контрольных
сумм. Оценка времени появляется после первых обновлений и может меняться из-за
@@ -228,9 +228,20 @@ dataset/assembly-ru/
SQLite служит транзакционным checkpoint и индексом уникальности. Он хранит полные
эпизоды, включая trace и teacher-ошибки. Пакет в памяти ограничен размером очереди;
SFT экспортируется потоково по шардам. После прерывания повторите команду:
принятые эпизоды сохраняются, незавершённый пакет повторяется. При teacher-режиме
запросы незавершённого пакета могут повториться. Одновременные писатели в одну папку
Каждый готовый ответ сохраняется сразу, не ожидая остальных запросов пакета.
При Ctrl+C, SIGTERM или ошибке генерации CLI экспортирует накопленные данные
в JSONL/CSV; неполный экспорт отмечается `partial: true` в manifest.
После исчерпания повторных попыток ошибки API останавливают генерацию.
Невалидные планы, как прежде, заменяются проверенным символическим планом с отметкой ошибки.
Для корпуса только из ответов LLM запускайте `generate --teacher-only`: при
невалидном ответе генерация остановится с экспортом накопленных записей,
а символическая замена не попадёт в базу. Флаг действует на новые записи;
ранее сохранённые эпизоды он не удаляет.
Для продолжения повторите команду с теми же настройками: сохранённые эпизоды
не запрашиваются повторно, незавершённые запросы выполняются заново.
После принудительного завершения (SIGKILL) данные остаются в SQLite;
экспортировать их без запросов к LLM можно командой
`uv run python -m assembly_dataset export --allow-partial`. Одновременные писатели в одну папку
блокируются. Неизменённый процедурный запуск воспроизводим побайтно.
Полный экспорт пересобирается во временную папку и затем заменяет предыдущий.