# Created by Leandro Carneiro at 22/01/2024 # Description: # ------------------------------------------------ import gradio as gr import main # Define two separate functions for each button def call_generate_news(subject, sites, min_words, max_words): if subject == '': return 'Erro: Assunto não informado', '' if min_words == '': return 'Erro: Mínimo de palavras não informado', '' if max_words == '': return 'Erro: Máximo de palavras não informado', '' if sites == '': return 'Erro: Domínios para pesquisa não informados', '' if max_words < min_words: return 'Erro: Máximo de palavras menor que o mínimo de palavras' list_sites = sites.split('\n') result_news = main.generate_news(subject, min_words, max_words, list_sites) return result_news def call_invoke_llm(context, prompt): result = main.call_llm(context, prompt) return result # Create the Gradio interface using Blocks with gr.Blocks(title='BotNews') as page: gr.Markdown("# BotNews") gr.Markdown("## Gerar Notícia por IA") gr.Markdown(" ") gr.Markdown("Instrução: Preencha abaixo com um assunto (Por exemplo: 'Guerra em Israel' ou 'Economia do Brasil').") gr.Markdown(" ") with gr.Row(): input1 = gr.Textbox(label="Assunto:", lines=1) with gr.Row(): input2 = gr.Textbox(label="Domínios para pesquisa (coloque um domínio por linha):", lines=10, value='https://www.cnnbrasil.com.br/\nhttps://g1.globo.com/\nhttps://www.metropoles.com/\nhttps://www.bbc.com/portuguese/\nhttps://www.instagram.com/') with gr.Row(): input3 = gr.Textbox(label="Mínimo de palavras:", lines=1, value="300") input4 = gr.Textbox(label="Máximo de palavras:", lines=1, value="700") with gr.Row(): button1 = gr.Button("Gerar notícia") with gr.Row(): output1 = gr.Textbox(label="Notícia gerada por IA", lines=25) gr.Markdown("