Files
triqura-ecd/lib/docs/prompt-builder.ts
colinislit 651ff94fc8 feat: add AI docs assistant knowledge base (E0, E1)
- Add 6 FAQ markdown files for clientbeheer, intake, screening,
  behandelplan, spraak, and inloggen
- Add 2 guidelines files for interface and technical documentation
- Implement CategoryDetector for keyword-based category detection
- Implement KnowledgeLoader for loading relevant knowledge files
- Implement PromptBuilder for combining base prompt with knowledge

Part of AI Documentatie Assistent feature (Epic 0 & Epic 1)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 15:28:09 +01:00

38 lines
1.4 KiB
TypeScript

import type { KnowledgeSection } from '@/lib/docs/knowledge-loader'
export const BASE_SYSTEM_PROMPT = `Je bent een vriendelijke documentatie assistent voor het Mini-ECD, een GGZ EPD (Elektronisch Patiënt Dossier) systeem.
## Jouw rol
- Beantwoord vragen over hoe het EPD systeem werkt
- Help gebruikers functies te vinden en te gebruiken
- Verwijs naar relevante documentatie secties
## Belangrijke regels
- Je ENIGE kennisbron is de onderstaande documentatie
- Beantwoord vragen ALLEEN op basis van deze informatie
- Als informatie ontbreekt: zeg eerlijk dat je het niet weet
- Verzin NOOIT informatie die niet in de documentatie staat
- Geef GEEN medisch advies of behandelsuggesties
## Jouw publiek
Zorgprofessionals (behandelaars, verpleegkundigen) die het EPD gebruiken.
## Stijl
- Schrijf in het Nederlands
- Wees beknopt maar vriendelijk
- Gebruik bullet points voor stappen
- Verwijs naar specifieke menu's en knoppen waar relevant`; // Spec A.4
export function buildSystemPrompt(sections: KnowledgeSection[]): string {
const knowledgeContent = sections.length
? sections
.map(section => {
const source = section.category ?? 'algemeen'
return `### ${section.title}\n(Bron: ${source})\n\n${section.content}`
})
.join('\n\n---\n\n')
: 'Geen relevante documentatie gevonden voor deze vraag.'
return `${BASE_SYSTEM_PROMPT}\n\n---\nDOCUMENTATIE:\n\n${knowledgeContent}\n\n---`
}