Die Artwork und Weise, wie wir Daten suchen und uns beziehen, ändert sich. Anstatt Ergebnisse zurückzugeben, die „gemütlich“ und „Nook“ enthalten, können Sie nach „gemütlichen Lesen -Nacken“ suchen und Bilder eines weichen Stuhls an einem Kamin sehen. Dieser Ansatz konzentriert sich auf die semantische Suche oder Suche nach der Bedeutung, anstatt sich auf starre Key phrase-basierte Suchvorgänge zu verlassen. Dies ist ein kritischer Anzug, da unstrukturierte Daten (Bilder, Textual content, Movies) explodiert sind, und herkömmliche Datenbanken sind für die Nachfrage der KI immer unpraktisch.

Genau hier kommt das Weaviate herein und trennt sich als führend in der Kategorie der Vektordatenbanken. Mit seinen einzigartigen Funktionen und Funktionen verändert das WeaViate die Artwork und Weise, wie Unternehmen KI-basierte Erkenntnisse und Daten konsumieren. In diesem Artikel werden wir untersuchen, warum WeaViate durch Code-Beispiele und reale Anwendungen ein Spielveränderer ist.

Vektorsuche und traditionelle Suche

Was ist Weaviate?

WeaViate ist eine Open-Supply-Vektor-Datenbank, die speziell für die Speicherung und Behandlung von hochdimensionalen Daten wie Textual content, Bildern oder Movies entwickelt wurde, die als Vektoren dargestellt werden. Mit Weaviate können Unternehmen semantische Suche durchführen, Empfehlungsmotoren erstellen und KI -Modelle problemlos erstellen.

Anstatt sich auf eine herkömmliche Datenbank zu verlassen, in der genaue Daten basierend auf Spalten in jeder Zeile abgerufen werden, konzentriert sich das Weaviate auf intelligente Datenabnahme. Es verwendet maschinell lernbasierte Vektor-Einbettungen, um Beziehungen zwischen Datenpunkten basierend auf ihrer Semantik zu finden, anstatt nach genauen Datenübereinstimmungen zu suchen.

Weaviate bietet eine einfache Möglichkeit, Anwendungen zu erstellen, in denen KI -Modelle ausgeführt werden, die eine schnelle und effiziente Verarbeitung sehr großer Datenmengen zum Erstellen von Modellen erfordern. Speicher und Abrufen von Vektor -Einbettungen in Weaviate machen es zur idealen Funktion für Unternehmen, die an unstrukturierten Daten beteiligt sind.

Kernprinzipien und Architektur des Gewebes

Kernprinzipien und Architektur

Im Kern, Waviate basiert auf Prinzipien der Arbeit mit hochdimensionalen Daten und der Verwendung effizienter und skalierbarer Vektorsuche. Schauen wir uns die Bausteine und Prinzipien hinter seiner Architektur an:

  • AI-nativ und modular: Weaviate wurde von Anfang an in die Architektur in die Architektur integriert und bietet ihm erstklassige Unterstützung für die Erzeugung von Einbettungen (Vektoren) unterschiedlicher Datentypen außerhalb des Field. Die Modularität des Designs ermöglicht viele Möglichkeiten, um sicherzustellen, dass Sie können, wenn Sie auf dem Weaviate oder auf benutzerdefinierten Funktionen oder Verbindungen/Aufrufen an externe Systeme aufbauen möchten.
  • Verteiltes System: Die Datenbank ist so konzipiert, dass sie horizontal wachsen können. Das Weaviate ist verteilt und führendlos, was bedeutet, dass es keine einzigen Versagenspunkte gibt. Redundanz für hohe Verfügbarkeit über Knoten bedeutet, dass bei einem Fehler die Daten repliziert und aus einer Reihe von verbundenen Knoten hergestellt werden. Es ist schließlich konsistent und macht es sowohl für Cloud-native als auch für andere Umgebungen geeignet.
  • Grafikbasiert: Das Weaviate-Modell ist ein graphbasiertes Datenmodell. Die Objekte (Vektoren) sind durch ihre Beziehung verbunden, wodurch es einfach ist, Daten mit komplexen Beziehungen zu speichern und abzufragen, was für Anwendungen wie Empfehlungssysteme von großer Bedeutung ist.
  • Vektorspeicherung: Weaviate wurde entwickelt, um Ihre Daten als Vektoren (numerische Darstellungen von Objekten) zu speichern. Dies ist ultimate für AI-fähige Suchanfragen, Empfehlungsmotoren und alle anderen Anwendungsfälle im Zusammenhang mit künstlicher Intelligenz/maschinellem Lernen.

