Optimize AI system with batching, token tracking, and GDPR compliance

- Add AIUsageLog model for persistent token/cost tracking
- Implement batched processing for all AI services:
  - Assignment: 15 projects/batch
  - Filtering: 20 projects/batch
  - Award eligibility: 20 projects/batch
  - Mentor matching: 15 projects/batch
- Create unified error classification (ai-errors.ts)
- Enhance anonymization with comprehensive project data
- Add AI usage dashboard to Settings page
- Add usage stats endpoints to settings router
- Create AI system documentation (5 files)
- Create GDPR compliance documentation (2 files)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-03 11:58:12 +01:00
parent a72e815d3a
commit 928b1c65dc
19 changed files with 4103 additions and 601 deletions

View File

@@ -19,6 +19,7 @@ import {
Settings as SettingsIcon,
} from 'lucide-react'
import { AISettingsForm } from './ai-settings-form'
import { AIUsageCard } from './ai-usage-card'
import { BrandingSettingsForm } from './branding-settings-form'
import { EmailSettingsForm } from './email-settings-form'
import { StorageSettingsForm } from './storage-settings-form'
@@ -134,7 +135,7 @@ export function SettingsContent({ initialSettings }: SettingsContentProps) {
</TabsTrigger>
</TabsList>
<TabsContent value="ai">
<TabsContent value="ai" className="space-y-6">
<Card>
<CardHeader>
<CardTitle>AI Configuration</CardTitle>
@@ -146,6 +147,7 @@ export function SettingsContent({ initialSettings }: SettingsContentProps) {
<AISettingsForm settings={aiSettings} />
</CardContent>
</Card>
<AIUsageCard />
</TabsContent>
<TabsContent value="branding">