Files
fn_registry/functions/ml/genconfig_to_sdcli_args.md
T
egutierrez e3c8979e8d chore: auto-commit (95 archivos)
- cmd/fn/doctor.go
- cmd/fn/main.go
- cpp/apps/primitives_gallery/playground/tables/CMakeLists.txt
- cpp/apps/primitives_gallery/playground/tables/data_table.cpp
- cpp/apps/primitives_gallery/playground/tables/data_table_logic.cpp
- cpp/apps/primitives_gallery/playground/tables/data_table_logic.h
- cpp/apps/primitives_gallery/playground/tables/self_test.cpp
- cpp/apps/primitives_gallery/playground/tables/tql.cpp
- cpp/apps/primitives_gallery/playground/tables/viz.cpp
- cpp/apps/primitives_gallery/playground/tables/viz.h
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 00:50:34 +02:00

2.4 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
genconfig_to_sdcli_args function go ml 1.0.0 pure func GenconfigToSdcliArgs(cfg GenerationConfig) []string Convierte un GenerationConfig en argumentos CLI para stable-diffusion.cpp. Espejo Go de genconfig_to_sdcpp_args_py_ml. Loras se emiten como pares repetidos --lora path:weight. Sampler traducido via samplerMap canonico.
ml
stable-diffusion
cli
args
generation
pure
generation_config_go_ml
false
fmt
strconv
name desc
cfg Parametros completos de generacion de imagen. Sampler debe ser uno de los valores de SamplerName. Model.Path se emite como --model si no esta vacio.
Slice de strings listos para pasar a exec.Command o similar. Incluye --prompt, --seed, --steps, --cfg-scale, --width, --height, --sampling-method, opcionales --negative-prompt / --model / --clip-skip, y pares --lora path:weight por cada LoraRef. true
config basico sin loras ni clip_skip
loras se emiten como pares path:weight
sampler dpm++2m se traduce a dpmpp2m
negative_prompt vacio no genera flag
functions/ml/genconfig_test.go functions/ml/genconfig_to_sdcli_args.go

Ejemplo

clip := 2
cfg := ml.GenerationConfig{
    Prompt:   "a cat",
    Seed:     42,
    Steps:    20,
    CfgScale: 7.5,
    Sampler:  "dpm++2m",
    Width:    512,
    Height:   512,
    Model:    ml.ModelRef{Name: "v1-5", ModelType: "sd15", Quantization: "fp16", Path: "/models/v1-5.safetensors"},
    Loras:    []ml.LoraRef{{Path: "/loras/detail.safetensors", Weight: 0.8}},
    ClipSkip: &clip,
}
args := ml.GenconfigToSdcliArgs(cfg)
// args == ["--prompt","a cat","--seed","42","--steps","20",
//          "--cfg-scale","7.5","--width","512","--height","512",
//          "--sampling-method","dpmpp2m","--model","/models/v1-5.safetensors",
//          "--clip-skip","2","--lora","/loras/detail.safetensors:0.8"]

Notas

  • samplerMap traduce nombres canonicos del dominio ml a los identificadores que acepta stable-diffusion.cpp. Si el sampler no esta en el mapa se usa el valor literal.
  • El flag de modelo (--model) solo se emite si cfg.Model.Path != "".
  • %g en fmt.Sprintf para el peso de la lora elimina ceros insignificantes: 0.8000000.8.
  • Funcion pura: misma entrada, misma salida. Sin I/O ni estado global.