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

Zilliz Cloud Just Landed in Claude Code
The Zilliz Cloud Plugin brings the full power of Zilliz Cloud directly into your Claude Code terminal as natural-language conversations.

Why I’m Against Claude Code’s Grep-Only Retrieval? It Just Burns Too Many Tokens
Learn how vector-based code retrieval cuts Claude Code token consumption by 40%. Open-source solution with easy MCP integration. Try claude-context today.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.



