AniseF commited on
Commit
6fda6cd
·
verified ·
1 Parent(s): 0bb403d

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -0
app.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 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:
14
+ {perguntas_guia}
15
+
16
+ Texto para análise:
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,
49
+ inputs=[input_text, modo_radio, cat_perguntas],
50
+ outputs=[output_res, output_model]
51
+ )
52
+
53
+ if __name__ == "__main__":
54
+ demo.launch()