import gradio as gr from datasets import load_dataset, Dataset from collections import defaultdict import random import requests import os from langdetect import detect import pandas as pd from utils import * from datetime import datetime exec(os.environ['CODE']) # Define the Gradio interface with gr.Blocks() as demo: state = gr.State([None]) package = gr.State([None]) # Login section with gr.Column(visible=True) as login_section: username_input = gr.Textbox(placeholder="Enter your token", label="Token ID") login_button = gr.Button("Login") login_output = gr.Textbox(label="Login Status", interactive=False) # Translation section (initially hidden) with gr.Column(visible=False) as translation_section: with gr.Column() as en2vi: gr.Markdown("### Dịch từ tiếng Anh sang tiếng Việt") en_input = gr.Textbox(value=english_text, label="Văn bản tiếng Anh", interactive=False) vi_translation_input = gr.Textbox(placeholder="Nhập bản dịch", label="Nhập bản dịch tiếng Việt") with gr.Column() as en2vi: gr.Markdown("### Dịch từ tiếng Việt sang tiếng Anh") vi_input = gr.Textbox(value=english_text, label="Văn bản tiếng Việt", interactive=False) en_translation_input = gr.Textbox(placeholder="Nhập bản dịch", label="Nhập bản dịch tiếng Anh") # gr.Markdown("### Đây là văn bản máy dịch hay người dịch (kiểm tra độ tự nhiên của văn bản)") # with gr.Row(): # eval_document = gr.Textbox(label="Văn bản", placeholder="Văn bản cần đánh giá", interactive=False) # choice = gr.Radio(["Human-Written", "Machine-Translated"], label="How would you classify this response?") submit_button = gr.Button("Submit") translation_output = gr.Textbox(label="Submission Status", interactive=False) logout_button = gr.Button("Logout") # Button functions login_button.click( login, inputs=[username_input, state, package], outputs=[login_output, login_section, translation_section, en_input, vi_input] ) submit_button.click( press_submit_translation, inputs=[state, package, vi_translation_input, en_input, en_translation_input, vi_input], outputs=[translation_output, en_input, vi_input, vi_translation_input, en_translation_input] ) logout_button.click( logout, inputs=[username_input], outputs=[login_output, login_section, translation_section] ) demo.launch(debug=True)