Tannenzapfen Index.Fetch()

Pinecone ist eine Vektordatenbank, mit der Sie hochdimensionale Vektoren wie Worteinbettungen, Bildmerkmale oder Audioeinbettungen speichern, indizieren und durchsuchen können.

Pinecone stellt uns verschiedene Clients für verschiedene Programmiersprachen zur Verfügung. Mit diesen Clients können wir eine Verbindung zur Pinecone-Datenbank herstellen und verschiedene Vorgänge ausführen.

Die Methode index.fetch() ist eine Funktion, die vom Pinecone-Client für Python bereitgestellt wird. Es ermöglicht uns, die Vektoren nach ID aus einem einzelnen Namespace zu suchen und zurückzugeben. Die Funktion gibt die Vektoren und die zugehörigen Metadaten zurück.

In diesem Tutorial zeigen wir Ihnen, wie Sie mit dieser Methode die Vektoren eines bestimmten Index abrufen.

Anforderungen:

Um diesem Tutorial folgen zu können, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Installierte Python 3.10 und höher
  • Grundlegende Python-Programmierkenntnisse
  • Installation des Pinecone-Clients

    Bevor wir mit Python mit dem Pinecone-Server interagieren, müssen wir den Pinecone-Client auf unserem Computer installieren. Glücklicherweise können wir dies mit einem einfachen „pip“-Befehl wie folgt tun:

    $ pip3 Pinecone-Client installieren

    Der vorherige Befehl sollte die neueste stabile Version des Pinecone-Clients herunterladen und in Ihrem Projekt installieren.

    Pinecone Index.Fetch()-Methode

    Mit dieser Methode können wir die passenden Vektoren mithilfe ihres Index aus einem einzelnen Namespace suchen und zurückgeben.

    Die Funktionssyntax lautet wie folgt:

    Index.fetch(ids, **kwargs)

    Die Funktion akzeptiert die folgenden Parameter:

    Ausweise – Dieser Parameter stellt die IDs der Vektoren dar, die Sie im Index nachschlagen möchten. Der Wert darf keine Leerzeichen enthalten.

    Namensraum – Dies gibt den Namespace an, der die Vektoren enthält, nach denen Sie suchen möchten.

    Die Funktion gibt ein Objekt zurück, das die passenden Vektoren enthält. Außerdem wird eine Zeichenfolge zurückgegeben, die den Namespace angibt, in dem sich die Vektoren befinden.

    Erstellen Sie einen Index und Upsert

    Um die Funktionsweise der Funktion besser zu veranschaulichen, erstellen wir einen Basisindex und fügen mithilfe eines bestimmten Namespace Beispieldaten zum Index hinzu.

    Tannenzapfen importieren

    # Pinecone-Konfiguration initiieren

    Pinecone.init(api_key=“YOUR_API_KEY“, Environment=“YOUR_ENV“)

    # Basisindex erstellen

    pinecone.create_index(„book“, dimension=8, metric=“euklidisch“, pod_type=“p1″, pods=1, Replicas=1)

    # Mit dem Index verbinden

    index = tannenzapfen.Index(„book“)

    index.upsert([

    („A“, [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]{„genre“: „comedy“, „year“: 2020, „title“: „Book A“}),

    („B“, [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]{„genre“: „mystery“, „year“: 2019, „title“: „Book B“}),

    („C“, [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]{„genre“: „comedy“, „year“: 2019, „title“: „Book C“}),

    („D“, [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]{„genre“: „drama“, „title“: „Book D“}),

    („E“, [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]{„Genre“: „Romantik“, „Titel“: „Buch E“})

    ], namespace=“linuxhint“)

    Der vorherige Code erstellt einen Index namens „books“ mit den angegebenen Parametern.

    Anschließend verwenden wir die Funktion upsert(), um die Vektordaten zum Index hinzuzufügen. Wir geben auch die Vektormetadaten wie Genre, Jahr und Titel an. Wir geben auch den Namensraum an, in den wir die Daten hinzufügen möchten. Da der Namespace nicht existiert, erstellt Pinecone ihn automatisch, bevor die Daten hinzugefügt werden.

    Tannenzapfen holen

    Sobald wir Beispieldaten haben, können wir die Fetch-Funktion verwenden, um den Index basierend auf den IDs nachzuschlagen, wie im folgenden Beispiel gezeigt:

    fetch_response = index.fetch(ids=[‚A‘, ‚E‘]namespace=’linuxhint‘)
    print(fetch_response)

    Dadurch sollten die Vektoren mit den IDs „A“ und „E“ gesucht werden. Anschließend sollten die passenden Vektoren als JSON zurückgegeben werden, wie im Folgenden dargestellt:

    {{’namespace‘: ‚linuxhint‘,
    ‚Vektoren‘: {‚A‘: {‚id‘: ‚A‘,
    ‚metadata‘: {‚genre‘: ‚comedy‘,
    ‚title‘: ‚Buch A‘,
    ‚Jahr‘: 2020.0},
    ‚Werte‘: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]},
    ‚E‘: {‚id‘: ‚E‘,
    ‚metadata‘: {‚genre‘: ‚romance‘, ‚title‘: ‚Book E‘},
    ‚Werte‘: [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]}}}

    Dies stellt die passenden Vektoren für die angegebenen IDs dar.

    Abschluss

    Sie haben gelernt, wie Sie die Vektoren anhand ihrer Indizes mithilfe der fetch()-Methode im Pinecone-Client für Python suchen.

    Kommentar verfassen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Nach oben scrollen