MLSalesPitch / app.py
wellvolks
Alteração no app para remover o parâmetro share=True
3097e92
raw
history blame
2.71 kB
from queue import Queue
from threading import Thread
import gradio as gr
import os
def call_invoke(name, queue_input, queue_output):
from MLSalesPitch import MLSalesPitch
ml_sales_pitch = MLSalesPitch()
ml_sales_pitch.embedding()
while True:
q = queue_input.get()
products = q['products']
sub_category_input = q['sub_category_input']
resp = ml_sales_pitch.generate_sales_pitch(query={'products': products, 'sub_category': sub_category_input})
queue_output.put(resp)
def call_invoke_queue(category: str, sub_category_input: str, products: str):
queue.put({'category': category, 'sub_category_input': sub_category_input, 'products': products})
return result.get()
with gr.Blocks(title='MLSalesPitch') as page:
gr.Image(type='pil', value=os.path.join(os.path.dirname(__file__), "asserts/imgs/llm.png"), elem_id="image_llm",
width=300, height=300)
gr.Markdown(" ")
gr.Markdown("# MLSalesPitch")
gr.Markdown("## Gerar textos persuasivos para ações de Marketing e Vendas")
gr.Markdown(" ")
category_opt = \
gr.Dropdown(
["Acessórios para Veículos"],
label="Categoria de produtos",
info="Selecione uma categoria",
)
sub_category_opt = \
gr.Dropdown(
["Navegadores GPS para Vehículos", "Outros", "Ferramentas para Veículos", "Peças de Carros e Caminhonetes",
"Peças de Motos e Quadriciclos", "Performance", "Som Automotivo", "Peças de Linha Pesada",
"Acessórios Náuticos", "Limpeza Automotiva", "Aces. de Carros e Caminhonetes", "Rodas", "GNV",
"Segurança Veicular", "Aces. de Motos e Quadriciclos", "Peças Náuticas", "Pneus e Acessórios", "Tuning",
"Lubrificantes e Fluidos", "Serviços Programados", "Acessórios de Linha Pesada", "Motos",
"Tags de Pagamento de Pedágio"],
label="Sub categoria do produto",
info="Selecione uma sub categoria do produto"
)
with gr.Row():
input1 = gr.Textbox(label="Informe um ou mais produtos separados por vírgula:", lines=1)
with gr.Row():
button1 = gr.Button("Criar discurso de vendas")
with gr.Row():
output1 = gr.Textbox(label="Sugestão de discurso de venda gerado:", lines=25)
button1.click(call_invoke_queue, inputs=[category_opt, sub_category_opt, input1], outputs=[output1])
if __name__ == "__main__":
os.environ['TOKENIZERS_PARALLELISM'] = 'true'
queue = Queue()
result = Queue()
thd = Thread(target=call_invoke, args=(f"Thread invoke", queue, result), daemon=True)
thd.start()
page.launch()