Spaces:
Sleeping
Sleeping
File size: 2,710 Bytes
57a506a 6ecf859 57a506a 66cba48 3097e92 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
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()
|