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()