37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
from product_data_portable import (
|
|
DEFAULT_SYSTEM_PROMPT,
|
|
default_training_output_path,
|
|
emit_error,
|
|
emit_success,
|
|
export_training_jsonl,
|
|
load_json_payload,
|
|
load_records,
|
|
)
|
|
|
|
|
|
def main() -> int:
|
|
try:
|
|
payload = load_json_payload()
|
|
records = load_records(payload)
|
|
result = export_training_jsonl(
|
|
records,
|
|
output_path=default_training_output_path(payload),
|
|
session_num=int(payload.get("session_num", 5)),
|
|
session_time_minutes=int(payload.get("session_time_minutes", 5)),
|
|
context_fields=payload.get("context_fields"),
|
|
system_prompt=str(payload.get("system_prompt") or DEFAULT_SYSTEM_PROMPT),
|
|
require_validation_ok=bool(payload.get("require_validation_ok", True)),
|
|
overwrite=bool(payload.get("overwrite", True)),
|
|
)
|
|
emit_success(result)
|
|
return 0
|
|
except Exception as exc: # noqa: BLE001 - CLI 需要把错误稳定转成 JSON
|
|
emit_error(exc)
|
|
return 1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|