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"> <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> {confidence}% <span className="text-[8px] text-slate-400 dark:text-slate-500 font-normal">IA-Score</span>
</div> </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> </div>
</div> </div>
+5 -1
View File
@@ -55,6 +55,7 @@ const reportSchema = {
type: Type.OBJECT, type: Type.OBJECT,
properties: { properties: {
confidence: { type: Type.NUMBER, description: "Grau de Confiança da Análise em percentual (ex: 98)." }, 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: { identification: {
type: Type.OBJECT, type: Type.OBJECT,
properties: { properties: {
@@ -141,7 +142,7 @@ const reportSchema = {
description: "Lista de normas internacionais equivalentes." description: "Lista de normas internacionais equivalentes."
} }
}, },
required: ["confidence", "identification", "compliance", "overPerformance", "equivalents"] required: ["confidence", "analysisSource", "identification", "compliance", "overPerformance", "equivalents"]
}; };
const arraySchema = { 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 += `\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 += `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 += 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`; prompt += `\n=================================================\n`;
} else { } 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 += `\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 += ` prompt += `
@@ -186,6 +189,7 @@ FORMATO DO RETORNO:
[ [
{ {
"confidence": 98, "confidence": 98,
"analysisSource": "Banco Local",
"identification": { "identification": {
"product": "PERFIL I", "product": "PERFIL I",
"standards": "ASTM A572 GR50 / NBR7007 AR350", "standards": "ASTM A572 GR50 / NBR7007 AR350",
+1
View File
@@ -40,6 +40,7 @@ export interface EquivalentItem {
export interface ReportData { export interface ReportData {
confidence: number; confidence: number;
analysisSource?: string;
identification: IdentificationData; identification: IdentificationData;
compliance: ComplianceData; compliance: ComplianceData;
overPerformance: OverPerformanceItem[]; overPerformance: OverPerformanceItem[];