File size: 2,815 Bytes
ed0dca2 a40632d bdf3e70 b1cf10f bdf3e70 ed0dca2 b1cf10f a40632d b1cf10f a40632d c59143e a40632d bdf3e70 ed0dca2 52589e7 950e3db 6411d86 c59143e 7c30774 c59143e 7c30774 c59143e 52589e7 c59143e 52589e7 c59143e 52589e7 c59143e 52589e7 |
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
##################################### Imports ######################################
# Generic imports
import gradio as gr
import json
import os
########################### Global objects and functions ###########################
def get_json_cfg():
"""Retrieve configuration file"""
config_path = os.getenv('CONFIG_PATH')
with open(config_path, 'r') as file:
config = json.load(file)
return config
conf = get_json_cfg()
def greet(model_name, prompt_template, name, dataset):
return f"Hello {name}!! Using model: {model_name} with template: {prompt_template}"
##################################### App UI #######################################
with gr.Blocks() as demo:
##### Title Block #####
gr.Markdown("# Instruction Tuning with Unsloth")
##### Model Inputs #####
# Select Model
model_name = gr.Dropdown(label="Model", choices=conf['model']['choices'], value="gpt2")
# Prompt template
prompt_template = gr.Textbox(label="Prompt Template", value="Instruction: {0}\nOutput: {1}")
# Prompt Input
name_input = gr.Textbox(label="Your Name")
# Dataset choice
dataset_choice = gr.Radio(label="Choose Dataset", choices=["Predefined Dataset", "Upload Your Own"], value="Upload Your Own")
dataset_predefined = gr.Dropdown(label="Predefined Dataset", choices=['1', '2', '3'], value='1', visible=False)
dataset_upload = gr.UploadButton(label="Upload Dataset", file_types=[".pdf",".csv",".doc"], visible=True) # gr.File(label="Upload Dataset", visible=False)
# Function to update visibility based on user choice
def update_dataset_visibility(choice):
if choice == "Predefined Dataset":
dataset_predefined.visible = True
dataset_upload.visible = False
elif choice == "Upload Your Own":
dataset_predefined.visible = False
dataset_upload.visible = True
return dataset_predefined, dataset_upload # Return both components
# Initial call to set visibility based on default choice
dataset_predefined, dataset_upload = update_dataset_visibility(dataset_choice.value)
# Update visibility based on user choice
dataset_choice.change(update_dataset_visibility, inputs=[dataset_choice], outputs=[dataset_predefined, dataset_upload])
##### Model Outputs #####
# Text output
output = gr.Textbox(label="Output")
##### Execution #####
# Setup button
tune_btn = gr.Button("Start Fine Tuning")
# Execute button
tune_btn.click(fn=greet,
inputs=[model_name, prompt_template, name_input, dataset_predefined],
outputs=output)
##################################### Launch #######################################
if __name__ == "__main__":
demo.launch()
|