• Über Milvus
  • Los geht's
  • Konzepte
  • Benutzerhandbuch
  • Datenimport
  • AI-Tools
  • Leitfaden für die Verwaltung
  • Werkzeuge
  • Integrationen
  • Anleitungen
  • FAQs
  • API Reference

Integrieren Sie Milvus mit MindsDB

MindsDB ist ein leistungsstarkes Tool für die Integration von KI-Anwendungen mit verschiedenen Unternehmensdatenquellen. Es fungiert als föderierte Abfrage-Engine, die Ordnung in den Datenwust bringt und Abfragen über strukturierte und unstrukturierte Daten präzise beantwortet. Ganz gleich, ob Ihre Daten über SaaS-Anwendungen, Datenbanken oder Data Warehouses verstreut sind, MindsDB kann sie alle mit Standard-SQL verbinden und abfragen. Es verfügt über hochmoderne autonome RAG-Systeme durch Knowledge Bases, unterstützt Hunderte von Datenquellen und bietet flexible Bereitstellungsoptionen von der lokalen Entwicklung bis zu Cloud-Umgebungen.

Dieses Tutorial demonstriert die Integration von Milvus mit MindsDB, so dass Sie die KI-Funktionen von MindsDB mit der Vektordatenbankfunktionalität von Milvus durch SQL-ähnliche Operationen zur Verwaltung und Abfrage von Vektoreinbettungen nutzen können.

Dieses Tutorial bezieht sich hauptsächlich auf die offizielle Dokumentation des MindsDB Milvus Handlers. Wenn Sie veraltete Teile in diesem Tutorial finden, können Sie sich vorrangig an der offiziellen Dokumentation orientieren und ein Issue für uns erstellen.

MindsDB installieren

Bevor wir beginnen, installieren Sie MindsDB lokal über Docker oder Docker Desktop.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie ein solides Verständnis der grundlegenden Konzepte und Abläufe von MindsDB und Milvus haben.

Einführung in die Argumente

Die erforderlichen Argumente zum Herstellen einer Verbindung sind:

  • uriuri für die Milvus-Datenbank, kann auf eine lokale ".db"-Datei oder einen Docker- oder Cloud-Dienst gesetzt werden
  • token: Token zur Unterstützung von Docker oder Cloud Service entsprechend der uri-Option

Die optionalen Argumente zum Aufbau einer Verbindung sind:

Diese werden für SELECT Abfragen verwendet:

  • search_default_limit: Standard-Limit, das in Select-Anweisungen übergeben wird (default=100)
  • search_metric_typeMetrik-Typ, der für die Suche verwendet wird (Standard="L2")
  • search_ignore_growingob wachsende Segmente bei der Ähnlichkeitssuche ignoriert werden sollen (default=False)
  • search_params: spezifisch für die search_metric_type (default={"nprobe": 10})

Diese werden für CREATE Abfragen verwendet:

  • create_auto_id: ob die ID automatisch generiert werden soll, wenn Datensätze ohne ID eingefügt werden (default=False)
  • create_id_max_lenMaximale Länge des id-Feldes bei der Erstellung einer Tabelle (default=64)
  • create_embedding_dimEinbettungsdimension für die Tabellenerstellung (default=8)
  • create_dynamic_fieldob die erstellten Tabellen dynamische Felder haben oder nicht (default=True)
  • create_content_max_lenMaximale Länge der Inhaltsspalte (default=200)
  • create_content_default_valueStandardwert der Inhaltsspalte (default='')
  • create_schema_descriptionBeschreibung der erstellten Schemata (default='')
  • create_aliasAlias des erstellten Schemas (default='default')
  • create_index_paramsIndex: Parameter des auf der Einbettungsspalte erstellten Index (default={})
  • create_index_metric_typeMetrik, die zur Erstellung des Index verwendet wird (default='L2')
  • create_index_typeTyp des Indexes (default='AUTOINDEX')

Verwendung

Bevor Sie fortfahren, vergewissern Sie sich, dass die Version von pymilvus mit dieser angehefteten Version übereinstimmt. Wenn Sie Probleme mit der Versionskompatibilität feststellen, können Sie Ihre Version von pymilvus zurücksetzen oder sie in dieser Anforderungsdatei anpassen.

