Weyaxi's picture
Create app.py
b7bb8e1
raw
history blame
2.27 kB
from huggingface_hub import *
import json
import gradio as gr
fs = HfFileSystem()
api = HfApi()
def remove_from(text, from_model, to_model):
text = text.replace(from_model, to_model)
return text
def return_operation_requests(from_model, to_model):
ls = [i['name'] for i in fs.ls(path=f'datasets/Weyaxi/requests/{from_model.split("/")[0]}') if from_model in i['name']]
liste=[]
for i in range(len(ls)):
path_for = ls[i]
will_write = json.loads(fs.read_text(path_for))
will_write['model'] = to_model
will_write = json.dumps(will_write)
liste.extend([CommitOperationAdd(path_in_repo="/".join(remove_from(path_for, from_model, to_model).split("/")[3:]), path_or_fileobj=will_write.encode()),
CommitOperationDelete(path_in_repo="/".join(path_for.split("/")[3:]))])
return liste
def return_operation_results(from_model, to_model):
ls = [i['name'] for i in fs.ls(path=f'datasets/Weyaxi/results/{from_model}') if from_model in i['name']]
liste=[]
for i in range(len(ls)):
path_for = ls[i]
will_write = json.loads(fs.read_text(path_for))
will_write['config_general']['model_name'] = to_model
will_write = json.dumps(will_write, indent=2)
liste.extend([CommitOperationAdd(path_in_repo="/".join(remove_from(path_for, from_model, to_model).split("/")[3:]), path_or_fileobj=will_write.encode()),
CommitOperationDelete(path_in_repo="/".join(path_for.split("/")[3:]))])
return liste
def commit(liste_requests, liste_results):
request_commit = (create_commit(repo_id="Weyaxi/requests", operations=liste_requests, commit_message=f"Renaming Models", repo_type="dataset", create_pr=True).__dict__['pr_url'])
result_commit = (create_commit(repo_id="Weyaxi/results", operations=liste_results, commit_message=f"Renaming Models", repo_type="dataset", create_pr=True).__dict__['pr_url'])
return request_commit, result_commit
def commit_gradio(from_model, to_model, hf_token):
try:
login(hf_token)
return commit(return_operation_requests(from_model, to_model), return_operation_results(from_model, to_model))
except Exception as e:
return e
demo = gr.Interface(fn=commit_gradio, inputs=["text", "text", "text"], outputs="text")
demo.launch()