Spaces:
Sleeping
Sleeping
File size: 2,242 Bytes
853a257 eab1cde 26610a8 853a257 eab1cde 26610a8 eab1cde 853a257 eab1cde 26610a8 eab1cde 26610a8 eab1cde 26610a8 eab1cde 26610a8 eab1cde 853a257 26610a8 853a257 eab1cde 853a257 eab1cde 853a257 eab1cde 26610a8 eab1cde 26610a8 eab1cde 26610a8 eab1cde 26610a8 eab1cde 26610a8 853a257 eab1cde |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
import gradio as gr
import os
import re
import numpy as np
from metrology_rag import MetrologyRAGSystem
class CalibrationAssistant:
def __init__(self):
# Inicializa com documentos pré-carregados
self.rag_system = MetrologyRAGSystem()
self.rag_system.initialize_system("rag_documents")
def technical_query(self, query):
try:
response = self.rag_system.generate_technical_response(query)
return self._clean_response(response)
except Exception as e:
return f"Erro na consulta: {str(e)}"
def analyze_report(self, file):
try:
analysis = self.rag_system.analyze_metrology_report(file.name)
return self._clean_response(analysis)
except Exception as e:
return f"Erro na análise: {str(e)}"
def _clean_response(self, text):
return re.sub(r'\x1B\[[0-?]*[ -/]*[@-~]', '', text)
assistant = CalibrationAssistant()
css = """
footer {visibility: hidden}
.markdown {max-width: 95% !important}
"""
with gr.Blocks(css=css, title="Assistente de Metrologia") as demo:
gr.Markdown("# 🔧 Assistente de Metrologia Certificada")
with gr.Tab("Consulta Técnica"):
gr.Markdown("### Sistema RAG com Documentação Pré-Carregada")
query_input = gr.Textbox(
label="Faça sua consulta técnica",
placeholder="Ex: Qual o procedimento para calibração de micrômetros?..."
)
query_btn = gr.Button("Enviar")
response_output = gr.Markdown(label="Resposta Técnica Certificada")
with gr.Tab("Análise de Relatório"):
gr.Markdown("### Verificação de Conformidade de Relatórios")
report_input = gr.File(
label="Carregue seu relatório de calibração (PDF)",
file_types=[".pdf"]
)
analyze_btn = gr.Button("Analisar")
analysis_output = gr.Markdown(label="Resultado da Análise")
query_btn.click(
assistant.technical_query,
inputs=query_input,
outputs=response_output
)
analyze_btn.click(
assistant.analyze_report,
inputs=report_input,
outputs=analysis_output
)
demo.launch() |