File size: 930 Bytes
f60a6c1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from pathlib import Path

from scorevision.utils.settings import get_settings
from scorevision.utils.chutes_helpers import deploy_to_chutes, share_chute

from scorevision.utils.huggingface_helpers import (
    create_update_or_verify_huggingface_repo,
)
from scorevision.utils.bittensor_helpers import on_chain_commit


async def push_ml_model(
    ml_model_path: Path | None,
    hf_revision: str | None,
    skip_chutes_deploy: bool,
    skip_bittensor_commit: bool,
) -> None:
    hf_revision = await create_update_or_verify_huggingface_repo(
        model_path=ml_model_path, hf_revision=hf_revision
    )

    chute_id, chute_slug = await deploy_to_chutes(
        revision=hf_revision,
        skip=skip_chutes_deploy,
    )

    if chute_id:
        await on_chain_commit(
            skip=skip_bittensor_commit,
            revision=hf_revision,
            chute_id=chute_id,
            chute_slug=chute_slug,
        )