AniseF commited on
Commit
5bf0a57
·
verified ·
1 Parent(s): 81cd45b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -13
app.py CHANGED
@@ -2,12 +2,31 @@ import gradio as gr
2
  from utils import get_doc_content, call_openrouter
3
  from config import DOCS
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  def processar_analise(texto_usuario, modo, categoria_pergunta):
6
- # 1. Busca as perguntas baseadas na categoria escolhida
 
 
7
  url = DOCS.get(categoria_pergunta)
8
  perguntas_guia = get_doc_content(url)
9
 
10
- # 2. Monta o Prompt para a IA
11
  prompt_completo = f"""
12
  Você é um especialista em línguas clássicas (Grego Antigo e Latim).
13
  Analise o texto fornecido seguindo estas perguntas guia:
@@ -17,32 +36,39 @@ def processar_analise(texto_usuario, modo, categoria_pergunta):
17
  {texto_usuario}
18
  """
19
 
20
- # 3. Chama a IA com Fallback
21
  resposta, modelo_vencedor = call_openrouter(prompt_completo, modo)
22
  return resposta, f"Respondido por: {modelo_vencedor}"
23
 
24
- # Interface
25
- with gr.Blocks(title="AI for Classics - Research Tool") as demo:
26
  gr.Markdown("# 🏛️ AI for Classics: Ferramenta de Pesquisa")
 
27
 
28
  with gr.Row():
29
- with gr.Column():
30
- input_text = gr.Textbox(label="### Insira o texto original (Grego ou Latim)", lines=8)
 
 
 
 
 
31
  modo_radio = gr.Radio(
32
  ["Alta Precisão (Filológico)", "Custo-Benefício (Triagem)"],
33
- label="Estratégia de Modelos",
34
  value="Alta Precisão (Filológico)"
35
  )
 
36
  cat_perguntas = gr.Dropdown(
37
  choices=["SYNTAX", "MORPHOLOGY", "SEMANTICS"],
38
- label="Categorias de Perguntas (Google Docs)",
39
  value="SYNTAX"
40
  )
41
- btn = gr.Button("Executar Análise Filológica", variant="primary")
42
 
43
- with gr.Column():
44
- output_res = gr.Textbox(label="Análise da IA", lines=15)
45
- output_model = gr.Label(label="Status do Sistema")
 
 
46
 
47
  btn.click(
48
  processar_analise,
 
2
  from utils import get_doc_content, call_openrouter
3
  from config import DOCS
4
 
5
+ # CSS Personalizado para aumentar o tamanho das fontes e rótulos
6
+ custom_css = """
7
+ label span {
8
+ font-size: 22px !important;
9
+ font-weight: bold !important;
10
+ color: #2d2d2d !important;
11
+ }
12
+ .gradio-container {
13
+ font-family: 'Helvetica Neue', Arial, sans-serif;
14
+ }
15
+ button {
16
+ font-size: 20px !important;
17
+ }
18
+ textarea {
19
+ font-size: 18px !important;
20
+ }
21
+ """
22
+
23
  def processar_analise(texto_usuario, modo, categoria_pergunta):
24
+ if not texto_usuario.strip():
25
+ return "Por favor, insira um texto para análise.", "Aguardando entrada..."
26
+
27
  url = DOCS.get(categoria_pergunta)
28
  perguntas_guia = get_doc_content(url)
29
 
 
30
  prompt_completo = f"""
31
  Você é um especialista em línguas clássicas (Grego Antigo e Latim).
32
  Analise o texto fornecido seguindo estas perguntas guia:
 
36
  {texto_usuario}
37
  """
38
 
 
39
  resposta, modelo_vencedor = call_openrouter(prompt_completo, modo)
40
  return resposta, f"Respondido por: {modelo_vencedor}"
41
 
42
+ # Interface com CSS injetado
43
+ with gr.Blocks(theme=gr.themes.Soft(), css=custom_css) as demo:
44
  gr.Markdown("# 🏛️ AI for Classics: Ferramenta de Pesquisa")
45
+ gr.Markdown("### Analise textos clássicos com modelos de IA de alta precisão ou baixo custo.")
46
 
47
  with gr.Row():
48
+ with gr.Column(scale=1):
49
+ input_text = gr.Textbox(
50
+ label="1. Insira o texto original (Grego ou Latim)",
51
+ placeholder="Cole aqui o trecho da obra...",
52
+ lines=10
53
+ )
54
+
55
  modo_radio = gr.Radio(
56
  ["Alta Precisão (Filológico)", "Custo-Benefício (Triagem)"],
57
+ label="2. Escolha a Estratégia",
58
  value="Alta Precisão (Filológico)"
59
  )
60
+
61
  cat_perguntas = gr.Dropdown(
62
  choices=["SYNTAX", "MORPHOLOGY", "SEMANTICS"],
63
+ label="3. Categoria de Análise",
64
  value="SYNTAX"
65
  )
 
66
 
67
+ btn = gr.Button("🚀 EXECUTAR ANÁLISE", variant="primary")
68
+
69
+ with gr.Column(scale=1):
70
+ output_res = gr.Textbox(label="Resultado da Análise", lines=18, interactive=False)
71
+ output_model = gr.Label(label="Modelo Utilizado")
72
 
73
  btn.click(
74
  processar_analise,