Spaces:
Sleeping
Sleeping
import gradio as gr | |
from huggingface_hub import HfApi | |
import os | |
hf_api = HfApi() | |
CURRENT_MODEL_PATH = "./current_model" | |
HF_TOKEN = os.environ.get("HF_TOKEN", None) | |
REPO = os.getenv("REPO") | |
REVISION = os.getenv("REVISION") | |
TARGET = os.getenv("TARGET") | |
def func(hf_token, repo, revision, target_repo): | |
hf_token = hf_token if hf_token else HF_TOKEN | |
repo = repo if repo else REPO | |
revision = revision if revision else REVISION | |
target_repo = target_repo if target_repo else TARGET | |
print('download the desired model locally ...') | |
hf_api.snapshot_download( | |
repo_id=repo, | |
revision=revision, | |
token=hf_token, | |
local_dir=CURRENT_MODEL_PATH, | |
) | |
print(os.listdir(CURRENT_MODEL_PATH)) | |
print(f"The content of {repo}/{revision} has been copied to {target_repo}!" ) | |
for file in os.listdir(CURRENT_MODEL_PATH): | |
print(f'uploading {file}') | |
with open(f"{CURRENT_MODEL_PATH}/{file}", "rb") as fobj: | |
hf_api.upload_file( | |
path_or_fileobj=fobj, | |
path_in_repo=f"{file}", | |
repo_id=target_repo, | |
repo_type="model", | |
token=hf_token, | |
commit_message=f"updating model files: {file}-{revision}", | |
) | |
return f"The content of {repo}/{revision} has been copied to {target_repo}!" | |
iface = gr.Interface(fn=func, inputs=["text","text","text"], outputs="text") | |
iface.launch() |