Spaces:
Runtime error
Runtime error
| # 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, model): | |
| 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 int(max_words) < int(min_words): | |
| return 'Erro: Máximo de palavras menor que o mínimo de palavras' | |
| filtered_list_sites = [] | |
| list_sites = sites.split('\n') | |
| for item in list_sites: | |
| if item: | |
| filtered_list_sites.append(item) | |
| result_news = main.generate_news(subject, min_words, max_words, filtered_list_sites, model.lower()) | |
| return result_news | |
| def call_invoke_llm(context, prompt, model): | |
| result = main.call_llm(context, prompt, model) | |
| return result | |
| # Create the Gradio interface using Blocks | |
| with gr.Blocks(title='BotNews') as page: | |
| gr.Markdown("# BotNews") | |
| gr.Markdown("## Gerar a notícia com IA") | |
| gr.Markdown(" ") | |
| gr.Markdown("<b>Instrução:</b> 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(): | |
| input5 = gr.Dropdown( | |
| ["OpenAI", "Mixtral-8x7B"], value='OpenAI', label="Modelo LLM", info="Escolha o modelo para processamento das informações.", | |
| scale=1 | |
| ) | |
| input2 = gr.Textbox(label="Domínios para pesquisa (coloque um domínio por linha):", | |
| lines=8, | |
| scale=2, | |
| value='https://www.cnnbrasil.com.br/\nhttps://g1.globo.com/\nhttps://www.metropoles.com/\nhttps://www.bbc.com/portuguese/\nhttps://www.instagram.com/') | |
| input3 = gr.Textbox(label="Mínimo de palavras:", lines=1, value="300", scale=1) | |
| input4 = gr.Textbox(label="Máximo de palavras:", lines=1, value="700", scale=1) | |
| 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("<hr>") | |
| gr.Markdown("## Ajustar a notícia com IA") | |
| gr.Markdown(" ") | |
| gr.Markdown("<b>Instrução:</b> Preencha abaixo com um comando para ser executado sobre a notícia (Por exemplo: 'Resuma em tópicos' ou 'Adicione um tom sarcástico').") | |
| gr.Markdown(" ") | |
| with gr.Row(): | |
| input6 = gr.Textbox(label="Ajustar a notícia com IA") | |
| with gr.Row(): | |
| button2 = gr.Button("Ajustar notícia") | |
| with gr.Row(): | |
| output2 = gr.Textbox(label="Notícia ajustada por IA", lines=25) | |
| button1.click(call_generate_news, inputs=[input1, input2, input3, input4, input5], outputs=[output1]) | |
| button2.click(call_invoke_llm, inputs=[output1, input6, input5], outputs=[output2]) | |
| # Launch the interface | |
| page.launch() #share=True | |