Files
llm/docs/runbooks/artifact-portability.md

2.2 KiB

Artifact Portability

Модели, RAG-корпусы, выгрузки ИТС, снапшоты метаданных и тренировочные наборы не хранятся в git. При переносе проекта или запуске в Docker их нужно переносить и монтировать отдельно.

Build Manifest

python scripts/build_llm_artifact_manifest.py --output reports/llm-artifact-manifest.json

По умолчанию manifest хранит размеры, количество файлов, расширения и sample файлов. Хеширование больших моделей выключено, чтобы команда не была медленной. Для более строгой проверки:

python scripts/build_llm_artifact_manifest.py --hash-files --max-files 2000

Check Manifest

На той же машине:

python scripts/check_llm_artifact_manifest.py `
  --manifest reports/llm-artifact-manifest.json `
  --output reports/llm-artifact-check.json

После переноса в другой workspace:

python scripts/check_llm_artifact_manifest.py `
  --manifest reports/llm-artifact-manifest.json `
  --target-root Z:/codex/LLM `
  --output reports/llm-artifact-check.json

Docker Volumes

Контейнеры не должны хранить эти данные во внутреннем слое. Монтируем внешние папки:

volumes:
  - Z:/codex/LLM/models:/app/models
  - Z:/codex/LLM/plugins/1c/datasets:/app/plugins/1c/datasets
  - Z:/codex/LLM/plugins/1c/rag/sources:/app/plugins/1c/rag/sources
  - Z:/codex/LLM/plugins/1c/rag/official-docs:/app/plugins/1c/rag/official-docs
  - Z:/codex/LLM/plugins/1c/metadata/snapshots:/app/plugins/1c/metadata/snapshots

Rule

Перед удалением контейнеров, переносом на другой host или пересборкой volumes:

  1. Собрать manifest.
  2. Скопировать artifact directories.
  3. Проверить manifest на целевом пути.
  4. Только потом запускать Docker services.