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() |