File size: 1,336 Bytes
ac66ae2
cbbb9fd
 
2acdb22
083fde1
a4754dd
c8534fb
 
 
 
 
 
 
cbbb9fd
2acdb22
c8534fb
 
 
 
 
 
 
cbbb9fd
 
 
 
 
 
0fb434b
c8534fb
 
 
 
 
2371111
b937d88
083fde1
2371111
6f58fe9
d91c99b
2371111
083fde1
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
35
36
37
38
39
40
41
42
import gradio as gr
import os
from huggingface_hub import HfApi, login
from transformers import AutoTokenizer, AutoModelForCausalLM

# NVidia A10G Large (sleep after 1 hour)

# google/gemma-2-9b-it
# meta-llama/Meta-Llama-3-8B-Instruct

profile = "bstraehle"

def download_tokenizer_and_model(model_id)
    tokenizer = AutoTokenizer.from_pretrained(model_id)
    model = AutoModelForCausalLM.from_pretrained(model_id)
    model.save_pretrained(model_id)
    return tokenizer, model

def upload_model(tokenizer, model)
    model_name = model_id[model_id.rfind('/')+1:]
    print(model_name)
    model_repo_name = f"{profile}/{model_name}"
    login(token=os.environ["HF_TOKEN"])
    api = HfApi()
    api.create_repo(repo_id=model_repo_name)
    api.upload_folder(
        folder_path=model_path,
        repo_id=model_repo_name
    )
    tokenizer.push_to_hub(model_repo_name)
    
def process(model_id, dataset):
    tokenizer, model = download_model(model_id)
    upload_model(tokenizer, model)
    
    return "Done"

demo = gr.Interface(fn=process, 
                    inputs=[gr.Textbox(label = "Model ID", value = "meta-llama/Meta-Llama-3-8B-Instruct", lines = 1),
                            gr.Textbox(label = "Dataset", value = "imdb", lines = 1)],
                    outputs=[gr.Textbox(label = "Completion")])
demo.launch()