pipeline = AbliterationPipeline(
model_name="meta-llama/Llama-3.1-8B-Instruct",
method="advanced", # liberation method preset
output_dir="abliterated", # where to save the result
device="auto", # "auto", "cuda", "mps", or "cpu"
dtype="float16", # "float16", "bfloat16", or "float32"
# Optional overrides (if omitted, method preset values are used)
n_directions=None, # override: number of refusal directions
direction_method=None, # override: "diff_means", "svd", or "leace"
regularization=None, # override: float 0.0–1.0
refinement_passes=None, # override: int
quantization=None, # "4bit" or "8bit" (requires bitsandbytes)
large_model_mode=False, # conservative defaults for 120B+ models
verify_sample_size=None, # override: number of prompts for refusal rate check
max_seq_length=None, # override tokenizer truncation length
# Callbacks
on_stage=None, # Callable[[StageResult], None]
on_log=None, # Callable[[str], None]
# Hub push (optional)
push_to_hub=None, # HF repo ID to push result to
hub_token=None, # HF token (falls back to HF_TOKEN env var)
)