Verbindung erstellen

Um diesen Handler zu nutzen und eine Verbindung zu einem Milvus-Server in MindsDB herzustellen, kann die folgende Syntax verwendet werden:

CREATE DATABASE milvus_datasource
WITH
  ENGINE = 'milvus',
  PARAMETERS = {
    "uri": "./milvus_local.db",
    "token": "",
    "create_embedding_dim": 3,
    "create_auto_id": true
};
  • Wenn Sie nur eine lokale Vektordatenbank für kleine Datenmengen oder Prototypen benötigen, ist die Angabe der Uri als lokale Datei, z. B../milvus.db, die bequemste Methode, da sie automatisch Milvus Lite verwendet, um alle Daten in dieser Datei zu speichern.
  • Für größere Datenmengen und Datenverkehr in der Produktion können Sie einen Milvus-Server auf Docker oder Kubernetes einrichten. Bei dieser Einrichtung verwenden Sie bitte die Serveradresse und den Port als uri, z. B.http://localhost:19530. Wenn Sie die Authentifizierungsfunktion auf Milvus aktivieren, stellen Sie token als "<your_username>:<your_password>" ein, andernfalls ist es nicht notwendig, das Token einzustellen.
  • Sie können auch vollständig verwaltetes Milvus auf Zilliz Cloud verwenden. Setzen Sie einfach die uri und token auf den öffentlichen Endpunkt und den API-Schlüssel Ihrer Zilliz Cloud-Instanz.

Trennen der Verbindung

Um die Verbindung zu trennen, verwenden Sie diesen Befehl

DROP DATABASE milvus_datasource;

Tabellen erstellen

Um Daten aus einer bereits existierenden Tabelle einzufügen, verwenden Sie CREATE

CREATE TABLE milvus_datasource.test
(SELECT * FROM sqlitedb.test);

Sammlungen löschen

Das Verwerfen einer Sammlung wird nicht unterstützt.

Abfragen und Auswählen

Um eine Datenbank mit einem Suchvektor abzufragen, können Sie search_vector in der WHERE Klausel verwenden.

Warnungen:

  • Wenn Sie LIMIT weglassen, wird search_default_limit verwendet, da Milvus dies erfordert.
  • Die Metadaten-Spalte wird nicht unterstützt, aber wenn die Sammlung ein dynamisches Schema hat, können Sie sie wie gewohnt abfragen, siehe das folgende Beispiel
  • Dynamische Felder können nicht angezeigt werden, können aber abgefragt werden
SELECT * from milvus_datasource.test
WHERE search_vector = '[3.0, 1.0, 2.0, 4.5]'
LIMIT 10;

Wenn Sie search_vector weglassen, wird dies zu einer einfachen Suche und LIMIT oder search_default_limit Menge der Einträge in der Sammlung werden zurückgegeben

SELECT * from milvus_datasource.test

Sie können die WHERE Klausel für dynamische Felder wie normales SQL verwenden.

SELECT * FROM milvus_datasource.createtest
WHERE category = "science";

Löschen von Einträgen

Sie können Einträge mit DELETE genau wie in SQL löschen.

Warnungen:

  • Milvus unterstützt nur das Löschen von Entitäten mit eindeutig spezifizierten Primärschlüsseln
  • Sie können nur den Operator IN verwenden.
DELETE FROM milvus_datasource.test
WHERE id IN (1, 2, 3);

Einfügen von Datensätzen

Sie können auch einzelne Zeilen wie folgt einfügen:

INSERT INTO milvus_test.testable (id,content,metadata,embeddings)
VALUES ("id3", 'this is a test', '{"test": "test"}', '[1.0, 8.0, 9.0]');

Aktualisieren

Das Aktualisieren von Datensätzen wird von der Milvus-API nicht unterstützt. Sie können versuchen, eine Kombination aus DELETE und INSERT


Weitere Details und Beispiele finden Sie in der offiziellen MindsDB-Dokumentation.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?