feat: add analysisSource flag to show if local DB or neural network was used

This commit is contained in:
2026-06-23 20:56:35 +00:00
parent bec18d6fc2
commit 9d44b4cc1c
3 changed files with 11 additions and 1 deletions
+5
View File
@@ -64,6 +64,11 @@ export const ReportDisplay: React.FC<ReportDisplayProps> = ({ report }) => {
<div className="mt-0.5 bg-slate-50 dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 text-slate-700 dark:text-slate-300 px-2.5 py-1 rounded-full text-[10px] font-bold">
{confidence}% <span className="text-[8px] text-slate-400 dark:text-slate-500 font-normal">IA-Score</span>
</div>
{report.analysisSource && (
<span className="text-[7px] text-slate-400 mt-1 uppercase tracking-widest" title="Origem dos parâmetros de conformidade usados pela IA">
{report.analysisSource === 'Banco Local' ? '🏦 Banco Local' : '🧠 Rede Neural'}
</span>
)}
</div>
</div>
</div>
+5 -1
View File
@@ -55,6 +55,7 @@ const reportSchema = {
type: Type.OBJECT,
properties: {
confidence: { type: Type.NUMBER, description: "Grau de Confiança da Análise em percentual (ex: 98)." },
analysisSource: { type: Type.STRING, description: "Fonte da análise: 'Banco Local' ou 'Rede Neural'." },
identification: {
type: Type.OBJECT,
properties: {
@@ -141,7 +142,7 @@ const reportSchema = {
description: "Lista de normas internacionais equivalentes."
}
},
required: ["confidence", "identification", "compliance", "overPerformance", "equivalents"]
required: ["confidence", "analysisSource", "identification", "compliance", "overPerformance", "equivalents"]
};
const arraySchema = {
@@ -170,9 +171,11 @@ Sua tarefa principal é transcrever com precisão matemática e zero alucinaçã
prompt += `\n\n=== BANCO DE NORMAS LOCAL (USO OBRIGATÓRIO) ===\n`;
prompt += `Você DEVE utilizar as regras rígidas do seguinte banco de dados local para confrontar e validar os resultados do certificado. SE a norma citada no laudo estiver presente na lista abaixo, USE ESTRITAMENTE os valores desta lista para verificar o "status" (CONFORME / REPROVADO):\n\n`;
prompt += JSON.stringify(standardsContext, null, 2);
prompt += `\n\n- No campo "analysisSource" do JSON, preencha EXATAMENTE com "Banco Local" se você usou as regras deste banco.`;
prompt += `\n=================================================\n`;
} else {
prompt += `\n- Utilize o seu conhecimento paramétrico interno de engenharia de materiais para aplicar os limites corretos da norma encontrada no laudo.\n`;
prompt += `- No campo "analysisSource" do JSON, preencha EXATAMENTE com "Rede Neural".\n`;
}
prompt += `
@@ -186,6 +189,7 @@ FORMATO DO RETORNO:
[
{
"confidence": 98,
"analysisSource": "Banco Local",
"identification": {
"product": "PERFIL I",
"standards": "ASTM A572 GR50 / NBR7007 AR350",
+1
View File
@@ -40,6 +40,7 @@ export interface EquivalentItem {
export interface ReportData {
confidence: number;
analysisSource?: string;
identification: IdentificationData;
compliance: ComplianceData;
overPerformance: OverPerformanceItem[];