JuriX.com / app.py
thamile's picture
Update app.py
657ae00 verified
import gradio as gr
# Simple legal information functions
def direito_trabalhista(pergunta):
respostas = {
"verbas": "Verbas trabalhistas incluem: salário, férias + 1/3, 13º, FGTS, aviso prévio e horas extras.",
"hora extra": "Horas extras devem ser pagas com adicional de 50% ou 100% em domingos e feriados.",
"assédio": "Assédio moral ou sexual no trabalho gera direito a indenização por danos morais.",
}
for k, v in respostas.items():
if k in pergunta.lower():
return v
return "Informação trabalhista não encontrada, tente detalhar a pergunta."
def direito_consumidor(pergunta):
respostas = {
"garantia": "Todo produto possui garantia legal mínima de 90 dias para itens duráveis.",
"arrependimento": "Compras online possuem direito de arrependimento de 7 dias.",
"negativacao": "Inscrição indevida em SPC/SERASA gera indenização por danos morais.",
}
for k, v in respostas.items():
if k in pergunta.lower():
return v
return "Informação de direito do consumidor não encontrada."
def direito_previdenciario(pergunta):
respostas = {
"aposentadoria": "As aposentadorias podem ser por idade, tempo de contribuição ou especial.",
"auxilio": "Auxílio-doença é concedido quando há incapacidade temporária comprovada.",
"pensao": "Pensão por morte é devida aos dependentes do segurado falecido.",
}
for k, v in respostas.items():
if k in pergunta.lower():
return v
return "Informação previdenciária não encontrada."
def direito_civil(pergunta):
respostas = {
"contrato": "Contratos podem ser revisados judicialmente em caso de abuso ou cláusulas ilegais.",
"indenizacao": "Danos morais e materiais podem gerar obrigação de indenizar.",
"propriedade": "Posse e propriedade são protegidas pelo Código Civil.",
}
for k, v in respostas.items():
if k in pergunta.lower():
return v
return "Informação civil não encontrada."
def direito_familia(pergunta):
respostas = {
"divorcio": "O divórcio pode ser consensual ou litigioso, com ou sem partilha.",
"guarda": "A guarda pode ser compartilhada ou unilateral, conforme o melhor interesse da criança.",
"alimentos": "Pensão alimentícia deve respeitar o binômio necessidade x possibilidade.",
}
for k, v in respostas.items():
if k in pergunta.lower():
return v
return "Informação de direito de família não encontrada."
def responder(area, pergunta):
area = area.lower()
if area == "trabalhista": return direito_trabalhista(pergunta)
if area == "consumidor": return direito_consumidor(pergunta)
if area == "previdenciario": return direito_previdenciario(pergunta)
if area == "civil": return direito_civil(pergunta)
if area == "familia": return direito_familia(pergunta)
return "Área não reconhecida."
opcoes = ["Trabalhista", "Consumidor", "Previdenciario", "Civil", "Familia"]
ui = gr.Interface(
fn=responder,
inputs=[gr.Dropdown(opcoes, label="Área Jurídica"), gr.Textbox(label="Pergunta")],
outputs=gr.Textbox(label="Resposta"),
title="JURIX – Assistência Jurídica",
description="OLÁ, EU SOU A JURIX, COMO POSSO AJUDAR?"
)
ui.launch()