Ein Vector Store ist eine spezialisierte Datenbank, die Informationen nicht als reinen Text speichert, sondern in Form von numerischen Vektoren. Semantische Bedeutung beschreibt dabei das inhaltliche Verständnis eines Textes unabhängig von der konkreten Formulierung. Zwei unterschiedliche Sätze können dieselbe Bedeutung haben, auch wenn sie völlig verschieden geschrieben sind. Diese Vektoren repräsentieren genau diese semantische Bedeutung von Inhalten.
Für die Umsetzung verwenden wir die OpenAI API. Diese ermöglicht uns nicht nur die Umwandlung unserer Daten in Vektoren, sondern auch die direkte Nutzung dieser Daten in Kombination mit KI-Modellen. Die hochgeladenen Inhalte werden dabei in einem Vector Store gespeichert und können von den KI-Modellen gezielt durchsucht werden. Auf Basis dieser Daten ist das Modell in der Lage, kontextbezogene Antworten zu generieren.
Dateitypen unterstützt von OpenAI
Wie funktioniert das in unserem KI-Proxy
Für die Verwaltung und Nutzung des Vector Stores stellt unser KI-Proxy eine Reihe von REST-Endpunkten bereit. Diese Endpunkte kapseln die Funktionen der OpenAI API und integrieren sie direkt in unsere Softwarearchitektur.
Parameter
| Parameter | Bedeutung | Verwendete Endpunkte |
| profileName | Zuordnung zum jeweiligen Systemprofil. Standardmäßig wird das Profil „VectorStore“ verwendet. | in jedem Endpunkt |
| Name | Name des zu erstellenden Vector Stores | /api/ai/vectorstore/create |
| Files | Hochzuladende Dateien für den Vector Store (optional beim Endpunkt /api/ai/vectorstore/create) | /api/ai/vectorstore/create, /api/ai/vectorstore/upload |
| AttributesJson | Strukturierte Metadaten für Dateien | /api/ai/vectorstore/create,/api/ai/vectorstore/upload |
| VectorStoreId | Eindeutige ID eines bestehenden Vector Stores | Für alle Endpunkte außer /api/ai/vectorstore/create |
| Prompt | Benutzeranfrage für die semantische Suche | /api/ai/vectorstore/search |
| UserName | von WaWi erwartet, im Test leer möglich | |
| Tenant | von WaWi erwartet, im Test leer möglich | |
| PromptType | von WaWi erwartet, im Test leer möglich | /api/ai/vectorstore/search |
API Endpunkte des KI-Proxy
Damit wird die komplette Vector-Store-Logik zentral über unsere eigene API gesteuert.
Vector Store erstellen
POST /api/ai/vectorstore/create
Dieser Endpunkt erstellt einen neuen Vector Store und ermöglicht optional das direkte Hochladen von Dateien.
Parameter: profileName, Name, Files, AttributesJson
Ergebnis: Rückgabe des erstellten Vector Store Objekts, inklusive der VectorStoreId, die für weitere Operationen benötigt wird.
Dateien hochladen
POST /api/ai/vectorstore/upload
Dieser Endpunkt dient dazu, nachträglich Dateien in einen bestehenden Vector Store hochzuladen.
Parameter: VectorStoreId, profileName, Files, AttributesJson
Ergebnis: Gibt ein FileBatch-Objekt zurück, welches Informationen zum Upload enthält, einschließlich der Anzahl der verarbeiteten Dateien.
Beispiel: Beim Upload können über AttributesJson Metadaten wie Kategorien definiert werden:
{
"Category": "Rechnung",
"Customer": "Musterkunde GmbH",
"Year": 2026
}
Alle in diesem Request hochgeladenen Dateien erhalten diese Metadaten und können später gezielt gefiltert und durchsucht werden.

Das AttributesJson wird für alle Dateien innerhalb einer Upload-Anfrage einheitlich angewendet.
Das bedeutet:
Eine individuelle Zuordnung pro Datei innerhalb eines Requests ist nicht möglich
Alle Dateien, die in einem Request hochgeladen werden, erhalten dieselben Metadaten
Der aktuelle Verarbeitungsstatus sollte über GET /api/ai/vectorstore/status abgefragt werden.
(z. B. ob alle Dateien erfolgreich verarbeitet wurden)

Suche im Vector Store
POST /api/ai/vectorstore/search
Dieser Endpunkt führt eine semantische KI-Suche innerhalb eines Vector Stores durch.
Parameter: VectorStoreId, profileName, Prompt, UserName, Tenant, PromptType.
Ergebnis : Gibt ein Response-Objekt zurück. Dieses enthält:
- die KI-Antwort im Feld
Text - verbrauchte Tokens
- entstehende Kosten
- weitere technische Metadaten
Status abfragen
GET /api/ai/vectorstore/status
Dieser Endpunkt liefert den aktuellen Status eines Vector Stores.
Parameter: VectorStoreId, profileName.
Ergebnis : Gibt den aktuellen Verarbeitungsstatus eines Vector Stores zurück.
Vector Store löschen
DELETE /api/ai/vectorstore/delete
Dieser Endpunkt löscht einen Vector Store inklusive aller zugehörigen Dateien.
Parameter: VectorStoreId, profileName.

Der Endpunkt entfernt den Vector Store vollständig und löscht dabei auch alle damit verknüpften Dateien.