- 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>
68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
# AP2 – Meilisearch-Test
|
||
|
||
| | |
|
||
|---|---|
|
||
| Status | detailliert, wartet auf Freigabe |
|
||
| Aufwand | 0,25 PW |
|
||
| Zeitraum | Teil 1 KW 41, Teil 2 KW 46 |
|
||
| Meilenstein | M2 |
|
||
| Freigabe | offen |
|
||
|
||
## Ziel
|
||
|
||
Belegen, ob Meilisearch v1.54.2 Vektoren mit 4.096 Dimensionen schnell genug durchsucht. Danach
|
||
steht fest, wie viel RAM der Server braucht und ob die binäre Quantisierung nötig ist. Teil 2
|
||
misst die Trefferqualität mit echten Embeddings.
|
||
|
||
## Umfang
|
||
|
||
**Enthalten:**
|
||
- Teil 1: Leistung mit erzeugten Zufallsvektoren
|
||
- Teil 2: Trefferquote mit echten Vektoren und Referenzfällen
|
||
|
||
**Nicht enthalten:** Aufbau der echten Indexierung (AP4).
|
||
|
||
## Voraussetzungen
|
||
|
||
- Teil 1: keine
|
||
- Teil 2: Staging, Pilotdaten, Referenzfälle (A20), KI-API (AP3)
|
||
|
||
## Entscheidungen
|
||
|
||
| Nr. | Frage | Vorschlag | Entschieden |
|
||
|---|---|---|---|
|
||
| E2.1 | Grenzwerte für „bestanden“ | Bei 50.000 Abschnitten mit Filter auf Vertrag: Antwortzeit p95 < 300 ms, Indexierung < 30 min, RAM von Meilisearch < 8 GB | offen |
|
||
|
||
## Schritte
|
||
|
||
**Teil 1 (KW 41):**
|
||
- [ ] **2.1** Messskript (`tools/meili-test/`, nur Entwicklung):
|
||
- erzeugt N Abschnitte mit normalisierten Zufallsvektoren (4.096 Dimensionen)
|
||
- mit Filterfeldern: Mandant, Land, Projekt, Abschnitt, Vertrag, Art
|
||
- mit kurzen Texten
|
||
- [ ] **2.2** Messung ohne Quantisierung für N = 10.000 und 50.000:
|
||
- Indexierungszeit, Plattenbedarf, RAM
|
||
- Antwortzeit p50/p95 über je 100 Anfragen für reine Vektorsuche, hybride Suche, hybride
|
||
Suche mit Filter auf Vertrag bzw. Projekt
|
||
- [ ] **2.3** Dieselbe Messung mit `binaryQuantized` in einem eigenen Index
|
||
- [ ] **2.4** Bericht `docs/tests/meilisearch-teil1.md` → Ergebnis: Empfehlung zu RAM für die
|
||
Server-Anforderungen und vorläufig zur Quantisierung; bei Nichtbestehen Plan B (Qdrant) bewerten
|
||
|
||
**Teil 2 (KW 46):**
|
||
- [ ] **2.5** Messskript für Staging. Es gibt nur Kennzahlen aus, keine Inhalte:
|
||
- Recall@10 und Recall@40 der richtigen Fundstelle
|
||
- jeweils vor und nach dem Reranker
|
||
- mit und ohne Quantisierung
|
||
- [ ] **2.6** Du führst es auf Staging aus. Bericht `docs/tests/meilisearch-teil2.md` →
|
||
Ergebnis: Entscheidung zur Quantisierung und Kandidatenzahl für AP4
|
||
|
||
## Abnahmekriterien
|
||
|
||
- Beide Berichte liegen vor und enthalten eine Empfehlung.
|
||
- Die Server-Anforderungen sind bei Bedarf angepasst.
|
||
|
||
## Risiken
|
||
|
||
- Zufallsvektoren sagen nichts über die Trefferqualität. Dafür gibt es Teil 2.
|
||
- Große JSON-Mengen beim Indexieren: in Stapeln senden.
|