Erste Schritte mit einer Milvus-Verbindung
Milvus ist eine Open-Source-Vektordatenbank zum Erstellen von KI-Anwendungen mit Einbettungen aus unstrukturierten Daten. Sie enthält alles, was Sie für den Einstieg benötigen, direkt integriert, und läuft auf Ihrem lokalen Rechner oder gehostet in der Zilliz Cloud (siehe Notebook connect to Zilliz Free Tier).
Milvus hat vier SDKs: Java, Python, React und Ruby. Im Folgenden zeigen wir die Schritte für Python.
Installieren und Starten eines Milvus-Servers
pip install milvus pymilvus #pymilvus is the python sdk
from milvus import default_server
default_server.start()
Hinweis: Wenn Sie eine Verbindung zu Zilliz herstellen, können Sie die Installation von Milvus überspringen und stattdessen den Cluster über die Konsole starten.
Den Milvus-Client abrufen (Verbindung)
from pymilvus import connections
connections.connect(
host=’127.0.0.1’,
port=default_server.listen_port)
Hinweis: Um eine Verbindung zu serverlosem Milvus herzustellen, das in der Zilliz Cloud statt auf localhost läuft, müssen Sie die Endpunkt-URI und das Token aus der Konsole abrufen.
from pymilvus import connections
ENDPOINT=”https://endpoint.api.region.zillizcloud.com:443”
connections.connect(
uri=ENDPOINT,
token=TOKEN)
Eine Collection erstellen
Sie können sich eine Collection wie eine Datenbanktabelle vorstellen. Dort speichern Sie Ihre Einbettungen, Dokumente und alle zusätzlichen Metadaten.
Mit einer Collection sind ein Schema und ein Index verknüpft.
Der Index wird mithilfe eines Vektor-Suchalgorithmus und einer Vektorähnlichkeitsmetrik erstellt. Sie können die Milvus-Standardeinstellungen verwenden. Für eine optimale Leistung sollten Sie jedoch die Parameter konfigurieren. Die Wahl des Suchindex und der Parameter hängt von Ihren Daten ab. Siehe diesen Leitfaden zu Best Practices zur Auswahl eines Suchindex. Dieses Notebook zeigt, wie die Parameter geändert werden.
from pymilvus import (
FieldSchema, DataType,
CollectionSchema, Collection)
## 1. Define a minimum expandable schema.
fields = [
FieldSchema(“pk”, DataType.INT64, is_primary=True, auto_id=True),
FieldSchema(“vector”, DataType.FLOAT_VECTOR, dim=768),
]
schema = CollectionSchema(
fields,
enable_dynamic_field=True,
)
## 2. Create a collection.
mc = Collection(“my_collection_name”, schema)
## 3. Index the collection.
mc.create_index(
field_name=”vector”,
index_params={
“Index_type”: “AUTOINDEX”,
“Metric_type”: “COSINE”,
}
Daten in Milvus einfügen
Wenn Sie bereits Einbettungen aus Ihren unstrukturierten Daten generiert haben, können Sie diese laden.
Eingabedaten können in Form eines pandas-DataFrame oder einer Liste von Dictionaries vorliegen. Sie müssen eine Vektoreinbettung enthalten. Die übrigen Felder sind optional: ursprünglicher Textabschnitt und Metadatenfelder.
from pymilvus import connections
## 1. Input data can be pandas dataframe or list of dicts.
data_rows = []
data_rows.extend([
{“vector”: np.random.randn(768).tolist(),
“text”: “This is a document”,
“source”: “source_url_1”},
{“vector”: np.random.randn(768).tolist(),
“text”: “This is another document”,
“source”: “source_url_2”},
])
## 2. Insert data into milvus.
mc.insert(data_rows)
mc.flush()
Die Collection abfragen
Die Fragen müssen mit demselben Modell eingebettet werden, das verwendet wurde, um die in die Datenbank geladenen unstrukturierten Daten einzubetten. Sie können die Collection mithilfe der Frage-Einbettungen mit den Milvus-Standardsuchparametern abfragen. Für die Auswahl des richtigen Suchindex für optimale Leistung gelten dieselben Best Practices.
Unten gibt Milvus die top_k = 3 ähnlichsten Ergebnisse zurück. Beachten Sie außerdem, dass der ursprüngliche Textabschnitt und die Metadaten zurückgegeben werden, was beim Grounding helfen kann (generierter Text wird auf faktischen Informationen basiert, um Halluzinationen zu reduzieren).
## 1. Search for answers to your embedded questions.
mc.load()
results = mc.search(
data=encoder([“my_question_1”]),
anns_field=”vector”,
output_fields-[“text”, “source”], #optional return fields
limit=3,
param={}, #no params if using milvus defaults
)
## 2. View the answers.
for n, hits in enumerate(results):
print(f”{n}th result:”)
for hit in hits:
print(hit)
In meinem folgenden Blog werde ich behandeln, wie man einen Chatbot mit LangChain und Milvus erstellt. Bleiben Sie dran.
Weitere Ressourcen für den Einstieg in Milvus und Zilliz
Weiterlesen

How Zilliz Ended Up at the Center of NVIDIA’s Unstructured Data Story at GTC 2026
If unstructured data is the context of AI, then the ceiling of AI applications will be set not just by models, but by how mature the infrastructure for unstructured data becomes.

Zilliz Cloud Now Available in Azure North Europe: Bringing AI-Powered Vector Search Closer to European Customers
The addition of the Azure North Europe (Ireland) region further expands our global footprint to better serve our European customers.

Bringing AI to Legal Tech: The Role of Vector Databases in Enhancing LLM Guardrails
Discover how vector databases enhance AI reliability in legal tech, ensuring accurate, compliant, and trustworthy AI-powered legal solutions.



