feat: implement RAG-enabled chat hook and admin file upload component

This commit is contained in:
RaymondVerhoef
2026-05-24 16:59:11 +02:00
parent 881148357e
commit 8e01b21a50
5 changed files with 30 additions and 54 deletions

View File

@@ -8,7 +8,7 @@ An internal AI-powered learning platform that keeps Respellion employees up to d
- **Weekly Test** — AI-generated quiz based on the knowledge graph. Results are stored and feed the leaderboard.
- **Leaderboard & Gamification** — Points for correct answers, badges for streaks and perfect scores.
- **R42 Chatbot** — An always-available AI assistant (backed by Claude) with access to the full knowledge graph. Can propose graph updates that admins approve or reject.
- **Admin Panel** — Manage the knowledge graph, sync from GitHub, review generated content, refine it with AI, and monitor team progress.
- **Admin Panel** — Manage the knowledge graph, upload source files, review generated content, refine it with AI, and monitor team progress.
## Tech Stack
@@ -54,12 +54,11 @@ The `Caddyfile` handles:
| File | Purpose |
|---|---|
| `src/lib/learningService.js` | Selective content generation (article / slides / infographic) |
| `src/lib/extractionPipeline.js` | GitHub file → knowledge graph extraction |
| `src/lib/api.js` | Anthropic API wrapper (`generateContent` + `chat`) |
| `src/lib/extractionPipeline.js` | Uploaded file → knowledge graph extraction |
| `src/lib/llm.js` | Core Anthropic LLM wrapper |
| `src/lib/db.js` | All PocketBase data access |
| `src/lib/giteaService.js` | GitHub API client (folder listing + raw file fetch) |
| `src/store/AppContext.jsx` | Global state; computes ISO week number on load |
| `src/components/admin/UploadZone.jsx` | GitHub sync UI (default folder: `docs/knowledge-base/`) |
| `src/components/admin/UploadZone.jsx` | Drag-and-drop file upload UI |
| `AI_AGENT.md` | Detailed context guide for AI coding agents |
## Content Types