File size: 1,413 Bytes
7ba7074
 
 
 
 
 
 
d52d7a5
7ba7074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
03e66f4
7ba7074
 
 
 
 
03e66f4
7ba7074
 
 
 
f961b92
7ba7074
 
 
 
 
 
d52d7a5
7ba7074
 
 
 
 
 
 
 
d52d7a5
7ba7074
03e66f4
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
from warnings import filterwarnings
filterwarnings('ignore')

import os
import uuid
import joblib
import json
import gradio as gr
import pandas as pd
from huggingface_hub import CommitScheduler
from pathlib import Path

# Configure the logging functionality
log_file = Path("logs/") / f"data_{uuid.uuid4()}.json"
log_folder = log_file.parent

repo_id = "operand-logs"

# Create a commit scheduler
scheduler = CommitScheduler(
    repo_id=repo_id,
    repo_type="dataset",
    folder_path=log_folder,
    path_in_repo="data",
    every=2
)

def dprocess(command):

    with scheduler.lock:
        with log_file.open("a") as f:
            f.write(json.dumps(
                {
                    'result': 42
                }
            ))
            f.write("\n")

    return 42

# Set-up the Gradio UI
textbox = gr.Textbox(label='Command:')
company = gr.Radio(label='Company:',
                   choices=["aws", "google", "IBM", "Meta", "msft"],
                   value="aws")

# Create Gradio interface
# For the inputs parameter of Interface provide [textbox,company] with outputs parameter of Interface provide prediction
demo = gr.Interface(fn=dprocess,
                    inputs=[textbox, company],
                    outputs="text",
                    title="operand data automation CLI",
                    description="",
                    theme=gr.themes.Soft())

demo.queue()
demo.launch()