|
@@ -9,6 +9,7 @@ const SYSTEM_PROMPT = [
|
|
|
"Quando o CONTEXTO abaixo cobrir a pergunta, use-o e cite a fonte entre parênteses.",
|
|
"Quando o CONTEXTO abaixo cobrir a pergunta, use-o e cite a fonte entre parênteses.",
|
|
|
"Para perguntas gerais sem relação com documentos internos, responda normalmente com seu conhecimento.",
|
|
"Para perguntas gerais sem relação com documentos internos, responda normalmente com seu conhecimento.",
|
|
|
"Nunca invente dados específicos da empresa (processos, valores, nomes) que não estejam no CONTEXTO."
|
|
"Nunca invente dados específicos da empresa (processos, valores, nomes) que não estejam no CONTEXTO."
|
|
|
|
|
+
|
|
|
].join("\n");
|
|
].join("\n");
|
|
|
|
|
|
|
|
function buildContextBlock(hits) {
|
|
function buildContextBlock(hits) {
|
|
@@ -23,10 +24,18 @@ function buildContextBlock(hits) {
|
|
|
return lines.join("\n").trim();
|
|
return lines.join("\n").trim();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+const EMPTY_CONTEXT_GUARD = [
|
|
|
|
|
+ "Nenhum documento interno foi encontrado para esta pergunta.",
|
|
|
|
|
+ "Se ela for sobre processos, valores, nomes ou políticas da Star, responda que não há informação na base interna e não invente.",
|
|
|
|
|
+ "Perguntas gerais podem ser respondidas normalmente."
|
|
|
|
|
+].join("\n");
|
|
|
|
|
+
|
|
|
function buildMessages(message, context, history = []) {
|
|
function buildMessages(message, context, history = []) {
|
|
|
return [
|
|
return [
|
|
|
{ role: "system", content: SYSTEM_PROMPT },
|
|
{ role: "system", content: SYSTEM_PROMPT },
|
|
|
- ...(context ? [{ role: "system", content: `CONTEXTO:\n${context}` }] : []),
|
|
|
|
|
|
|
+ ...(context
|
|
|
|
|
+ ? [{ role: "system", content: `CONTEXTO:\n${context}` }]
|
|
|
|
|
+ : [{ role: "system", content: EMPTY_CONTEXT_GUARD }]),
|
|
|
...history.map((m) => ({ role: m.Role.toLowerCase(), content: m.Content })),
|
|
...history.map((m) => ({ role: m.Role.toLowerCase(), content: m.Content })),
|
|
|
{ role: "user", content: message }
|
|
{ role: "user", content: message }
|
|
|
];
|
|
];
|