Detaillierter Projektplan mit Teilplänen und Fragenliste
- docs/projektplan.md neu gegliedert: Arbeitsweise mit Freigaben, Zuständigkeiten, Meilensteine mit Abnahmekriterien, Arbeitspakete mit Status, Zeitplan, Entscheidungen - docs/plaene/: Teilplan je Arbeitspaket (detailliert für AP0, AP1, AP2, AP3, AP5, AP11, AP13; grob für AP4, AP6–AP10, AP12, Optionen) und Vorlage - docs/fragen.md: alle offenen Fragen mit Status, Empfänger und betroffenem Teilplan - CLAUDE.md: Umsetzung nur nach freigegebenem Teilplan Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
6aac8b0a16
commit
2143f4e955
@@ -0,0 +1,86 @@
|
||||
# AP3 – Anbindung KI-API ITM
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Status | in Arbeit; Schritte ab 3.2 detailliert, warten auf Freigabe |
|
||||
| Aufwand | 0,5 PW offen |
|
||||
| Zeitraum | KW 42 (Schnelltest, Einstellungen), KW 44 (Clients, Jobs) |
|
||||
| Meilenstein | M1/M2 |
|
||||
| Freigabe | offen |
|
||||
|
||||
## Ziel
|
||||
|
||||
Die Anwendung nutzt Dokumentdienst, `embed`, `rerank` und `chat` zuverlässig. Sie beachtet die
|
||||
Grenzen der API und protokolliert jeden Aufruf ohne Inhalte und ohne Schlüssel. Die Schlüssel
|
||||
liegen verschlüsselt in der Datenbank.
|
||||
|
||||
## Umfang
|
||||
|
||||
**Enthalten:**
|
||||
- Schlüsselverwaltung, Clients, Hintergrund-Jobs, Ratenbegrenzung, Wiederholungen,
|
||||
Verbrauchsprotokoll, Statusprüfung
|
||||
|
||||
**Nicht enthalten:**
|
||||
- Indexierung (AP4)
|
||||
- Prompts für die Beurteilung (AP7)
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- C1 (Schlüssel), C4–C8 (Modelle, Grenzen); Schlüssel im Windows-Tresor, Proxy läuft (du)
|
||||
- AP1 Schritt 1.7 (Rechte für Verwaltung)
|
||||
|
||||
## Entscheidungen
|
||||
|
||||
| Nr. | Frage | Vorschlag | Entschieden |
|
||||
|---|---|---|---|
|
||||
| E3.1 | Anteil der 120 Anfragen/min für interaktive Suche | 40/min reserviert, Rest für Hintergrund-Jobs; nach C8 anpassen | offen |
|
||||
| E3.2 | Standardmodell für einfache Aufgaben | `chat-noreasoning`, `chat` nur für die Beurteilung (AP7) | offen |
|
||||
|
||||
## Schritte
|
||||
|
||||
- [x] **3.1** Schlüssel-Proxy (`tools/ki-proxy`), Sperr-Hook für Claude Code, gitleaks-Regel
|
||||
- [ ] **3.2** Schnelltest über den Proxy, wenn du ihn gestartet hast. Nur Testtexte:
|
||||
- Modellverzeichnis
|
||||
- Dimension und Normalisierung von `embed` messen
|
||||
- `rerank`
|
||||
- `chat` mit Streaming
|
||||
|
||||
→ `docs/tests/ki-api-schnelltest.md`
|
||||
- [ ] **3.3** Einstellungen KI-Schnittstelle:
|
||||
- Tabelle mit verschlüsselten Feldern
|
||||
- Verwaltungsmaske: Basis-URL, drei Schlüsselfelder (nur beschreibbar, Anzeige `zki_…a1b2`),
|
||||
Modellnamen, „Verbindung prüfen“
|
||||
- Protokolleintrag bei Änderung (ohne Wert)
|
||||
- In der Entwicklung zeigt die Basis-URL auf den Proxy, die Schlüssel bleiben leer.
|
||||
- [ ] **3.4** Clients:
|
||||
- `Dokumentdienst` (einreichen, Status, Ergebnis Markdown/JSON)
|
||||
- `Embeddings` (Stapel; Instruct-Präfix für Suchanfragen nach C4)
|
||||
- `Rerank`
|
||||
- `Chat` (normal und Streaming)
|
||||
- [ ] **3.5** Jobs und Ausfallsicherheit:
|
||||
- Ergebnisse abfragen im Abstand von 2 bis 10 s
|
||||
- Job-ID gleich nach dem Einreichen speichern, keine Doppel-Einreichung nach Timeout
|
||||
- Wiederholung bei 429 (Retry-After) und 5xx mit Backoff
|
||||
- Ratenbegrenzer nach E3.1
|
||||
- [ ] **3.6** Verbrauchsprotokoll `ki_aufrufe`: Dienst, Modell, Dauer, Status, Tokens, Bezug.
|
||||
Keine Inhalte, keine Header.
|
||||
- [ ] **3.7** Statusprüfung: Artisan-Befehl und Anzeige im Systemstatus (erreichbar, Antwortzeit,
|
||||
Auslastung); Alarm über AP11
|
||||
|
||||
## Abnahmekriterien
|
||||
|
||||
- „Verbindung prüfen“ zeigt alle Dienste grün.
|
||||
- Die Schlüssel stehen nirgends im Klartext: nicht in der DB, nicht im Log, nicht in der Antwort
|
||||
der Maske.
|
||||
- Ein Ausfall der API stoppt keine Seite; die Jobs laufen später weiter.
|
||||
|
||||
## Tests
|
||||
|
||||
- `Http::fake` für 200, 202, 409, 410, 404, 429, 5xx, Timeout und Streaming
|
||||
- Ratenbegrenzer greift
|
||||
- Log und Protokoll enthalten keinen Schlüssel
|
||||
- Verwaltungsmaske nur für Administratoren
|
||||
|
||||
## Risiken
|
||||
|
||||
- Antworten von ITM fehlen (C4–C8): Werte messen (3.2) und Standardwerte konfigurierbar halten.
|
||||
Reference in New Issue
Block a user