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

ParameterBedeutungVerwendete Endpunkte
profileNameZuordnung zum jeweiligen Systemprofil. Standardmäßig wird das Profil „VectorStore“ verwendet.in jedem Endpunkt
NameName des zu erstellenden Vector Stores/api/ai/vectorstore/create
FilesHochzuladende Dateien für den Vector Store (optional beim Endpunkt
/api/ai/vectorstore/create)
/api/ai/vectorstore/create,
/api/ai/vectorstore/upload
AttributesJsonStrukturierte Metadaten für Dateien/api/ai/vectorstore/create,
/api/ai/vectorstore/upload
VectorStoreIdEindeutige ID eines bestehenden Vector StoresFür alle Endpunkte außer
/api/ai/vectorstore/create
PromptBenutzeranfrage für die semantische Suche/api/ai/vectorstore/search
UserNamevon WaWi erwartet, im Test leer möglich/api/ai/vectorstore/search
Tenantvon WaWi erwartet, im Test leer möglich/api/ai/vectorstore/search
PromptTypevon 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.