Keep the memory schema free of launch and adapter shapes
schemas.py was 473 lines and the memory lifecycle work needs to add fields to it. The seven adapter and launch-profile models were the right thing to move: they describe what trained the model and how a machine starts it, they change when the evidence rules change, and the memory model should not move with them. They joined the runtime shapes file that already held the adapter load report. schemas.py 473 -> 314 lines, runtime_schemas.py 30 -> 192. Every moved class body is byte-identical (compared with ast.get_source_segment against HEAD: 37 classes then, 30 + 9 now, none missing, none differing). Gates: 333 passed, ruff clean, filesize clean, mypy 24 errors in 9 files on both trees with identical messages, pyright 9 errors on the package on both trees.
This commit is contained in:
1 parent
a6a1ef05f0
commit
4c6af87fe0
13 files changed
+189
-183
No files matched your search
@@ -13,8 +13,14 @@ from pydantic import ValidationError
|
|||||||
from . import cartridge_store
|
from . import cartridge_store
|
||||||
from .config import Settings
|
from .config import Settings
|
||||||
from .db import Database
|
from .db import Database
|
||||||
from .runtime_schemas import AdapterChoice, AdapterLoadReport, AdapterOrigin, AdapterState
|
from .runtime_schemas import (
|
||||||
from .schemas import AdapterManifest, TrainingAdapterKind
|
AdapterChoice,
|
||||||
|
AdapterLoadReport,
|
||||||
|
AdapterManifest,
|
||||||
|
AdapterOrigin,
|
||||||
|
AdapterState,
|
||||||
|
)
|
||||||
|
from .schemas import TrainingAdapterKind
|
||||||
|
|
||||||
logger = logging.getLogger("ely_eye.adapters")
|
logger = logging.getLogger("ely_eye.adapters")
|
||||||
|
|
||||||
|
|||||||
@@ -30,10 +30,8 @@ from .profiles import runtime_profile_report
|
|||||||
from .proofs import HashHopEvaluator, PRDProofSuite
|
from .proofs import HashHopEvaluator, PRDProofSuite
|
||||||
from .retrieval import RetrievalService
|
from .retrieval import RetrievalService
|
||||||
from .runtime import QwenRuntime, RuntimeUnavailableError
|
from .runtime import QwenRuntime, RuntimeUnavailableError
|
||||||
from .runtime_schemas import AdapterLoadReport
|
from .runtime_schemas import AdapterLoadReport, AdapterManifest, AdapterStatus, RuntimeProfileReport
|
||||||
from .schemas import (
|
from .schemas import (
|
||||||
AdapterManifest,
|
|
||||||
AdapterStatus,
|
|
||||||
AnswerResponse,
|
AnswerResponse,
|
||||||
AtomPage,
|
AtomPage,
|
||||||
EvidenceAtom,
|
EvidenceAtom,
|
||||||
@@ -44,7 +42,6 @@ from .schemas import (
|
|||||||
PathIngestRequest,
|
PathIngestRequest,
|
||||||
RememberRequest,
|
RememberRequest,
|
||||||
RuntimeProfile,
|
RuntimeProfile,
|
||||||
RuntimeProfileReport,
|
|
||||||
SearchRequest,
|
SearchRequest,
|
||||||
SearchResult,
|
SearchResult,
|
||||||
SupersedeRequest,
|
SupersedeRequest,
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ from .cartridge import CartridgeService
|
|||||||
from .cartridge_assets import CartridgeAssetService
|
from .cartridge_assets import CartridgeAssetService
|
||||||
from .config import Settings
|
from .config import Settings
|
||||||
from .db import Database
|
from .db import Database
|
||||||
from .schemas import AppendRequest, CartridgeAssetReport, CartridgeManifest, MountState
|
from .runtime_schemas import CartridgeAssetReport
|
||||||
|
from .schemas import AppendRequest, CartridgeManifest, MountState
|
||||||
|
|
||||||
|
|
||||||
def register(app: FastAPI, settings_dep: Callable[[], Settings]) -> None:
|
def register(app: FastAPI, settings_dep: Callable[[], Settings]) -> None:
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ from . import cartridge_store
|
|||||||
from .config import Settings, get_settings
|
from .config import Settings, get_settings
|
||||||
from .db import Database
|
from .db import Database
|
||||||
from .kv_fingerprint import compute_fingerprint, fingerprint_diff, unverifiable_fields
|
from .kv_fingerprint import compute_fingerprint, fingerprint_diff, unverifiable_fields
|
||||||
|
from .runtime_schemas import AdapterManifest
|
||||||
from .schemas import (
|
from .schemas import (
|
||||||
AdapterManifest,
|
|
||||||
CartridgeManifest,
|
CartridgeManifest,
|
||||||
EvidenceAtom,
|
EvidenceAtom,
|
||||||
MountState,
|
MountState,
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from PIL import Image
|
|||||||
from .cartridge import JSON_PARQUET_COLUMNS, CartridgeService
|
from .cartridge import JSON_PARQUET_COLUMNS, CartridgeService
|
||||||
from .config import Settings, get_settings
|
from .config import Settings, get_settings
|
||||||
from .db import Database
|
from .db import Database
|
||||||
from .schemas import CartridgeAssetReport, CartridgeAssetStatus
|
from .runtime_schemas import CartridgeAssetReport, CartridgeAssetStatus
|
||||||
from .storage import ObjectStore, sha256_file
|
from .storage import ObjectStore, sha256_file
|
||||||
|
|
||||||
TEXT_VECTOR_DIMS = 384
|
TEXT_VECTOR_DIMS = 384
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import subprocess
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from .config import Settings
|
from .config import Settings
|
||||||
from .schemas import RuntimeLaunchProfile, RuntimeProfileReport, RuntimeProfileValidation
|
from .runtime_schemas import RuntimeLaunchProfile, RuntimeProfileReport, RuntimeProfileValidation
|
||||||
|
|
||||||
EXTREME_YARN_OVERRIDE = {
|
EXTREME_YARN_OVERRIDE = {
|
||||||
"text_config": {
|
"text_config": {
|
||||||
|
|||||||
@@ -14,10 +14,8 @@ from ..db import Database
|
|||||||
from ..evaluation_schemas import (
|
from ..evaluation_schemas import (
|
||||||
ProofCheck,
|
ProofCheck,
|
||||||
)
|
)
|
||||||
from ..schemas import (
|
from ..runtime_schemas import AdapterManifest
|
||||||
AdapterManifest,
|
from ..schemas import TrainingAdapterKind
|
||||||
TrainingAdapterKind,
|
|
||||||
)
|
|
||||||
from ..training_common import sha256_file, sha256_tree
|
from ..training_common import sha256_file, sha256_tree
|
||||||
from ..training_metrics import safetensor_weight_stats
|
from ..training_metrics import safetensor_weight_stats
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,8 @@ import math
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from ..schemas import (
|
from ..runtime_schemas import AdapterManifest
|
||||||
AdapterManifest,
|
from ..schemas import TrainingAdapterKind
|
||||||
TrainingAdapterKind,
|
|
||||||
)
|
|
||||||
from ..training_common import (
|
from ..training_common import (
|
||||||
AUTOCAST_DTYPE,
|
AUTOCAST_DTYPE,
|
||||||
GRADIENT_CHECKPOINTING_MODE,
|
GRADIENT_CHECKPOINTING_MODE,
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
"""Runtime observability shapes: what the model holds in memory right now."""
|
"""Runtime and adapter shapes: what the model holds in memory, what trained it, and how a machine
|
||||||
|
launches it. A proof report moves when the evidence rules move; the memory model should not.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from datetime import datetime
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
from .schemas import TrainingAdapterKind
|
from .schemas import TrainingAdapterKind, utc_now
|
||||||
|
|
||||||
AdapterState = Literal["loaded", "available", "deferred", "missing"]
|
AdapterState = Literal["loaded", "available", "deferred", "missing"]
|
||||||
AdapterOrigin = Literal["library", "cartridge"]
|
AdapterOrigin = Literal["library", "cartridge"]
|
||||||
@@ -28,3 +31,162 @@ class AdapterLoadReport(BaseModel):
|
|||||||
model_id: str
|
model_id: str
|
||||||
mounted: list[str]
|
mounted: list[str]
|
||||||
adapters: list[AdapterChoice]
|
adapters: list[AdapterChoice]
|
||||||
|
|
||||||
|
class AdapterManifest(BaseModel):
|
||||||
|
adapter_id: str
|
||||||
|
kind: TrainingAdapterKind
|
||||||
|
created_at: datetime
|
||||||
|
proof_version: int = 1
|
||||||
|
training_method: str = "BF16 LoRA"
|
||||||
|
precision: str = "bf16"
|
||||||
|
framework: str = "unsloth_patched_transformers_peft"
|
||||||
|
base_model: str
|
||||||
|
dataset_path: str
|
||||||
|
dataset_sha256: str
|
||||||
|
sample_count: int
|
||||||
|
max_steps: int
|
||||||
|
max_length: int
|
||||||
|
rank: int
|
||||||
|
alpha: int
|
||||||
|
target_modules: list[str]
|
||||||
|
trainable_params: int
|
||||||
|
total_params: int
|
||||||
|
optimizer: str
|
||||||
|
optimizer_family: str | None = None
|
||||||
|
learning_rate: float
|
||||||
|
gradient_accumulation_steps: int
|
||||||
|
gradient_checkpointing: bool = False
|
||||||
|
gradient_checkpointing_mode: str | None = None
|
||||||
|
autocast_dtype: str | None = None
|
||||||
|
unsloth_version: str | None = None
|
||||||
|
triton_version: str | None = None
|
||||||
|
xformers_version: str | None = None
|
||||||
|
unsloth_model_type: str | None = None
|
||||||
|
bf16: bool
|
||||||
|
final_loss: float | None
|
||||||
|
loss_history: list[float] = Field(default_factory=list)
|
||||||
|
initial_trainable_sha256: str | None = None
|
||||||
|
final_trainable_sha256: str | None = None
|
||||||
|
initial_trainable_l2: float | None = None
|
||||||
|
final_trainable_l2: float | None = None
|
||||||
|
optimizer_update_count: int = 0
|
||||||
|
max_optimizer_update_l2: float | None = None
|
||||||
|
loss_delta: float | None = None
|
||||||
|
training_proof_path: str | None = None
|
||||||
|
training_proof_sha256: str | None = None
|
||||||
|
training_trace_path: str | None = None
|
||||||
|
training_trace_sha256: str | None = None
|
||||||
|
training_summary_path: str | None = None
|
||||||
|
training_summary_sha256: str | None = None
|
||||||
|
training_started_at: datetime | None = None
|
||||||
|
training_finished_at: datetime | None = None
|
||||||
|
training_wall_seconds: float | None = None
|
||||||
|
training_device: str | None = None
|
||||||
|
torch_version: str | None = None
|
||||||
|
cuda_version: str | None = None
|
||||||
|
adapter_weight_sha256: str | None = None
|
||||||
|
adapter_tensor_count: int = 0
|
||||||
|
adapter_lora_tensor_count: int = 0
|
||||||
|
adapter_total_elements: int = 0
|
||||||
|
adapter_nonzero_elements: int = 0
|
||||||
|
adapter_max_abs: float | None = None
|
||||||
|
adapter_weights_finite: bool = False
|
||||||
|
artifacts: dict[str, str]
|
||||||
|
sha256: str
|
||||||
|
cartridge_id: str | None = None
|
||||||
|
|
||||||
|
class AdapterStatus(BaseModel):
|
||||||
|
name: str
|
||||||
|
kind: TrainingAdapterKind
|
||||||
|
proof_version: int = 1
|
||||||
|
training_method: str = "BF16 LoRA"
|
||||||
|
precision: str = "bf16"
|
||||||
|
framework: str = "unsloth_patched_transformers_peft"
|
||||||
|
base_model: str
|
||||||
|
path: str
|
||||||
|
adapter_id: str
|
||||||
|
sample_count: int
|
||||||
|
max_steps: int
|
||||||
|
trainable_params: int
|
||||||
|
final_loss: float | None
|
||||||
|
sha256: str
|
||||||
|
weight_bytes: int
|
||||||
|
safetensor_keys: int
|
||||||
|
cartridge_id: str | None = None
|
||||||
|
cartridge_bound: bool
|
||||||
|
training_trace_path: str | None = None
|
||||||
|
training_trace_sha256: str | None = None
|
||||||
|
training_trace_steps: int = 0
|
||||||
|
training_proof_path: str | None = None
|
||||||
|
training_proof_sha256: str | None = None
|
||||||
|
optimizer: str | None = None
|
||||||
|
optimizer_family: str | None = None
|
||||||
|
gradient_checkpointing: bool = False
|
||||||
|
gradient_checkpointing_mode: str | None = None
|
||||||
|
autocast_dtype: str | None = None
|
||||||
|
unsloth_version: str | None = None
|
||||||
|
triton_version: str | None = None
|
||||||
|
xformers_version: str | None = None
|
||||||
|
unsloth_model_type: str | None = None
|
||||||
|
optimizer_update_count: int = 0
|
||||||
|
max_optimizer_update_l2: float | None = None
|
||||||
|
loss_delta: float | None = None
|
||||||
|
training_summary_path: str | None = None
|
||||||
|
training_wall_seconds: float | None = None
|
||||||
|
training_device: str | None = None
|
||||||
|
bf16: bool = False
|
||||||
|
torch_version: str | None = None
|
||||||
|
cuda_version: str | None = None
|
||||||
|
adapter_weight_sha256: str | None = None
|
||||||
|
adapter_tensor_count: int = 0
|
||||||
|
adapter_lora_tensor_count: int = 0
|
||||||
|
adapter_total_elements: int = 0
|
||||||
|
adapter_nonzero_elements: int = 0
|
||||||
|
adapter_max_abs: float | None = None
|
||||||
|
adapter_weights_finite: bool = False
|
||||||
|
|
||||||
|
class CartridgeAssetStatus(BaseModel):
|
||||||
|
name: str
|
||||||
|
path: str
|
||||||
|
sha256: str
|
||||||
|
size_bytes: int
|
||||||
|
item_count: int
|
||||||
|
dtype: str
|
||||||
|
status: Literal["ready", "missing"]
|
||||||
|
|
||||||
|
class CartridgeAssetReport(BaseModel):
|
||||||
|
cartridge_id: str
|
||||||
|
status: Literal["ready", "incomplete"]
|
||||||
|
created_at: datetime = Field(default_factory=utc_now)
|
||||||
|
assets: list[CartridgeAssetStatus]
|
||||||
|
|
||||||
|
class RuntimeLaunchProfile(BaseModel):
|
||||||
|
name: str
|
||||||
|
runtime: str
|
||||||
|
role: str
|
||||||
|
context_tokens: int
|
||||||
|
script: str
|
||||||
|
command: list[str]
|
||||||
|
environment: dict[str, str] = Field(default_factory=dict)
|
||||||
|
required_features: list[str] = Field(default_factory=list)
|
||||||
|
|
||||||
|
class RuntimeProfileValidation(BaseModel):
|
||||||
|
name: str
|
||||||
|
runtime: str
|
||||||
|
status: Literal["ready", "missing"]
|
||||||
|
script_exists: bool
|
||||||
|
package: str | None = None
|
||||||
|
package_version: str | None = None
|
||||||
|
executable: str | None = None
|
||||||
|
gpu_available: bool = False
|
||||||
|
probe_command: list[str] = Field(default_factory=list)
|
||||||
|
probe_status: Literal["passed", "failed", "skipped"] = "skipped"
|
||||||
|
probe_exit_code: int | None = None
|
||||||
|
probe_output: str | None = None
|
||||||
|
detail: str
|
||||||
|
|
||||||
|
class RuntimeProfileReport(BaseModel):
|
||||||
|
status: Literal["ready", "incomplete"]
|
||||||
|
created_at: datetime = Field(default_factory=utc_now)
|
||||||
|
profiles: list[RuntimeLaunchProfile]
|
||||||
|
validations: list[RuntimeProfileValidation] = Field(default_factory=list)
|
||||||
@@ -266,165 +266,6 @@ class CartridgeManifest(BaseModel):
|
|||||||
kv_fingerprint: KvFingerprint | None = None
|
kv_fingerprint: KvFingerprint | None = None
|
||||||
dna: str | None = None
|
dna: str | None = None
|
||||||
|
|
||||||
class AdapterManifest(BaseModel):
|
|
||||||
adapter_id: str
|
|
||||||
kind: TrainingAdapterKind
|
|
||||||
created_at: datetime
|
|
||||||
proof_version: int = 1
|
|
||||||
training_method: str = "BF16 LoRA"
|
|
||||||
precision: str = "bf16"
|
|
||||||
framework: str = "unsloth_patched_transformers_peft"
|
|
||||||
base_model: str
|
|
||||||
dataset_path: str
|
|
||||||
dataset_sha256: str
|
|
||||||
sample_count: int
|
|
||||||
max_steps: int
|
|
||||||
max_length: int
|
|
||||||
rank: int
|
|
||||||
alpha: int
|
|
||||||
target_modules: list[str]
|
|
||||||
trainable_params: int
|
|
||||||
total_params: int
|
|
||||||
optimizer: str
|
|
||||||
optimizer_family: str | None = None
|
|
||||||
learning_rate: float
|
|
||||||
gradient_accumulation_steps: int
|
|
||||||
gradient_checkpointing: bool = False
|
|
||||||
gradient_checkpointing_mode: str | None = None
|
|
||||||
autocast_dtype: str | None = None
|
|
||||||
unsloth_version: str | None = None
|
|
||||||
triton_version: str | None = None
|
|
||||||
xformers_version: str | None = None
|
|
||||||
unsloth_model_type: str | None = None
|
|
||||||
bf16: bool
|
|
||||||
final_loss: float | None
|
|
||||||
loss_history: list[float] = Field(default_factory=list)
|
|
||||||
initial_trainable_sha256: str | None = None
|
|
||||||
final_trainable_sha256: str | None = None
|
|
||||||
initial_trainable_l2: float | None = None
|
|
||||||
final_trainable_l2: float | None = None
|
|
||||||
optimizer_update_count: int = 0
|
|
||||||
max_optimizer_update_l2: float | None = None
|
|
||||||
loss_delta: float | None = None
|
|
||||||
training_proof_path: str | None = None
|
|
||||||
training_proof_sha256: str | None = None
|
|
||||||
training_trace_path: str | None = None
|
|
||||||
training_trace_sha256: str | None = None
|
|
||||||
training_summary_path: str | None = None
|
|
||||||
training_summary_sha256: str | None = None
|
|
||||||
training_started_at: datetime | None = None
|
|
||||||
training_finished_at: datetime | None = None
|
|
||||||
training_wall_seconds: float | None = None
|
|
||||||
training_device: str | None = None
|
|
||||||
torch_version: str | None = None
|
|
||||||
cuda_version: str | None = None
|
|
||||||
adapter_weight_sha256: str | None = None
|
|
||||||
adapter_tensor_count: int = 0
|
|
||||||
adapter_lora_tensor_count: int = 0
|
|
||||||
adapter_total_elements: int = 0
|
|
||||||
adapter_nonzero_elements: int = 0
|
|
||||||
adapter_max_abs: float | None = None
|
|
||||||
adapter_weights_finite: bool = False
|
|
||||||
artifacts: dict[str, str]
|
|
||||||
sha256: str
|
|
||||||
cartridge_id: str | None = None
|
|
||||||
|
|
||||||
class AdapterStatus(BaseModel):
|
|
||||||
name: str
|
|
||||||
kind: TrainingAdapterKind
|
|
||||||
proof_version: int = 1
|
|
||||||
training_method: str = "BF16 LoRA"
|
|
||||||
precision: str = "bf16"
|
|
||||||
framework: str = "unsloth_patched_transformers_peft"
|
|
||||||
base_model: str
|
|
||||||
path: str
|
|
||||||
adapter_id: str
|
|
||||||
sample_count: int
|
|
||||||
max_steps: int
|
|
||||||
trainable_params: int
|
|
||||||
final_loss: float | None
|
|
||||||
sha256: str
|
|
||||||
weight_bytes: int
|
|
||||||
safetensor_keys: int
|
|
||||||
cartridge_id: str | None = None
|
|
||||||
cartridge_bound: bool
|
|
||||||
training_trace_path: str | None = None
|
|
||||||
training_trace_sha256: str | None = None
|
|
||||||
training_trace_steps: int = 0
|
|
||||||
training_proof_path: str | None = None
|
|
||||||
training_proof_sha256: str | None = None
|
|
||||||
optimizer: str | None = None
|
|
||||||
optimizer_family: str | None = None
|
|
||||||
gradient_checkpointing: bool = False
|
|
||||||
gradient_checkpointing_mode: str | None = None
|
|
||||||
autocast_dtype: str | None = None
|
|
||||||
unsloth_version: str | None = None
|
|
||||||
triton_version: str | None = None
|
|
||||||
xformers_version: str | None = None
|
|
||||||
unsloth_model_type: str | None = None
|
|
||||||
optimizer_update_count: int = 0
|
|
||||||
max_optimizer_update_l2: float | None = None
|
|
||||||
loss_delta: float | None = None
|
|
||||||
training_summary_path: str | None = None
|
|
||||||
training_wall_seconds: float | None = None
|
|
||||||
training_device: str | None = None
|
|
||||||
bf16: bool = False
|
|
||||||
torch_version: str | None = None
|
|
||||||
cuda_version: str | None = None
|
|
||||||
adapter_weight_sha256: str | None = None
|
|
||||||
adapter_tensor_count: int = 0
|
|
||||||
adapter_lora_tensor_count: int = 0
|
|
||||||
adapter_total_elements: int = 0
|
|
||||||
adapter_nonzero_elements: int = 0
|
|
||||||
adapter_max_abs: float | None = None
|
|
||||||
adapter_weights_finite: bool = False
|
|
||||||
|
|
||||||
class CartridgeAssetStatus(BaseModel):
|
|
||||||
name: str
|
|
||||||
path: str
|
|
||||||
sha256: str
|
|
||||||
size_bytes: int
|
|
||||||
item_count: int
|
|
||||||
dtype: str
|
|
||||||
status: Literal["ready", "missing"]
|
|
||||||
|
|
||||||
class CartridgeAssetReport(BaseModel):
|
|
||||||
cartridge_id: str
|
|
||||||
status: Literal["ready", "incomplete"]
|
|
||||||
created_at: datetime = Field(default_factory=utc_now)
|
|
||||||
assets: list[CartridgeAssetStatus]
|
|
||||||
|
|
||||||
class RuntimeLaunchProfile(BaseModel):
|
|
||||||
name: str
|
|
||||||
runtime: str
|
|
||||||
role: str
|
|
||||||
context_tokens: int
|
|
||||||
script: str
|
|
||||||
command: list[str]
|
|
||||||
environment: dict[str, str] = Field(default_factory=dict)
|
|
||||||
required_features: list[str] = Field(default_factory=list)
|
|
||||||
|
|
||||||
class RuntimeProfileValidation(BaseModel):
|
|
||||||
name: str
|
|
||||||
runtime: str
|
|
||||||
status: Literal["ready", "missing"]
|
|
||||||
script_exists: bool
|
|
||||||
package: str | None = None
|
|
||||||
package_version: str | None = None
|
|
||||||
executable: str | None = None
|
|
||||||
gpu_available: bool = False
|
|
||||||
probe_command: list[str] = Field(default_factory=list)
|
|
||||||
probe_status: Literal["passed", "failed", "skipped"] = "skipped"
|
|
||||||
probe_exit_code: int | None = None
|
|
||||||
probe_output: str | None = None
|
|
||||||
detail: str
|
|
||||||
|
|
||||||
class RuntimeProfileReport(BaseModel):
|
|
||||||
status: Literal["ready", "incomplete"]
|
|
||||||
created_at: datetime = Field(default_factory=utc_now)
|
|
||||||
profiles: list[RuntimeLaunchProfile]
|
|
||||||
validations: list[RuntimeProfileValidation] = Field(default_factory=list)
|
|
||||||
|
|
||||||
class ForgetReport(BaseModel):
|
class ForgetReport(BaseModel):
|
||||||
"""What a forget actually removed, including the derived copies that have to go with it."""
|
"""What a forget actually removed, including the derived copies that have to go with it."""
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ from pathlib import Path
|
|||||||
|
|
||||||
from .config import Settings, get_settings
|
from .config import Settings, get_settings
|
||||||
from .db import Database
|
from .db import Database
|
||||||
from .schemas import AdapterManifest, TrainingAdapterKind
|
from .runtime_schemas import AdapterManifest
|
||||||
|
from .schemas import TrainingAdapterKind
|
||||||
from .training_common import TrainingSample
|
from .training_common import TrainingSample
|
||||||
from .training_datasets import (
|
from .training_datasets import (
|
||||||
build_prd_dataset,
|
build_prd_dataset,
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ from typing import Any
|
|||||||
|
|
||||||
from .config import Settings
|
from .config import Settings
|
||||||
from .db import Database
|
from .db import Database
|
||||||
from .schemas import AdapterManifest, TrainingAdapterKind
|
from .runtime_schemas import AdapterManifest
|
||||||
|
from .schemas import TrainingAdapterKind
|
||||||
from .training_common import (
|
from .training_common import (
|
||||||
AUTOCAST_DTYPE,
|
AUTOCAST_DTYPE,
|
||||||
GRADIENT_CHECKPOINTING_MODE,
|
GRADIENT_CHECKPOINTING_MODE,
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ from typing import Any
|
|||||||
|
|
||||||
from .config import Settings
|
from .config import Settings
|
||||||
from .db import Database
|
from .db import Database
|
||||||
from .schemas import AdapterManifest, TrainingAdapterKind
|
from .runtime_schemas import AdapterManifest
|
||||||
|
from .schemas import TrainingAdapterKind
|
||||||
from .training_common import (
|
from .training_common import (
|
||||||
AUTOCAST_DTYPE,
|
AUTOCAST_DTYPE,
|
||||||
GRADIENT_CHECKPOINTING_MODE,
|
GRADIENT_CHECKPOINTING_MODE,
|
||||||
|
|||||||
Reference in new issue
Block a user