Spaces:
Sleeping
Sleeping
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() | |