feat(ai): P1.1 Embedding-Modell multilingual-e5-small on-device integrieren #439
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp#439
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase-1-Sub-Issue zu #122 (Decision Record 2026-06-06).
Ziel
Deutsches/multilinguales Embedding-Modell
intfloat/multilingual-e5-smallon-device verfügbar machen — Foundation für RAG-Suche und alle nachfolgenden KI-Phasen.Scope
onnxruntime-react-native(zurückgeholt — siehe Decision 1 in #438) als Inferenz-Runtime.EmbeddingServicemit synchroner Inferenz auf Text-Chunk → Float32Array.query:, Passage-Prefixpassage:(E5-Konvention).Akzeptanzkriterien
EmbeddingService.embed(text, kind: 'query'|'passage'): Float32Arrayfunktional getestet.Out-of-Scope
Scope-Korrektur 2026-06-06
Der Original-Scope dieses Tickets war zu groß formuliert — „ONNX-Reintegration" war falsche Annahme. Tatsächliches Bild:
Bestehende Foundation (kann wiederverwendet werden)
onnxruntime-react-nativevoll integriert, Custom Expo Pluginwith-onnxruntime-packageaktivSymbol.for('onnxruntime')und Blob/File innli-classifier-polyfill.ts@huggingface/transformersmitenv.allowLocalModels=false/env.useFSCache=false-Konfigurationnli-classifier.tsKlassen-Struktur)AutoTokenizer.from_pretrained)Tatsächlich neuer Scope
Analog zu
nli-classifier.tseinenembedding-service.tsanlegen, der:multilingual-e5-smallONNX-Modell (~118 MB Q8) lädt (Download-on-First-Run, gleiches Pattern wie NLI)intfloat/multilingual-e5-smallüberAutoTokenizer.from_pretrainedlädtembed(text, kind: 'query'|'passage'): Promise<Float32Array>exponiertquery:,passage:)Akzeptanzkriterien unverändert
EmbeddingService.embed(text, kind)funktional getestetEffort-Schätzung neu
Deutlich kleiner als ursprünglich beschrieben — ~1-2 Tage statt ~1 Woche, weil das ganze Infrastruktur-Setup (ORT, Polyfills, Plugin, Download-Pattern) bereits steht.
Implementation komplett — integriert in PR #444 (
wireup/ai-foundation-phase1). Device-Pass läuft am übergeordneten Epic #122. Issue wird geschlossen.