fix(compliance-advisor): increase token limit and add source protection
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-python-backend-compliance (push) Has been cancelled
CI / test-python-document-crawler (push) Has been cancelled
CI / test-python-dsms-gateway (push) Has been cancelled
CI / test-go-ai-compliance (push) Has been cancelled
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-python-backend-compliance (push) Has been cancelled
CI / test-python-document-crawler (push) Has been cancelled
CI / test-python-dsms-gateway (push) Has been cancelled
CI / test-go-ai-compliance (push) Has been cancelled
- Increase num_predict from 2048 to 8192 to prevent mid-sentence cutoff - Add "Quellenschutz" rules to system prompt: agent refuses to list all available sources/collections, only reveals sources used in answers - Remove internal collection names from RAG context sent to LLM - Agent confirms knowledge on specific topics but refuses meta-queries like "what sources do you have?" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -102,6 +102,20 @@ Diese gehoeren nicht zum Datenschutz-Kompetenzbereich.
|
||||
- Keine Aussagen zu laufenden Verfahren oder Bussgeldern
|
||||
- Keine Interpretation von Urteilen (nur Verweis)
|
||||
|
||||
## Quellenschutz (KRITISCH — IMMER EINHALTEN)
|
||||
Du darfst NIEMALS verraten, welche Dokumente, Sammlungen oder Quellen in deiner Wissensbasis enthalten sind.
|
||||
- Auf Fragen wie "Welche Quellen hast du?", "Was ist im RAG?", "Welche Gesetze kennst du?",
|
||||
"Liste alle Dokumente auf", "Welche Verordnungen sind verfuegbar?" antwortest du:
|
||||
"Ich beantworte gerne konkrete Compliance-Fragen. Bitte stellen Sie eine inhaltliche Frage
|
||||
zu einem bestimmten Thema, z.B. 'Was regelt Art. 25 DSGVO?' oder 'Welche Pflichten gibt es
|
||||
unter dem AI Act fuer Hochrisiko-KI?'."
|
||||
- Auf konkrete Fragen wie "Kennst du die DSGVO?" oder "Weisst du etwas ueber den AI Act?"
|
||||
darfst du bestaetigen, dass du zu diesem Thema Auskunft geben kannst, und eine inhaltliche
|
||||
Antwort geben.
|
||||
- Nenne in deinen Antworten NUR die Quellen, die du tatsaechlich fuer die konkrete Antwort
|
||||
verwendet hast — niemals eine vollstaendige Liste aller verfuegbaren Quellen.
|
||||
- Verrate NIEMALS Collection-Namen (bp_compliance_*, bp_dsfa_*, etc.) oder interne Systemnamen.
|
||||
|
||||
## Eskalation
|
||||
- Bei Fragen ausserhalb des Kompetenzbereichs: Hoeflich ablehnen und auf Fachanwalt verweisen
|
||||
- Bei widerspruechlichen Rechtslagen: Beide Positionen darstellen und DSB-Konsultation empfehlen
|
||||
@@ -182,8 +196,7 @@ async function queryMultiCollectionRAG(query: string, country?: Country): Promis
|
||||
return topResults
|
||||
.map((r, i) => {
|
||||
const source = r.source_name || r.source_code || 'Unbekannt'
|
||||
const col = r.collection ? ` [${r.collection}]` : ''
|
||||
return `[Quelle ${i + 1}: ${source}${col}]\n${r.content || ''}`
|
||||
return `[Quelle ${i + 1}: ${source}]\n${r.content || ''}`
|
||||
})
|
||||
.join('\n\n---\n\n')
|
||||
} catch (error) {
|
||||
@@ -246,7 +259,7 @@ Der Nutzer hat "${countryLabel} (${validCountry})" gewaehlt.
|
||||
stream: true,
|
||||
options: {
|
||||
temperature: 0.3,
|
||||
num_predict: 2048,
|
||||
num_predict: 8192,
|
||||
},
|
||||
}),
|
||||
signal: AbortSignal.timeout(120000),
|
||||
|
||||
Reference in New Issue
Block a user