File size: 2,428 Bytes
ed0dca2 a40632d bdf3e70 b1cf10f bdf3e70 ed0dca2 b1cf10f a40632d b1cf10f a40632d 6f701e2 a40632d bdf3e70 ed0dca2 1e282db a40632d 1e282db a40632d 6f701e2 bd3b81a a40632d bd3b81a 6f701e2 6543b60 6f701e2 6543b60 5fbd6e0 6f701e2 6543b60 6f701e2 a40632d bd3b81a a40632d 6f701e2 a40632d 0bb2563 ed0dca2 1a77461 6f701e2 |
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 |
##################################### 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="Predefined Dataset")
dataset_predefined = gr.Dropdown(label="Predefined Dataset", choices=['1', '2', '3'], value='1', visible=True)
dataset_upload = gr.File(label="Upload Dataset", visible=False)
# Function to toggle visibility based on user choice
def toggle_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
# Initial visibility setup based on default choice
toggle_dataset_visibility(dataset_choice.value)
##### 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()
|