Erste Schritte mit Weaviate: Ein praktischer Leitfaden

Es spielt keine Rolle, ob Sie eine semantische Suchmaschine, einen Chatbot oder a bauen Empfehlungssystem. Dieser QuickStart zeigt Ihnen, wie Sie eine Verbindung zu Weben, vektorisierten Inhalten herstellen und intelligente Suchfunktionen bereitstellen und letztendlich kontextbezogene Antworten durch die Generierung von Antworten durch REMAINAL-AUGENTED-Technology (LAG) mit OpenAI -Modellen.

Voraussetzungen

Stellen Sie die neueste Model von sicher von Python ist installiert. Wenn nicht, installieren Sie den folgenden Befehl mit dem folgenden Befehl:

sudo apt replace

sudo apt set up python3 python3-pip -y

Erstellen und aktivieren Sie eine virtuelle Umgebung:

python3 -m venv weaviate-env

Supply weaviate-env/bin/activate

Mit dem obigen Code wird Ihre Shell -Eingabeaufforderung nun mit Ihrer neuen Umwelt, dh, vorangestellt, dh. weaviate-env Angeben, dass Ihre Umgebung aktiv ist.

Schritt 1: Weaviate einsetzen

Es gibt additionally zwei Möglichkeiten, das Weaviate bereitzustellen:

Choice 1: Verwenden Sie Weaviate Cloud -Dienst

Eine Möglichkeit, Weaviate bereitzustellen, ist die Verwendung des Cloud -Dienstes:

  1. Zuerst gehen Sie zu https://console.weaviate.cloud/.
  2. Melden Sie sich dann an und erstellen Sie einen Cluster, indem Sie OpenAI -Module auswählen.

