mirror of
https://github.com/hiyouga/LLaMA-Factory.git
synced 2025-08-02 19:52:50 +08:00
[3rdparty] support swanlab lark notification (#7481)
This commit is contained in:
parent
01166841cf
commit
f547334604
@ -375,6 +375,14 @@ class SwanLabArguments:
|
|||||||
default=None,
|
default=None,
|
||||||
metadata={"help": "The log directory for SwanLab."},
|
metadata={"help": "The log directory for SwanLab."},
|
||||||
)
|
)
|
||||||
|
swanlab_lark_webhook_url: Optional[str] = field(
|
||||||
|
default=None,
|
||||||
|
metadata={"help": "The Lark(飞书) webhook URL for SwanLab."},
|
||||||
|
)
|
||||||
|
swanlab_lark_secret: Optional[str] = field(
|
||||||
|
default=None,
|
||||||
|
metadata={"help": "The Lark(飞书) secret for SwanLab."},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
@ -599,6 +599,15 @@ def get_swanlab_callback(finetuning_args: "FinetuningArguments") -> "TrainerCall
|
|||||||
if finetuning_args.swanlab_api_key is not None:
|
if finetuning_args.swanlab_api_key is not None:
|
||||||
swanlab.login(api_key=finetuning_args.swanlab_api_key)
|
swanlab.login(api_key=finetuning_args.swanlab_api_key)
|
||||||
|
|
||||||
|
if finetuning_args.swanlab_lark_webhook_url is not None:
|
||||||
|
from swanlab.plugin.notification import LarkCallback # type: ignore
|
||||||
|
|
||||||
|
lark_callback = LarkCallback(
|
||||||
|
webhook_url=finetuning_args.swanlab_lark_webhook_url,
|
||||||
|
secret=finetuning_args.swanlab_lark_secret,
|
||||||
|
)
|
||||||
|
swanlab.register_callbacks([lark_callback])
|
||||||
|
|
||||||
class SwanLabCallbackExtension(SwanLabCallback):
|
class SwanLabCallbackExtension(SwanLabCallback):
|
||||||
def setup(self, args: "TrainingArguments", state: "TrainerState", model: "PreTrainedModel", **kwargs):
|
def setup(self, args: "TrainingArguments", state: "TrainerState", model: "PreTrainedModel", **kwargs):
|
||||||
if not state.is_world_process_zero:
|
if not state.is_world_process_zero:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user