LingEval / app.py
research14's picture
Added theme
435dfc5
raw
history blame
1.98 kB
import gradio as gr
import json
from run_llm import template_all, prompt2_pos, prompt2_chunk, prompt2_parse, demon_pos, demon_chunk, demon_parse, model_mapping
# Your existing code
theme = gr.themes.Soft()
# Function to process text based on model and task
def process_text(model_name, task, text):
# Define prompts for each strategy based on the task
strategy_prompts = {
'Strategy 1': template_all.format(text),
'Strategy 2': {
'POS': prompt2_pos.format(text),
'Chunking': prompt2_chunk.format(text),
'Parsing': prompt2_parse.format(text),
}.get(task, "Invalid Task Selection for Strategy 2"),
'Strategy 3': {
'POS': demon_pos,
'Chunking': demon_chunk,
'Parsing': demon_parse,
}.get(task, "Invalid Task Selection for Strategy 3"),
}
# Get the selected prompt based on the strategy
prompt = strategy_prompts.get(model_name, "Invalid Model Selection")
# Add your logic to feed the prompt to the selected model and get the result
result = "Processed Result" # Replace this with your actual result
return result
# Dropdown options for model and task
model_options = list(model_mapping.keys())
task_options = ['POS', 'Chunking', 'Parsing']
# Gradio interface
iface = gr.Interface(
fn=process_text,
inputs=[
gr.Dropdown(model_options, label="Select Model"),
gr.Dropdown(task_options, label="Select Task"),
gr.Textbox(label="Input Text", placeholder="Enter the text to process..."),
],
outputs=[
gr.Textbox(label="Strategy 1 QA Result", output_transform=lambda x: json.dumps(x, indent=2)),
gr.Textbox(label="Strategy 2 Instruction Result", output_transform=lambda x: json.dumps(x, indent=2)),
gr.Textbox(label="Strategy 3 Structured Prompting Result", output_transform=lambda x: json.dumps(x, indent=2)),
],
theme = theme,
live=False,
)
iface.launch()