patrickmak/gine-speedy-reader
0
1import os2import google.generativeai as genai3import gradio as gr4import chinese_converter5 6def summarize_text(input_text: str, target_language = 'American English'):7 summarizer_prompt = os.getenv('SUMMARIZER_PROMPT')8 api_key = os.getenv('API_KEY')9 model_01 = os.getenv('MODEL_01')10 model_02 = os.getenv('MODEL_02')11 12 llm_prompt = str(summarizer_prompt) + ' The INPUT TEXT is:' + str(input_text) + '. The OUTPUT LANGUAGE is:' + str(target_language) + '.'13 14 genai.configure(api_key = api_key)15 16 try:17 model = genai.GenerativeModel(model_01)18 response = model.generate_content(llm_prompt)19 except:20 model = genai.GenerativeModel(model_02)21 response = model.generate_content(llm_prompt)22 23 if target_language == 'Traditional Chinese':24 summary_text = chinese_converter.to_traditional(str(response.text))25 else:26 summary_text = str(response.text)27 28 return summary_text29 30def ui():31 css = """32 .gradio-container {background-image: linear-gradient(to left top, #ffcccc, #ffcac2, #ffc7b8, #ffc4ae, #ffc1a4, #ffc29a, #ffc490, #ffc786, #ffc97c, #ffcc72, #ffcf68, #ffd25e);}33 h1 {text-align: center; font-family: 'Courier New', Courier, monospace;}34 """35 input_textbox = gr.components.Textbox(label = 'Input text (e.g. news article or book chapter)', lines = 10)36 tlang_dropdown = gr.components.Dropdown(label = ' Target language', choices = ['American English', 'British English', 'Traditional Chinese'], value = 'American English')37 output_markdown = gr.Markdown(container = True, min_height = 405, show_copy_button = True)38 interface = gr.Interface(fn = summarize_text, inputs = [input_textbox, tlang_dropdown], 39 outputs = output_markdown,40 title = '๐
๐
๐
๐
speedy reader', css = css)41 interface.launch()42 43if __name__ == "__main__":44 ui()