Beachten Sie auch Ihre Weaviate_url (ähnlich https://xyz.weaviate.community) Und Weaviate_api_key.

Choice 2: Laufen Sie lokal mit Docker Compose aus

Erstellen a Docker-compose.yml:

model: '3.4'

companies:

  weaviate:

    picture: semitechnologies/weaviate:newest

    ports:

      - "8080:8080"

    setting:

      QUERY_DEFAULTS_LIMIT: 25

      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'

      PERSISTENCE_DATA_PATH: './knowledge'

      DEFAULT_VECTORIZER_MODULE: 'text2vec-openai'

      ENABLE_MODULES: 'text2vec-openai,generative-openai'

      OPENAI_APIKEY: 'your-openai-key-here'

Konfigurieren Sie Weaviate Container mit OpenAI -Modulen und anonymen Zugriff.

Starten Sie es mit dem folgenden Befehl:

docker-compose up -d

Dadurch wird der Weaviate -Server im abgetrennten Modus gestartet (läuft im Hintergrund).

Schritt 2: Installieren Sie Python -Abhängigkeiten

Um alle für das Programm erforderlichen Abhängigkeiten zu installieren, führen Sie den folgenden Befehl in der Befehlszeile Ihres Betriebssystems aus:

pip set up weaviate-client openai

Dies installiert den Weaviate Python Shopper und die OpenAI -Bibliothek.

Schritt 3: Umgebungsvariablen festlegen

export WEAVIATE_URL="https://<your-instance>.weaviate.community"
export WEAVIATE_API_KEY="<your-weaviate-key>"
export OPENAI_API_KEY="<your-openai-key>"

Für lokale Bereitstellungen, Weaviate_api_key wird nicht benötigt (kein Auth).

Schritt 4: Stellen Sie eine Verbindung zum Weaviate her

import os

import weaviate

from weaviate.lessons.init import Auth

consumer = weaviate.connect_to_weaviate_cloud(

    cluster_url=os.getenv("WEAVIATE_URL"),

    auth_credentials=Auth.api_key(os.getenv("WEAVIATE_API_KEY")),

    headers={"X-OpenAI-Api-Key": os.getenv("OPENAI_API_KEY")}

)

assert consumer.is_ready(), " Weaviate not prepared"

print(" Related to Weaviate")

Der vorherige Code verbindet Ihre Weaviate Cloud -Instanz mithilfe von Anmeldeinformationen und bestätigt, dass der Server auf und erreichbar ist.

Verwenden Sie für lokale Fälle:

consumer = weaviate.Shopper("http://localhost:8080")

Dies stellt eine Verbindung zu einer lokalen Einsatzinstanz her.

Schritt 5: Definieren Sie das Schema mit Einbettung und generativer Unterstützung

schema = {

  "lessons": (

    {

      "class": "Query",

      "description": "QA dataset",

      "properties": (

        {"identify": "query", "dataType": ("textual content")},

        {"identify": "reply", "dataType": ("textual content")},

        {"identify": "class", "dataType": ("string")}

      ),

      "vectorizer": "text2vec-openai",

      "generative": {"module": "generative-openai"}

    }

  )

}

Definiert ein Schema genannt Frage mit Eigenschaften und OpenAI-basierten Vektor- und Generativmodulen.

consumer.schema.delete_all()  # Clear earlier schema (if any)

consumer.schema.create(schema)

print(" Schema outlined")

Ausgabe:

Schema definiert

Die vorhergehenden Aussagen laden das Schema zum Weben und bestätigen Sie den Erfolg.

Schritt 6: Beispieldaten in Stapel einfügen

knowledge = (

  {"query":"Solely mammal in Proboscidea order?","reply":"Elephant","class":"ANIMALS"},

  {"query":"Organ that shops glycogen?","reply":"Liver","class":"SCIENCE"}

)

Erstellt einen kleinen QA -Datensatz:

with consumer.batch as batch:

    batch.batch_size = 20

    for obj in knowledge:

        batch.add_data_object(obj, "Query")

Fügt Daten für die Effizienz in den Stapelmodus ein:

print(f"Listed {len(knowledge)} gadgets")

Ausgabe:

Indizierte Elemente

Bestätigt, wie viele Elemente indiziert wurden.

Schritt 7: Semantische Suche mit NearText

res = (

  consumer.question.get("Query", ("query", "reply", "_additional {certainty}"))

    .with_near_text({"ideas": ("largest elephant"), "certainty": 0.7})

    .with_limit(2)

    .do()

)

Führen semantische Suche mit Textvektoren für Konzepte wie „größter Elefant“ aus. Rücksende Ergebnisse nur mit Sicherheit von ≥ 0,7 und max. 2 Ergebnissen.

print(" Semantic search outcomes:")

for merchandise in res("knowledge")("Get")("Query"):

    q, a, c = merchandise("query"), merchandise("reply"), merchandise("_additional")("certainty")

    print(f"- Q: {q} → A: {a} (certainty {c:.2f})")

Ausgabe:

Ergebnisse der semantischen Suche

Zeigt die Ergebnisse mit Gewissheit an.

Schritt 8: REMAINAL-AUGMENTED-Technology (LAG)

rag = (

  consumer.question.get("Query", ("query", "reply"))

    .with_near_text({"ideas": ("animal that weighs a ton")})

    .with_limit(1)

    .with_generate(single_result=True)

    .do()

)

Sucht semantisch und bittet das Weaviate, eine Antwort mit OpenAI (über generieren) zu generieren.

generated = rag("knowledge")("Get")("Query")(0)("generate")("singleResult")

print(" RAG reply:", generated)

Ausgabe:

Endgültige Antwort

Druckt die generierte Antwort basierend auf der nächsten Übereinstimmung in Ihrem Weaaviate DB.

Schlüsselmerkmale von WeaViate

Schlüsselmerkmale von WeaViate

Weaviate verfügt über viele Besonderheiten, die ihm einen flexiblen und starken Vorteil für die meisten vektorbasierten Datenmanagementaufgaben verleihen.

  • Vektorsuche: Weaviate kann Daten speichern und abfragen als Vektor -Einbettungen, sodass sie semantische Suche durchführen können. Es verbessert die Genauigkeit, da ähnliche Datenpunkte basierend auf der Bedeutung gefunden werden, anstatt einfach die Schlüsselwörter zu entsprechen.
  • Hybridsuche: Durch die Zusammenführung der Vektorsuche und die traditionelle keyword-basierte Suche bietet Weaviate relevantere und kontextbezogene Ergebnisse und bietet gleichzeitig eine größere Flexibilität für unterschiedliche Anwendungsfälle.
  • Skalierbare Infrastruktur: Weaviate kann mit Einzelknoten- und Distributed Deployment-Modellen arbeiten. Es kann horizontal skalieren, um sehr große Datensätze zu unterstützen und sicherzustellen, dass die Leistung nicht beeinträchtigt wird.
  • AI-native Architektur: Weaviate wurde so konzipiert, dass sie mit maschinellem Lernmodellen aus dem Tor arbeiten und die direkte Technology von Einbettungen unterstützt, ohne eine zusätzliche Plattform oder ein externes Instrument durchzuhalten.
  • Open-Supply: Weaviate ist eine offene Quelle und ermöglicht ein Maß an Anpassung, Integration und sogar Benutzerbeitrag bei der Fortsetzung seiner Entwicklung.
  • Erweiterbarkeit: Weaviate unterstützt die Erweiterbarkeit durch Module und Plugins, mit denen Benutzer aus einer Vielzahl von Modellen für maschinelles Lernen und externen Datenquellen integriert werden können.

Waviate gegen Konkurrenten

In der folgenden Tabelle werden die wichtigsten Differenzierer zwischen Weaviate und einigen seiner Konkurrenten im Vektor -Datenbankraum hervorgehoben.

Besonderheit Waviate Tannenzapfen Milvus Qdrant
Open Supply Ja NEIN Ja Ja
Hybridsuche Ja (Vektor + Schlüsselwortsuche) NEIN Ja (Vektor + Metadatensuche) Ja (Vektor + Metadatensuche)
Verteilte Architektur Ja Ja Ja Ja
Vorgefertigte AI-Modellunterstützung Ja (integrierte ML-Modellintegration) NEIN NEIN NEIN
Cloud-native Integration Ja Ja Ja Ja
Datenreplikation Ja NEIN Ja Ja

Wie in der vorherigen Tabelle gezeigt, ist Weaviate die einzige Vektor-Datenbank, die eine Hybridsuche liefert, die sowohl Vektorsuche als auch Key phrase-basierte Suche durchführt. Somit sind weitere Suchoptionen verfügbar. Das Weaviate ist auch Open-Supply, im Gegensatz zu Pinecone, das proprietär ist. Die Open-Supply-Vorteile und transparenten Bibliotheken in Weaviate bieten Anpassungsoptionen, die dem Benutzer zugute kommen.

Besonders die Integration von Weaviate von maschinelles Lernen Für Einbettungen in der Datenbank unterscheidet sich die Lösung erheblich von denen ihrer Konkurrenten.

Abschluss

WeaViate ist eine vektorbasierte leitende Datenbank mit einer revolutionären Architektur, die AI-nativ ist und mit höherdimensionalen Daten umzugehen und gleichzeitig maschinelle Lernmodelle einzubeziehen. Die hybriden Daten und Suchfunktionen des Weaviate und deren Open-Supply-Natur bieten eine robuste Lösung für AI-fähige Anwendungen in jeder denkbaren Branche. Die Skalierbarkeit und hohe Leistung von Weaviate machen es intestine positioniert, als führende Lösung für unstrukturierte Daten fortzusetzen. Von Empfehlungsmotoren und Chatbots bis hin zu semantischen Suchmaschinen schaltet das Weaviate das volle Potenzial seiner fortschrittlichen Funktionen frei, um Entwicklern dabei zu helfen, ihre KI -Anwendungen zu verbessern. Die Nachfrage nach AI -Lösungen soll nur wachsen. Daher wird die Bedeutung von Weaviate im Bereich der Vektordatenbanken zunehmend related und die Zukunft des Feldes durch seine Fähigkeit, mit komplexen Datensätzen zu arbeiten, grundlegend beeinflussen.

Häufig gestellte Fragen

Q1. Was ist Weaviate?

A. Weaviate ist eine Open-Supply-Vektor-Datenbank und für hochdimensionale Daten wie Textual content, Bild oder Movies ausgelegt, die genutzt werden, um semantische Suche und AI-gesteuerte Anwendungen zu ermöglichen.

Q2. Wie unterscheidet sich das Weaviat von anderen Datenbanken?

A. Im Gegensatz zu herkömmlichen Datenbanken, in denen genaue Daten abgerufen werden, ruft Weaviate strukturierte Daten mithilfe von Vektoreinbettungen mit maschinellem Lernbasis ab, um basierend auf Bedeutung und Beziehungen abzurufen.

Q3. Was ist die Hybridsuche in Weaviate?

A. Hybrid -Suche in Weaviate kombiniert die Konzepte der Vektorsuche und die traditionelle Suche auf Foundation von Schlüsselwörtern, um relevante und kontextbezogene Ergebnisse für vielfältigere Anwendungsfälle bereitzustellen.

Hallo, ich bin Janvi, ein leidenschaftlicher Information -Science -Fanatic, der derzeit bei Analytics Vidhya arbeitet. Meine Reise in die Daten der Daten begann mit einer tiefen Neugier darüber, wie wir aus komplexen Datensätzen sinnvolle Erkenntnisse herausholen können.

Melden Sie sich an, um weiter zu lesen und Experten-Kuratinhalte zu genießen.

Von admin

Schreibe einen Kommentar

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