AIntercast / app.py
tiagounatec's picture
Update app.py
b53faf8 verified
raw
history blame
2.71 kB
import gradio as gr
from transformers import pipeline
import pandas as pd
import os
# Carregando o modelo pré-treinado
qa_pipeline = pipeline("question-answering", model="pierreguillou/bert-base-cased-squad-v1.1-portuguese")
# Função para ler o arquivo XLSX
def ler_ficha_tecnica():
caminho_arquivo = "FTMO-AV21 - 6' MM BMD (04 FIGURAS).xlsx"
if os.path.exists(caminho_arquivo):
try:
df = pd.read_excel(caminho_arquivo)
info = df.to_string(index=False)
return info
except Exception as e:
return f"Erro ao ler o arquivo: {str(e)}"
else:
return "Arquivo da ficha técnica não encontrado."
ficha_tecnica = ler_ficha_tecnica()
# Dividindo o contexto em partes menores
contexto_geral = """
SOBRE A EMPRESA:
A INTERCAST S.A. é uma empresa renomada no setor de fundição e metalurgia, fundada em 1970. Especializada na produção de peças fundidas em ferro e aço, atende principalmente os setores automotivo, agrícola e de construção. Localizada em Itaúna, Minas Gerais, Brasil, faz parte do grupo industrial norte-americano American, fundado em 1905.
SEGMENTOS DA EMPRESA:
A INTERCAST está presente em diversos segmentos, incluindo:
Caminhões, Equipamentos agrícolas, Máquinas para construção, Componentes para saneamento
CLIENTES:
A empresa atende clientes no Brasil, América do Norte e Europa.
CONTATO:
E-mail: [email protected]
Telefone: +55 37 3249 7000
Site: www.intercast.com.br
Instagram: @intercastsa
"""
contexto_produtos = """
LINHA DE PEÇAS:
A INTERCAST desenvolve peças fundidas técnicas (Midcastings) de 20 a 250 kg, em ferro cinzento ou nodular. Alguns produtos incluem:
Trombeta, Carcaça Central de Transmissão, Suporte, Cárter de Óleo, Quinta Roda, Hub Case, Caixa do Diferencial, Bottom Hidrante, Valvulas
"""
def responder_pergunta(message, history):
try:
if "ficha técnica" in message.lower() or "código 289" in message.lower():
resposta = qa_pipeline(question=message, context=ficha_tecnica)
elif any(palavra in message.lower() for palavra in ["peça", "produto", "linha"]):
resposta = qa_pipeline(question=message, context=contexto_produtos)
else:
resposta = qa_pipeline(question=message, context=contexto_geral)
return resposta['answer']
except Exception as e:
return f"Desculpe, ocorreu um erro ao processar sua pergunta: {str(e)}"
interface = gr.ChatInterface(
responder_pergunta,
title="Assistente INTERCAST S.A.",
description="Faça perguntas sobre a INTERCAST S.A., seus produtos, história, informações gerais e detalhes da ficha técnica."
)
interface.launch()