Receitas
Ordens de manutenção
Cada ordem vai para a especialidade certa, com prioridade e aviso de parada.
As perguntas
PERGUNTAS = {
"esp": {"tipo": "escolha", "instrucao": "Qual especialidade atende esta ordem de manutenção?", "opcoes": {
"Mecânica": "desalinhamento, vibração, redutores, rolamentos",
"Elétrica": "motores, quadros, disjuntores, sobrecorrente, cabos",
"Hidráulica": "cilindros, mangueiras, bombas, perda de pressão",
"Instrumentação": "transmissores, medidores, sensores, malhas de controle",
"Lubrificação": "falta de óleo ou graxa, nível de lubrificante",
"Caldeiraria": "trincas, corrosão, chapas e estruturas soldadas"}},
"parar": {"tipo": "sim_nao", "instrucao": "É preciso parar o equipamento agora?",
"criterio": "há risco de quebra, acidente ou dano grave se continuar operando"},
"pri": {"tipo": "nota", "instrucao": "Qual a prioridade da intervenção?",
"niveis": {"1": "baixa", "2": "média", "3": "alta", "4": "emergência"}},
}O fluxo
def encaminhar(ordem):
r = decidir(ordem, PERGUNTAS)["respostas"]
if r["parar"]["sim"] > 0.8:
alarme_operacao(ordem)
if r["esp"]["certeza"] < 0.8:
return "revisao", r["pri"]["media"]
return r["esp"]["escolha"], r["pri"]["media"]Medido
12 ordens de mineradora, estaleiro, usina e fábrica: especialidade certa em 10. As duas trocas foram lubrificação lida como mecânica, ambas com certeza abaixo de 0,8: com o limite acima, as duas vão para revisão.
A demonstração roda este fluxo ao vivo.

docs