0Pricing
Learn AI with Python · Lektion

Einführung in Vektordatenbanken

Warum Vektor-Datenbanken existieren, FAISS für die lokale Ähnlichkeitssuche und Embeddings für KI-Retrieval speichern.

Einführung in Vektordatenbanken ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Über exakte Übereinstimmungen hinaus

Traditionelle Datenbanken finden Zeilen anhand exakter Werte (WHERE name = "x"). KI arbeitet jedoch mit Embeddings — Vektoren, die Bedeutung erfassen — und häufig möchten Sie die Elemente finden, die einer Abfrage am ähnlichsten sind, statt exakte Übereinstimmungen zu suchen.

Vektordatenbanken wurden entwickelt, um diese Ähnlichkeitssuche schnell zu machen.

Was ist ein Embedding?

Ein Embedding ist eine Liste von Zahlen (ein Vektor), die Text, ein Bild oder Audio so darstellt, dass ähnliche Elemente im Vektorraum nahe beieinander liegen.

Semantische Suche, Empfehlungen und Retrieval-Augmented Generation (RAG) basieren alle auf Embeddings.

import numpy as np

# A toy 4-dim embedding for a sentence
vec = np.array([0.12, -0.43, 0.88, 0.05], dtype="float32")
print(vec.shape)   # (4,)

Warum keine normale Datenbank?

Eine Abfrage mithilfe einer Brute-Force-Schleife mit Millionen von Vektoren zu vergleichen, ist langsam. Vektordatenbanken verwenden spezielle Indizes und Distanzberechnungen, um die nächsten Nachbarn innerhalb von Millisekunden zurückzugeben.

Außerdem lassen sie sich skalieren und dauerhaft speichern und können Metadaten zusammen mit Vektoren verwalten.

Ähnlichkeit messen

Die Nähe wird mit einer Distanzmetrik gemessen:

  • L2 (Euklidisch) — Distanz entlang einer geraden Linie; kleinere Werte bedeuten größere Nähe
  • Kosinus — Winkel zwischen Vektoren; gut für Text geeignet

FAISS unterstützt mehrere Metriken; wir verwenden L2.

FAISS kennenlernen

FAISS (Facebook AI Similarity Search) ist eine schnelle, kostenlose Bibliothek für die Vektorsuche. Sie läuft lokal ohne Server — ideal zum Lernen und für Prototypen.

import faiss
import numpy as np
# pip install faiss-cpu

Einen Index mit IndexFlatL2 erstellen

IndexFlatL2(dim) erstellt mit der L2-Distanz einen flachen (Brute-Force-, exakten) Index. Sie müssen ihm die Dimension Ihrer Vektoren mitteilen.

„Flat“ bedeutet, dass die Ergebnisse exakt sind — perfekt für kleine bis mittelgroße Sammlungen.

import faiss

dim = 4
index = faiss.IndexFlatL2(dim)
print(index.is_trained)   # True (flat index needs no training)

Vektoren mit index.add hinzufügen

Übergeben Sie Ihre Embeddings als 2D-NumPy-Array vom Typ float32 mit der Form (n, dim). index.add speichert sie; index.ntotal gibt ihre Anzahl zurück.

import numpy as np

embeddings = np.random.random((100, dim)).astype("float32")
index.add(embeddings)
print(index.ntotal)   # 100

Mit index.search suchen

index.search(query, k) gibt die k nächsten Vektoren zurück. Die Funktion liefert zwei Arrays: Distanzen D und Indizes I (Positionen in der Reihenfolge, in der Sie die Vektoren hinzugefügt haben).

query = np.random.random((1, dim)).astype("float32")
D, I = index.search(query, k=5)
print("nearest ids:", I[0])
print("distances:", D[0])

Von Indizes zurück zu den Elementen

FAISS gibt Positionen und nicht Ihre ursprünglichen Daten zurück. Führen Sie eine parallele Liste (oder Datenbank), die jede Indexposition dem tatsächlichen Element zuordnet, damit Sie die Ergebnisse nachschlagen können.

docs = ["doc about cats", "doc about dogs", "doc about cars"]
# after search:
for pos in I[0]:
    print(docs[pos])   # map id -> original document

Eine kleine Pipeline für semantische Suche

Das vollständige Muster: Erstellen Sie Embeddings für Ihre Dokumente, fügen Sie sie einem Index hinzu, erstellen Sie ein Embedding für die Abfrage, führen Sie die Suche durch und geben Sie die passenden Dokumente zurück. (Embedding-Modelle wie sentence-transformers erzeugen die Vektoren.)

import faiss, numpy as np

# doc_vectors: (n, dim) from an embedding model
index = faiss.IndexFlatL2(doc_vectors.shape[1])
index.add(doc_vectors)

# query_vec: (1, dim) embedding of the user query
D, I = index.search(query_vec, k=3)
results = [docs[i] for i in I[0]]
print(results)

Wann Sie eine Vektordatenbank einsetzen sollten

Verwenden Sie eine Vektordatenbank, wenn Sie Folgendes benötigen:

  • Semantische Suche in Texten oder Bildern
  • Empfehlungen anhand von Ähnlichkeit
  • RAG: relevanten Kontext für ein LLM abrufen

FAISS eignet sich hervorragend für die lokale Verwendung; verwaltete Optionen (Pinecone, Weaviate, pgvector) bieten dauerhafte Speicherung und Skalierbarkeit.

Schnelltest: FAISS-Suche

Sie rufen index.search(query, k=5) für einen FAISS-Index auf.

Rückblick: Vektordatenbanken

Sie haben die Grundlagen der Ähnlichkeitssuche kennengelernt:

  • Embeddings platzieren ähnliche Elemente nahe beieinander im Vektorraum
  • Vektordatenbanken machen die Suche nach nächsten Nachbarn auch bei großen Datenmengen schnell
  • FAISS IndexFlatL2(dim) erstellt einen exakten L2-Index
  • index.add(embeddings) speichert Vektoren; index.search(query, k) gibt Distanzen und Indizes zurück
  • Ordnen Sie die zurückgegebenen Indizes wieder Ihren ursprünglichen Elementen zu

Damit sind die Datenbanken abgeschlossen. Als Nächstes: KI-Projekte mit Git strukturieren.

Häufig gestellte Fragen

Ist die Lektion „Einführung in Vektordatenbanken“ kostenlos?

Ja — der vollständige Text von „Einführung in Vektordatenbanken“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Einführung in Vektordatenbanken“?

Warum Vektor-Datenbanken existieren, FAISS für die lokale Ähnlichkeitssuche und Embeddings für KI-Retrieval speichern. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Einführung in Vektordatenbanken“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. SQLite mit Pythons sqlite3-Modul
  2. Pandas- und SQL-Integration
  3. ML-Ergebnisse speichern und abfragen
  4. Einführung in Vektordatenbanken
← Zurück zu Learn AI with Python