|
import json |
|
import time |
|
|
|
import gradio as gr |
|
import pandas as pd |
|
|
|
from autotab import AutoTab |
|
|
|
|
|
def auto_tabulator_completion( |
|
in_file_path: str, |
|
instruction: str, |
|
max_examples: int, |
|
model_name: str, |
|
generation_config: dict, |
|
request_interval: float, |
|
save_every: int, |
|
api_key: str, |
|
base_url: str, |
|
) -> tuple[str, str, str, pd.DataFrame]: |
|
output_file_name = "ouput.xlsx" |
|
autotab = AutoTab( |
|
in_file_path=in_file_path, |
|
out_file_path=output_file_name, |
|
instruction=instruction, |
|
max_examples=max_examples, |
|
model_name=model_name, |
|
generation_config=json.loads(generation_config), |
|
request_interval=request_interval, |
|
save_every=save_every, |
|
api_key=api_key, |
|
base_url=base_url, |
|
) |
|
start = time.time() |
|
autotab.run() |
|
time_taken = time.strftime("%H:%M:%S", time.gmtime(time.time() - start)) |
|
|
|
return time_taken, output_file_name, autotab.query_example, autotab.data[:15] |
|
|
|
|
|
|
|
inputs = [ |
|
gr.File(label="Input Excel File"), |
|
gr.Textbox( |
|
value="You are a helpful assistant. Help me finish the task.", |
|
label="Instruction", |
|
), |
|
gr.Slider(value=5, minimum=1, maximum=50, step=1, label="Max Examples"), |
|
gr.Textbox(value="Qwen/Qwen2-7B-Instruct", label="Model Name"), |
|
gr.Textbox( |
|
value='{"temperature": 0, "max_tokens": 128}', |
|
label="Generation Config in Dict", |
|
), |
|
gr.Slider(value=0.01, minimum=0, maximum=10, label="Request Interval in Seconds"), |
|
gr.Slider(value=100, minimum=1, maximum=1000, step=1, label="Save Every N Steps"), |
|
gr.Textbox( |
|
value="sk-exhahhjfqyanmwewndukcqtrpegfdbwszkjucvcpajdufiah", label="API Key" |
|
), |
|
gr.Textbox(value="https://public-beta-api.siliconflow.cn/v1", label="Base URL"), |
|
] |
|
|
|
outputs = [ |
|
gr.Textbox(label="Time Taken"), |
|
gr.File(label="Output Excel File"), |
|
gr.Textbox(label="Query Example"), |
|
gr.Dataframe(label="First 15 rows."), |
|
] |
|
|
|
gr.Interface( |
|
fn=auto_tabulator_completion, |
|
inputs=inputs, |
|
outputs=outputs, |
|
title="Auto Tabulator Completion", |
|
description="Automatically complete missing output values in tabular data based on in-context learning.", |
|
).launch() |
|
|