Abfragen von Vektoren

Vektordatenbanken für Einbettungen mit Pinecone

James Chapman

Curriculum Manager, DataCamp

Die Stärke von Abfragen

 

  • Abfragen: die semantisch ähnlichsten Vektoren zu einem Eingabevektor erhalten

Eine Nutzereingabe wird eingebettet und zum Abfragen einer Pinecone-Vektordatenbank verwendet.

Vektordatenbanken für Einbettungen mit Pinecone

Die Methode .query()

index.query(

vector=[-0.250919762305275, ...],
top_k=3
)
{'matches': [{'id': '1', 'score': 0.0478537641, 'values': []},
             {'id': '2', 'score': 0.046000585, 'values': []},
             {'id': '3', 'score': 0.0458319113, 'values': []}],
 'namespace': '',
 'usage': {'read_units': 5}}
Vektordatenbanken für Einbettungen mit Pinecone

Die Methode .query()

index.query(
    vector=[-0.250919762305275, ...],
    top_k=3,

include_values=True
)
{'matches': [{'id': '1', 'score': 0.0478537641, 'values': [-0.0131468913, ...]},
             {'id': '2', 'score': 0.046000585, 'values': [-0.0120476764, ...]},
             {'id': '3', 'score': 0.0458319113, 'values': [0.00285418332, ...]}],
 'namespace': '',
 'usage': {'read_units': 5}}
Vektordatenbanken für Einbettungen mit Pinecone

Read Units (RUs) für Abfragen

 

  • Bei Abfragen sind RUs schwerer zu berechnen
  • Abhängig von:
    • Anzahl der Datensätze im Namespace
    • Größe der Datensätze
      • Vektordimensionalität
      • Menge an Metadaten

Tabelle der beim Abfragen verbrauchten RUs.

1 https://docs.pinecone.io/guides/organizations/manage-cost/understanding-cost#query
Vektordatenbanken für Einbettungen mit Pinecone

Distanzmetriken

 

Die Kosinus-Ähnlichkeit: zeigt den Winkel zwischen zwei Vektoren.

1 https://docs.pinecone.io/guides/indexes/understanding-indexes#distance-metrics
Vektordatenbanken für Einbettungen mit Pinecone

Distanzmetriken

 

Die euklidische Distanz: zeigt die Luftlinie zwischen zwei Vektoren.

1 https://docs.pinecone.io/guides/indexes/understanding-indexes#distance-metrics
Vektordatenbanken für Einbettungen mit Pinecone

Distanzmetriken

 

Das Skalarprodukt: wie der Wert aus dem Winkel zwischen den Vektoren berechnet wird.

1 https://docs.pinecone.io/guides/indexes/understanding-indexes#distance-metrics
Vektordatenbanken für Einbettungen mit Pinecone

Die Distanzmetrik festlegen

pc.create_index(
    name="datacamp-index", 
    dimension=1536,

metric='dotproduct',
spec=ServerlessSpec( cloud='aws', region='us-east-1' ) )
  • metric'cosine', 'euclidean', 'dotproduct'
Vektordatenbanken für Einbettungen mit Pinecone

Du bist dran: Abfragen!

Vektordatenbanken für Einbettungen mit Pinecone

Preparing Video For Download...