Bei der Erkundung verschiedener Vektordatenbank-Optionen hilft Ihnen dieser umfassende Leitfaden, die einzigartigen Funktionen von Milvus zu verstehen und sicherzustellen, dass Sie eine Datenbank wählen, die Ihren spezifischen Anforderungen am besten entspricht. Milvus ist eine führende Open-Source-Vektordatenbank, und Zilliz Cloud bietet einen vollständig verwalteten Milvus-Service an. Um Milvus objektiv im Vergleich zu seinen Konkurrenten zu bewerten, sollten Sie Benchmark-Tools zur Analyse der Leistungsmetriken verwenden.
Flexibility: Milvus accommodates various deployment modes and multiple SDKs, all within a robust, integrated ecosystem.
-
Performance: Milvus guarantees real-time processing with high throughput and low latency, powered by optimized indexing algorithms such as HNSW and DiskANN, and advanced GPU acceleration.
-
Scalability: Its bespoke distributed architecture effortlessly scales, accommodating anything from small datasets to collections exceeding 10 billion vectors.
Flexibel: Milvus unterstützt verschiedene Bereitstellungsmodi und mehrere SDKs, die alle in ein robustes, integriertes Ökosystem eingebunden sind.
+
Leistung: Milvus garantiert eine Echtzeitverarbeitung mit hohem Durchsatz und geringer Latenz, die durch optimierte Indizierungsalgorithmen wie HNSW und DiskANN und fortschrittliche GPU-Beschleunigung unterstützt wird.
+
Skalierbarkeit: Die maßgeschneiderte verteilte Architektur lässt sich mühelos skalieren, von kleinen Datensätzen bis hin zu Sammlungen von mehr als 10 Milliarden Vektoren.
-
Overall comparison
+
Allgemeiner Vergleich
-
To compare between Milvus and Pinecone, two vector database solutions, the following table is structured to highlight differences across various features.
+
Um Milvus und Pinecone, zwei Vektordatenbanklösungen, miteinander zu vergleichen, ist die folgende Tabelle so strukturiert, dass die Unterschiede zwischen den verschiedenen Merkmalen deutlich werden.
Die GPU-Beschleunigung erhöht die Leistung erheblich, oft um Größenordnungen.
-
Terminology comparison
+
Terminologie-Vergleich
-
Although both serve similar functions as vector databases, the domain-specific terminology between Milvus and Pinecone shows slight variations. A detailed terminology comparison is as follows.
+
Obwohl beide ähnliche Funktionen als Vektordatenbanken erfüllen, weist die domänenspezifische Terminologie von Milvus und Pinecone leichte Unterschiede auf. Im Folgenden finden Sie einen detaillierten Terminologievergleich.
In Pinecone, an index serves as the organizational unit for storing and managing vectors of identical size, and this index is closely integrated with the hardware, known as pods. In contrast, Milvus collections serve a similar purpose but enable handling multiple collections within a single instance.
In Pinecone, a collection is essentially a static snapshot of an index, used mainly for backup purposes and cannot be queried. In Milvus, the equivalent feature for creating backups is more transparent and straightforwardly named.
Namespaces allow the partitioning of vectors in an index into subsets. Milvus provides multiple methods like partition or partition key to ensure efficient data isolation within a collection.
Pinecone’s metadata handling relies on key-value pairs, while Milvus allows for complex scalar fields, including standard data types and dynamic JSON fields.
Pinecone lacks a feature for iterating through all vectors in an index. Milvus introduces Search Iterator and Query Iterator methods, enhancing data retrieval capabilities across datasets.
In Pinecone dient ein Index als Organisationseinheit für die Speicherung und Verwaltung von Vektoren gleicher Größe, und dieser Index ist eng mit der Hardware, den so genannten Pods, verbunden. Im Gegensatz dazu dienen Milvus-Sammlungen einem ähnlichen Zweck, ermöglichen aber die Verwaltung mehrerer Sammlungen innerhalb einer einzigen Instanz.
In Pinecone ist eine Sammlung im Wesentlichen ein statischer Schnappschuss eines Indexes, der hauptsächlich für Sicherungszwecke verwendet wird und nicht abgefragt werden kann. In Milvus ist die entsprechende Funktion zur Erstellung von Backups transparenter und einfach benannt.
Namespaces ermöglichen die Partitionierung von Vektoren in einem Index in Teilmengen. Milvus bietet mehrere Methoden wie Partition oder Partitionsschlüssel, um eine effiziente Datenisolierung innerhalb einer Sammlung zu gewährleisten.
Die Handhabung von Metadaten in Pinecone basiert auf Schlüssel-Wert-Paaren, während Milvus komplexe skalare Felder, einschließlich Standard-Datentypen und dynamische JSON-Felder, zulässt.
Name der Methode, die verwendet wird, um die nächsten Nachbarn für einen gegebenen Vektor zu finden, möglicherweise mit einigen zusätzlichen Filtern, die darüber hinaus angewendet werden.
In Pinecone fehlt eine Funktion zur Iteration durch alle Vektoren in einem Index. Milvus führt die Methoden Search Iterator und Query Iterator ein, die die Möglichkeiten der Datenabfrage in verschiedenen Datensätzen verbessern.
Attu, Birdwatcher, Backup, CLI, CDC, Spark- und Kafka-Konnektoren
-
Key insights
-
Deployment modes: Milvus offers a variety of deployment options, including local deployment, Docker, Kubernetes on-premises, Cloud SaaS, and Bring Your Own Cloud (BYOC) for enterprises, whereas Pinecone is limited to SaaS deployment.
-
Embedding functions: Milvus supports additional embedding libraries, enabling the direct use of embedding models to transform source data into vectors.
-
Data types: Milvus supports a wider range of data types than Pinecone, including arrays and JSON. Pinecone supports only a flat metadata structure with strings, numbers, booleans, or lists of strings as values, whereas Milvus can handle any JSON object, including nested structures, within a JSON field. Pinecone limits the metadata size to 40KB per vector.
-
Metric and index types: Milvus supports a broad selection of metric and index types to accommodate various use cases, while Pinecone has a more limited selection. While an index for vector is mandatory in Milvus, an AUTO_INDEX option is available to streamline the configuration process.
-
Schema design: Milvus offers flexible create_collection modes for schema design, including a quick setup with a dynamic schema for a schema-less experience similar to Pinecone and a customized setup with predefined schema fields and indexes akin to a relational database management system (RDBMS).
-
Multiple vector fields: Milvus enables the storage of multiple vector fields within a single collection, which can be either sparse or dense and may vary in dimensionality. Pinecone does not offer a comparable feature.
-
Tools: Milvus offers a more extensive selection of tools for database management and utilization, such as Attu, Birdwatcher, Backup, CLI, CDC and Spark and Kafka connector.
+
Wichtige Erkenntnisse
+
Bereitstellungsmodi: Milvus bietet eine Vielzahl von Bereitstellungsoptionen, darunter lokale Bereitstellung, Docker, Kubernetes vor Ort, Cloud SaaS und Bring Your Own Cloud (BYOC) für Unternehmen, während Pinecone auf die SaaS-Bereitstellung beschränkt ist.
+
Einbettungsfunktionen: Milvus unterstützt zusätzliche Einbettungsbibliotheken, die die direkte Verwendung von Einbettungsmodellen zur Transformation von Quelldaten in Vektoren ermöglichen.
+
Datentypen: Milvus unterstützt eine breitere Palette von Datentypen als Pinecone, einschließlich Arrays und JSON. Pinecone unterstützt nur eine flache Metadatenstruktur mit Strings, Zahlen, Booleans oder Listen von Strings als Werte, während Milvus jedes JSON-Objekt, einschließlich verschachtelter Strukturen, innerhalb eines JSON-Feldes verarbeiten kann. Pinecone begrenzt die Größe der Metadaten auf 40 KB pro Vektor.
+
Metrische und Index-Typen: Milvus unterstützt eine breite Auswahl an Metrik- und Indextypen, um verschiedenen Anwendungsfällen gerecht zu werden, während Pinecone eine begrenztere Auswahl bietet. Während ein Index für Vektoren in Milvus obligatorisch ist, steht eine AUTO_INDEX-Option zur Verfügung, um den Konfigurationsprozess zu rationalisieren.
+
Schema-Entwurf: Milvus bietet flexible create_collection Modi für das Schemadesign, einschließlich einer schnellen Einrichtung mit einem dynamischen Schema für eine schemafreie Erfahrung ähnlich wie bei Pinecone und einer benutzerdefinierten Einrichtung mit vordefinierten Schemafeldern und Indizes ähnlich wie bei einem relationalen Datenbankmanagementsystem (RDBMS).
+
Mehrere Vektorfelder: Milvus ermöglicht die Speicherung mehrerer Vektorfelder innerhalb einer einzigen Sammlung, die entweder spärlich oder dicht sein und in der Dimensionalität variieren kann. Pinecone bietet eine vergleichbare Funktion nicht.
+
Werkzeuge: Milvus bietet eine umfangreichere Auswahl an Tools für die Datenbankverwaltung und -nutzung, wie Attu, Birdwatcher, Backup, CLI, CDC und Spark- und Kafka-Connector.
Erkunden Sie Alternativen: Für einen umfassenderen Vergleich von Vektordatenbankoptionen finden Sie weitere Ressourcen auf dieser Seite.
diff --git a/localization/v2.5.x/site/de/about/limitations.json b/localization/v2.5.x/site/de/about/limitations.json
index 742d1e50c..6979f7ab3 100644
--- a/localization/v2.5.x/site/de/about/limitations.json
+++ b/localization/v2.5.x/site/de/about/limitations.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"Milvus Limits","anchorList":[{"label":"Milvus Limits","href":"Milvus-Limits","type":1,"isActive":false},{"label":"Length of a resource name","href":"Length-of-a-resource-name","type":2,"isActive":false},{"label":"Naming rules","href":"Naming-rules","type":2,"isActive":false},{"label":"Number of resources","href":"Number-of-resources","type":2,"isActive":false},{"label":"Number of resources in a collection","href":"Number-of-resources-in-a-collection","type":2,"isActive":false},{"label":"Length of a string","href":"Length-of-a-string","type":2,"isActive":false},{"label":"Dimensions of a vector","href":"Dimensions-of-a-vector","type":2,"isActive":false},{"label":"Input and Output per RPC","href":"Input-and-Output-per-RPC","type":2,"isActive":false},{"label":"Load limits","href":"Load-limits","type":2,"isActive":false},{"label":"Search limits","href":"Search-limits","type":2,"isActive":false},{"label":"Index limits on different search types","href":"Index-limits-on-different-search-types","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"Milvus Limits","anchorList":[{"label":"Milvus-Grenzwerte","href":"Milvus-Limits","type":1,"isActive":false},{"label":"Länge eines Ressourcennamens","href":"Length-of-a-resource-name","type":2,"isActive":false},{"label":"Regeln für die Benennung","href":"Naming-rules","type":2,"isActive":false},{"label":"Anzahl der Ressourcen","href":"Number-of-resources","type":2,"isActive":false},{"label":"Anzahl der Ressourcen in einer Sammlung","href":"Number-of-resources-in-a-collection","type":2,"isActive":false},{"label":"Länge einer Zeichenkette","href":"Length-of-a-string","type":2,"isActive":false},{"label":"Dimensionen eines Vektors","href":"Dimensions-of-a-vector","type":2,"isActive":false},{"label":"Eingabe und Ausgabe pro RPC","href":"Input-and-Output-per-RPC","type":2,"isActive":false},{"label":"Grenzen für das Laden","href":"Load-limits","type":2,"isActive":false},{"label":"Grenzen der Suche","href":"Search-limits","type":2,"isActive":false},{"label":"Indexgrenzen für verschiedene Suchtypen","href":"Index-limits-on-different-search-types","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/about/limitations.md b/localization/v2.5.x/site/de/about/limitations.md
index 1d65733e6..f57362179 100644
--- a/localization/v2.5.x/site/de/about/limitations.md
+++ b/localization/v2.5.x/site/de/about/limitations.md
@@ -1,10 +1,10 @@
---
id: limitations.md
-title: Milvus Limits
+title: Milvus-Grenzwerte
related_key: Limitations
-summary: Learn about the limits while using Milvus.
+summary: Informieren Sie sich über die Grenzen bei der Verwendung von Milvus.
---
-
Milvus Limits
+
Milvus-Grenzwerte
-
Milvus is committed to providing the best vector databases to power AI applications and vector similarity search. However, the team is continuously working to bring in more features and the best utilities to enhance user experience. This page lists out some known limitations that the users may encounter when using Milvus.
-
Length of a resource name
+
Milvus ist bestrebt, die besten Vektordatenbanken für KI-Anwendungen und die Suche nach Vektorähnlichkeit bereitzustellen. Das Team arbeitet jedoch kontinuierlich daran, weitere Funktionen und die besten Hilfsprogramme einzubauen, um die Benutzerfreundlichkeit zu verbessern. Auf dieser Seite werden einige bekannte Einschränkungen aufgeführt, auf die Benutzer bei der Verwendung von Milvus stoßen können.
+
Länge eines Ressourcennamens
-
Resource
Limit
+
Ressource
Begrenzung
-
Collection
255 characters
-
Field
255 characters
-
Index
255 characters
-
Partition
255 characters
+
Sammlung
255 Zeichen
+
Feld
255 Zeichen
+
Index
255 Zeichen
+
Teilbereich
255 Zeichen
-
Naming rules
+
Regeln für die Benennung
-
The name of a resource can contain numbers, letters, and underscores (_). A resource name must start with a letter or an underscore (_).
-
Number of resources
+
Der Name einer Ressource kann Zahlen, Buchstaben und Unterstriche (_) enthalten. Ein Ressourcenname muss mit einem Buchstaben oder einem Unterstrich (_) beginnen.
+
Anzahl der Ressourcen
-
Resource
Limit
+
Ressource
Begrenzung
-
Collection
65,536
-
Connection / proxy
65,536
+
Sammlung
65,536
+
Verbindung / Proxy
65,536
-
Number of resources in a collection
+
Anzahl der Ressourcen in einer Sammlung
-
Resource
Limit
+
Ressource
Grenze
Partition
4,096
-
Shard
16
-
Field
64
+
Scherbe
16
+
Feld
64
Index
1
-
Entity
unlimited
+
Entität
unbegrenzt
-
Length of a string
+
Länge einer Zeichenkette
-
Data type
Limit
+
Datentyp
Grenze
VARCHAR
65,535
-
Dimensions of a vector
+
Dimensionen eines Vektors
-
Property
Limit
+
Eigenschaft
Grenze
Dimension
32,768
-
Input and Output per RPC
+
Eingabe und Ausgabe pro RPC
-
Operation
Limit
+
Vorgang
Grenze
-
Insert
64 MB
-
Search
64 MB
-
Query
64 MB
+
Einfügen
64 MB
+
Suchen
64 MB
+
Abfrage
64 MB
-
Load limits
+
Grenzen für das Laden
-
In current release, data to be load must be under 90% of the total memory resources of all query nodes to reserve memory resources for execution engine.
-
Search limits
+
In der aktuellen Version müssen die zu ladenden Daten unter 90% der gesamten Speicherressourcen aller Abfrageknoten liegen, um Speicherressourcen für die Ausführungsmaschine zu reservieren.
+
Grenzen der Suche
-
Vectors
Limit
+
Vektoren
Grenze
-
topk (number of the most similar result to return)
16,384
-
nq (number of the search requests)
16,384
+
topk (Anzahl der ähnlichsten Ergebnisse, die zurückgegeben werden)
16,384
+
nq (Anzahl der Suchanfragen)
16,384
-
Index limits on different search types
+
Indexgrenzen für verschiedene Suchtypen
-
The following table provides an overview of the support for various search behaviors across different index types.
+
Die folgende Tabelle gibt einen Überblick über die Unterstützung für verschiedene Suchverhaltensweisen bei unterschiedlichen Indextypen.
-
HNSW
DISKANN
FLAT
IVF_FLAT
IVF_SQ8
IVF_PQ
SCANN
GPU_IFV_FLAT
GPU_IVF_PQ
GPU_CAGRA
GPU_BRUTE_FORCE
SPARSE_INVERTED_INDEX
SPARSE_WAND
BIN_FLAT
BIN_IVF_FLAT
+
HNSW
DISKANN
FLAT
IVF_FLAT
IVF_SQ8
IVF_PQ
SCANN
GPU_IFV_FLAT
GPU_IVF_PQ
GPU_CAGRA
GPU_BRUTE_FORCE
SPÄRLICHER_INVERTIERTER_INDEX
SPARSE_WAND
BIN_FLAT
BIN_IVF_FLAT
-
Basic search
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
-
Partition search
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
-
Basic search with raw data retrieved
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
-
Basic search with pagination
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
-
Filtered search
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
-
Range search
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
No
No
No
No
Yes
Yes
-
Grouping search
Yes
No
Yes
Yes
No
No
No
No
No
No
No
No
No
No
No
-
Search with iterator
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
No
No
No
No
No
No
-
Hybrid search
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes(Only RRFRanker)
Yes(Only RRFRanker)
Yes
Yes
-
Query/Get
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
-
Query with iterator
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
No
No
Yes
Yes
Yes
Yes
+
Einfache Suche
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
+
Suche nach Partitionen
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
+
Einfache Suche mit abgerufenen Rohdaten
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
+
Einfache Suche mit Paginierung
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
+
Gefilterte Suche
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
+
Bereichssuche
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Nein
Nein
Nein
Nein
Nein
Nein
Ja
Ja
+
Gruppierungssuche
Ja
Nein
Ja
Ja
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
+
Suche mit Iterator
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
+
Hybride Suche
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja(Nur RRFRanker)
Ja(Nur RRFRanker)
Ja
Ja
+
Abfragen/Get
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Ja
+
Abfrage mit Iterator
Ja
Ja
Ja
Ja
Ja
Ja
Ja
Nein
Nein
Nein
Nein
Ja
Ja
Ja
Ja
diff --git a/localization/v2.5.x/site/de/about/milvus_adopters.json b/localization/v2.5.x/site/de/about/milvus_adopters.json
index 26a97126e..914da7f51 100644
--- a/localization/v2.5.x/site/de/about/milvus_adopters.json
+++ b/localization/v2.5.x/site/de/about/milvus_adopters.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"Milvus Adopters","anchorList":[{"label":"Milvus Adopters","href":"Milvus-Adopters","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"Milvus Adopters","anchorList":[{"label":"Milvus-Anwender","href":"Milvus-Adopters","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/about/milvus_adopters.md b/localization/v2.5.x/site/de/about/milvus_adopters.md
index decf53bbf..d68c6f960 100644
--- a/localization/v2.5.x/site/de/about/milvus_adopters.md
+++ b/localization/v2.5.x/site/de/about/milvus_adopters.md
@@ -1,10 +1,12 @@
---
id: milvus_adopters.md
-title: Milvus Adopters
+title: Milvus-Anwender
related_key: Milvus adopters
-summary: Learn about companies that have adopted Milvus in production applications.
+summary: >-
+ Erfahren Sie mehr über Unternehmen, die Milvus in Produktionsanwendungen
+ eingesetzt haben.
---
-
Milvus Adopters
+
Milvus-Anwender
-
Milvus stands as the leading vector database among enterprise users, boasting endorsements from prominent companies such as Nvidia, Roblox, AT&T, and more. Below is a list of enterprises that have successfully integrated Milvus into their applications.
+
Milvus ist die führende Vektordatenbank unter den Unternehmensanwendern und wird von namhaften Unternehmen wie Nvidia, Roblox, AT&T und anderen unterstützt. Im Folgenden finden Sie eine Liste von Unternehmen, die Milvus erfolgreich in ihre Anwendungen integriert haben.
-
-
- Milvus Adopters
-
-
-
Visit our Milvus use case page to discover how industry leaders leverage Milvus to power up their AI applications and accelerate business growth.
+
+
+ Milvus-Anwender
+
Besuchen Sie unsere Milvus-Anwendungsseite, um zu erfahren, wie Branchenführer Milvus nutzen, um ihre KI-Anwendungen zu verbessern und das Geschäftswachstum zu beschleunigen.
diff --git a/localization/v2.5.x/site/de/about/overview.json b/localization/v2.5.x/site/de/about/overview.json
index a89c127a1..38c25805e 100644
--- a/localization/v2.5.x/site/de/about/overview.json
+++ b/localization/v2.5.x/site/de/about/overview.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"What is Milvus?","anchorList":[{"label":"What is Milvus?","href":"What-is-Milvus","type":1,"isActive":false},{"label":"Unstructured Data, Embeddings, and Milvus","href":"Unstructured-Data-Embeddings-and-Milvus","type":2,"isActive":false},{"label":"What Makes Milvus so Fast?","href":"What-Makes-Milvus-so-Fast","type":2,"isActive":false},{"label":"What Makes Milvus so Scalable","href":"What-Makes-Milvus-so-Scalable","type":2,"isActive":false},{"label":"Types of Searches Supported by Milvus","href":"Types-of-Searches-Supported-by-Milvus","type":2,"isActive":false},{"label":"Comprehensive Feature Set","href":"Comprehensive-Feature-Set","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"What is Milvus?","anchorList":[{"label":"Was ist Milvus?","href":"What-is-Milvus","type":1,"isActive":false},{"label":"Unstrukturierte Daten, Einbettungen und Milvus","href":"Unstructured-Data-Embeddings-and-Milvus","type":2,"isActive":false},{"label":"Was macht Milvus so schnell?","href":"What-Makes-Milvus-so-Fast","type":2,"isActive":false},{"label":"Was macht Milvus so skalierbar?","href":"What-Makes-Milvus-so-Scalable","type":2,"isActive":false},{"label":"Von Milvus unterstützte Arten von Suchvorgängen","href":"Types-of-Searches-Supported-by-Milvus","type":2,"isActive":false},{"label":"Umfassender Funktionssatz","href":"Comprehensive-Feature-Set","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/about/overview.md b/localization/v2.5.x/site/de/about/overview.md
index 0f7d4230b..e6eb41cdb 100644
--- a/localization/v2.5.x/site/de/about/overview.md
+++ b/localization/v2.5.x/site/de/about/overview.md
@@ -1,14 +1,14 @@
---
id: overview.md
-title: What is Milvus
+title: Was ist Milvus
related_key: Milvus Overview
summary: >-
- Milvus is a high-performance, highly scalable vector database that runs
- efficiently across a wide range of environments, from a laptop to large-scale
- distributed systems. It is available as both open-source software and a cloud
- service.
+ Milvus ist eine leistungsstarke, hoch skalierbare Vektordatenbank, die in
+ einer Vielzahl von Umgebungen, vom Laptop bis zu großen verteilten Systemen,
+ effizient läuft. Sie ist sowohl als Open-Source-Software als auch als
+ Cloud-Service verfügbar.
---
-
What is Milvus?
+
Was ist Milvus?
-
Milvus is a high-performance, highly scalable vector database that runs efficiently across a wide range of environments, from a laptop to large-scale distributed systems. It is available as both open-source software and a cloud service.
-
Milvus is an open-source project under LF AI & Data Foundation distributed under the Apache 2.0 license. Most contributors are experts from the high-performance computing (HPC) community, specializing in building large-scale systems and optimizing hardware-aware code. Core contributors include professionals from Zilliz, ARM, NVIDIA, AMD, Intel, Meta, IBM, Salesforce, Alibaba, and Microsoft.
-
Unstructured Data, Embeddings, and Milvus
+
Milvus ist eine leistungsstarke, hoch skalierbare Vektordatenbank, die effizient in einer Vielzahl von Umgebungen läuft, von einem Laptop bis hin zu großen verteilten Systemen. Sie ist sowohl als Open-Source-Software als auch als Cloud-Service verfügbar.
+
Milvus ist ein Open-Source-Projekt der LF AI & Data Foundation und steht unter der Apache 2.0-Lizenz. Die meisten Mitwirkenden sind Experten aus der High-Performance-Computing (HPC)-Gemeinschaft, die sich auf die Entwicklung von Großsystemen und die Optimierung von hardwaregerechtem Code spezialisiert haben. Zu den wichtigsten Mitwirkenden gehören Experten von Zilliz, ARM, NVIDIA, AMD, Intel, Meta, IBM, Salesforce, Alibaba und Microsoft.
+
Unstrukturierte Daten, Einbettungen und Milvus
-
Unstructured data, such as text, images, and audio, varies in format and carries rich underlying semantics, making it challenging to analyze. To manage this complexity, embeddings are used to convert unstructured data into numerical vectors that capture its essential characteristics. These vectors are then stored in a vector database, enabling fast and scalable searches and analytics.
-
Milvus offers robust data modeling capabilities, enabling you to organize your unstructured or multi-modal data into structured collections. It supports a wide range of data types for different attribute modeling, including common numerical and character types, various vector types, arrays, sets, and JSON, saving you from the effort of maintaining multiple database systems.
+
Unstrukturierte Daten, wie z. B. Text, Bilder und Audio, variieren in ihrem Format und weisen eine umfangreiche zugrunde liegende Semantik auf, was ihre Analyse schwierig macht. Um diese Komplexität zu bewältigen, werden Einbettungen verwendet, um unstrukturierte Daten in numerische Vektoren umzuwandeln, die ihre wesentlichen Merkmale erfassen. Diese Vektoren werden dann in einer Vektordatenbank gespeichert, die schnelle und skalierbare Such- und Analysevorgänge ermöglicht.
+
Milvus bietet robuste Datenmodellierungsfunktionen, mit denen Sie Ihre unstrukturierten oder multimodalen Daten in strukturierten Sammlungen organisieren können. Milvus unterstützt eine breite Palette von Datentypen für die Modellierung verschiedener Attribute, darunter gängige Zahlen- und Zeichentypen, verschiedene Vektortypen, Arrays, Sets und JSON, was Ihnen den Aufwand für die Pflege mehrerer Datenbanksysteme erspart.
-
-
- Untructured data, embeddings, and Milvus
-
-
-
Milvus offers three deployment modes, covering a wide range of data scales—from local prototyping in Jupyter Notebooks to massive Kubernetes clusters managing tens of billions of vectors:
+
+
+ Unstrukturierte Daten, Einbettungen und Milvus
+
Milvus bietet drei Bereitstellungsmodi, die ein breites Spektrum an Datenskalen abdecken - vom lokalen Prototyping in Jupyter Notebooks bis hin zu massiven Kubernetes-Clustern, die Dutzende von Milliarden Vektoren verwalten:
-
Milvus Lite is a Python library that can be easily integrated into your applications. As a lightweight version of Milvus, it’s ideal for quick prototyping in Jupyter Notebooks or running on edge devices with limited resources. Learn more.
-
Milvus Standalone is a single-machine server deployment, with all components bundled into a single Docker image for convenient deployment. Learn more.
-
Milvus Distributed can be deployed on Kubernetes clusters, featuring a cloud-native architecture designed for billion-scale or even larger scenarios. This architecture ensures redundancy in critical components. Learn more.
+
Milvus Lite ist eine Python-Bibliothek, die einfach in Ihre Anwendungen integriert werden kann. Als leichtgewichtige Version von Milvus ist sie ideal für schnelles Prototyping in Jupyter Notebooks oder die Ausführung auf Edge-Geräten mit begrenzten Ressourcen. Erfahren Sie mehr.
+
Milvus Standalone ist eine Serverimplementierung für eine einzelne Maschine, bei der alle Komponenten in einem einzigen Docker-Image gebündelt sind, um eine einfache Bereitstellung zu ermöglichen. Erfahren Sie mehr.
+
Milvus Distributed kann auf Kubernetes-Clustern bereitgestellt werden und verfügt über eine Cloud-native Architektur, die für Szenarien im Milliardenmaßstab oder noch größer ausgelegt ist. Diese Architektur gewährleistet Redundanz bei kritischen Komponenten. Erfahren Sie mehr.
-
What Makes Milvus so Fast?
+
Was macht Milvus so schnell?
-
Milvus was designed from day one to be a highly efficient vector database system. In most cases, Milvus outperforms other vector databases by 2-5x (see the VectorDBBench results). This high performance is the result of several key design decisions:
-
Hardware-aware Optimization: To accommodate Milvus in various hardware environments, we have optimized its performance specifically for many hardware architectures and platforms, including AVX512, SIMD, GPUs, and NVMe SSD.
-
Advanced Search Algorithms: Milvus supports a wide range of in-memory and on-disk indexing/search algorithms, including IVF, HNSW, DiskANN, and more, all of which have been deeply optimized. Compared to popular implementations like FAISS and HNSWLib, Milvus delivers 30%-70% better performance.
-
Search Engine in C++: Over 80% of a vector database’s performance is determined by its search engine. Milvus uses C++ for this critical component due to the language’s high performance, low-level optimization, and efficient resource management. Most importantly, Milvus integrates numerous hardware-aware code optimizations, ranging from assembly-level vectorization to multi-thread parallelization and scheduling, to fully leverage hardware capabilities.
-
Column-Oriented: Milvus is a column-oriented vector database system. The primary advantages come from the data access patterns. When performing queries, a column-oriented database reads only the specific fields involved in the query, rather than entire rows, which greatly reduces the amount of data accessed. Additionally, operations on column-based data can be easily vectorized, allowing for operations to be applied in the entire columns at once, further enhancing performance.
-
What Makes Milvus so Scalable
+
Milvus wurde vom ersten Tag an als hocheffizientes Vektordatenbanksystem konzipiert. In den meisten Fällen übertrifft Milvus andere Vektordatenbanken um das 2-5fache (siehe die Ergebnisse des VectorDBBench). Diese hohe Leistung ist das Ergebnis mehrerer wichtiger Designentscheidungen:
+
Hardware-gerechte Optimierung: Um Milvus in verschiedenen Hardwareumgebungen einsetzen zu können, haben wir seine Leistung speziell für viele Hardwarearchitekturen und Plattformen optimiert, darunter AVX512, SIMD, GPUs und NVMe SSD.
+
Erweiterte Suchalgorithmen: Milvus unterstützt eine breite Palette von In-Memory- und On-Disk-Indizierungs-/Suchalgorithmen, einschließlich IVF, HNSW, DiskANN und mehr, die alle tiefgreifend optimiert wurden. Im Vergleich zu gängigen Implementierungen wie FAISS und HNSWLib bietet Milvus eine um 30-70% bessere Leistung.
+
Suchmaschine in C++: Über 80 % der Leistung einer Vektordatenbank wird durch ihre Suchmaschine bestimmt. Milvus verwendet C++ für diese kritische Komponente aufgrund der hohen Leistung, der Low-Level-Optimierung und der effizienten Ressourcenverwaltung dieser Sprache. Vor allem aber integriert Milvus zahlreiche hardwarenahe Code-Optimierungen, die von der Vektorisierung auf Assembler-Ebene bis hin zur Multi-Thread-Parallelisierung und dem Scheduling reichen, um die Möglichkeiten der Hardware voll auszuschöpfen.
+
Spaltenorientiert: Milvus ist ein spaltenorientiertes Vektor-Datenbanksystem. Die Hauptvorteile ergeben sich aus den Datenzugriffsmustern. Bei der Durchführung von Abfragen liest eine spaltenorientierte Datenbank nur die spezifischen Felder, die an der Abfrage beteiligt sind, und nicht ganze Zeilen, was die Menge der abgerufenen Daten erheblich reduziert. Darüber hinaus können Operationen auf spaltenbasierte Daten leicht vektorisiert werden, so dass Operationen auf die gesamten Spalten auf einmal angewendet werden können, was die Leistung weiter verbessert.
+
Was macht Milvus so skalierbar?
-
In 2022, Milvus supported billion-scale vectors, and in 2023, it scaled up to tens of billions with consistent stability, powering large-scale scenarios for over 300 major enterprises, including Salesforce, PayPal, Shopee, Airbnb, eBay, NVIDIA, IBM, AT&T, LINE, ROBLOX, Inflection, etc.
-
Milvus’s cloud-native and highly decoupled system architecture ensures that the system can continuously expand as data grows:
+
Im Jahr 2022 unterstützte Milvus Vektoren im Milliardenbereich und im Jahr 2023 skalierte es mit gleichbleibender Stabilität auf Dutzende von Milliarden und unterstützte Großszenarien für über 300 große Unternehmen, darunter Salesforce, PayPal, Shopee, Airbnb, eBay, NVIDIA, IBM, AT&T, LINE, ROBLOX, Inflection usw.
+
Die Cloud-native und hochgradig entkoppelte Systemarchitektur von Milvus stellt sicher, dass das System kontinuierlich mit dem Datenwachstum wachsen kann:
-
-
- Highly decoupled system architecture of Milvus
-
-
-
Milvus itself is fully stateless so it can be easily scaled with the help of Kubernetes or public clouds. In addition, Milvus components are well decoupled, with the three most critical tasks—search, data insertion, and indexing/compaction—designed as easily parallelized processes, with complex logic separated out. This ensures that the corresponding query node, data node, and index node can scale both up and out independently, optimizing performance and cost efficiency.
-
Types of Searches Supported by Milvus
+
+
+ Hochgradig entkoppelte Systemarchitektur von Milvus
+
Milvus selbst ist vollständig zustandslos, sodass es mit Hilfe von Kubernetes oder öffentlichen Clouds leicht skaliert werden kann. Darüber hinaus sind die Milvus-Komponenten gut entkoppelt, wobei die drei kritischsten Aufgaben - die Suche, das Einfügen von Daten und die Indizierung/Verdichtung - als leicht parallelisierbare Prozesse konzipiert sind, wobei die komplexe Logik ausgegliedert ist. Dadurch wird sichergestellt, dass die entsprechenden Abfrage-, Daten- und Indexknoten unabhängig voneinander skaliert werden können, wodurch Leistung und Kosteneffizienz optimiert werden.
+
Von Milvus unterstützte Arten von Suchvorgängen
-
Milvus supports various types of search functions to meet the demands of different use cases:
+
Milvus unterstützt verschiedene Arten von Suchfunktionen, um die Anforderungen verschiedener Anwendungsfälle zu erfüllen:
-
ANN Search: Finds the top K vectors closest to your query vector.
-
Filtering Search: Performs ANN search under specified filtering conditions.
-
Range Search: Finds vectors within a specified radius from your query vector.
-
Hybrid Search: Conducts ANN search based on multiple vector fields.
-
Keyword Search: Keyword search based on BM25.
-
Reranking: Adjusts the order of search results based on additional criteria or a secondary algorithm, refining the initial ANN search results.
ANN-Suche: Findet die besten K Vektoren, die Ihrem Abfragevektor am nächsten kommen.
+
Filternde Suche: Führt eine ANN-Suche unter bestimmten Filterbedingungen durch.
+
Bereichssuche: Findet Vektoren innerhalb eines bestimmten Radius von Ihrem Abfragevektor.
+
Hybride Suche: Führt die ANN-Suche auf der Grundlage mehrerer Vektorfelder durch.
+
Schlüsselwort-Suche: Schlüsselwortsuche auf der Grundlage von BM25.
+
Neu ordnen: Passt die Reihenfolge der Suchergebnisse auf der Grundlage zusätzlicher Kriterien oder eines sekundären Algorithmus an und verfeinert die ursprünglichen ANN-Suchergebnisse.
+
Abrufen: Ruft Daten anhand ihrer Primärschlüssel ab.
+
Abfragen: Ruft Daten anhand bestimmter Ausdrücke ab.
-
Comprehensive Feature Set
+
Umfassender Funktionssatz
-
In addition to the key search features mentioned above, Milvus also provides a set of features implemented around ANN searches so that you can fully utilize its capabilities.
Zusätzlich zu den oben erwähnten Schlüsselfunktionen bietet Milvus eine Reihe von Funktionen, die um ANN-Suchen herum implementiert wurden, so dass Sie die Möglichkeiten von Milvus voll ausschöpfen können.
Partitions and Partition Keys
-Partitions are sub-divisions of a Milvus collection. You can choose a scalar field as the partition key for better search performance. For details, see Manage Partitions and Use Partition Key.
-
Tunable Consistency Model
-Consistency ensures every Milvus node or replica has the same view of data when writing or reading data at a given time. You can easily tune the consistency level when conducting ANN searches in Milvus. For details, see Consistency.
-
High-throughput Data Import
-To import a large volume of data into Milvus instead of inserting them one after another, consider using our high-throughput data import tools. For details, refer to Prepare Source Data and Import Data.
-
Multi-tenancy Support
-Milvus has implemented a lot of features oriented to multi-tenancy scenarios, including Partition Key, Clustering Key, and more. For details, see Multi-tenancy Strategies.
+
Beschleunigung
+
Suchalgorithmen Milvus unterstützt eine Reihe von einstellbaren Indizierungs- und Suchalgorithmen. Details finden Sie unter In-memory Index, On-disk Index und GPU Index.
+
Partitionen und Partitionsschlüssel Partitionen sind Unterabteilungen einer Milvus-Sammlung. Sie können ein skalares Feld als Partitionsschlüssel wählen, um die Suchleistung zu verbessern. Weitere Informationen finden Sie unter Verwalten von Partitionen und Verwenden von Partitionsschlüsseln.
+
Abstimmbares Konsistenzmodell Konsistenz stellt sicher, dass jeder Milvus-Knoten oder jede Replik dieselbe Sicht auf die Daten hat, wenn sie zu einem bestimmten Zeitpunkt Daten schreiben oder lesen. Sie können die Konsistenzstufe bei der Durchführung von ANN-Suchen in Milvus leicht abstimmen. Details finden Sie unter Konsistenz.
+
Hochdurchsatz-Datenimport Um eine große Datenmenge in Milvus zu importieren, anstatt sie nacheinander einzufügen, sollten Sie unsere Hochdurchsatz-Datenimport-Tools verwenden. Einzelheiten finden Sie unter Vorbereiten von Quelldaten und Importieren von Daten.
+
Unterstützung von Mehrmandantenfähigkeit Milvus hat viele Funktionen implementiert, die auf Mehrmandantenszenarien ausgerichtet sind, einschließlich Partitionsschlüssel, Clustering-Schlüssel und mehr. Details finden Sie unter Mehrmandanten-Strategien.
-
Security and Authorization
-
Tunable Consistency Model
-Consistency ensures every Milvus node or replica has the same view of data when writing or reading data at a given time. You can easily tune the consistency level when conducting ANN searches in Milvus. For details, see Consistency.
-
Data Isolation and Resource Control
-For multi-tenancy scenarios, data isolation is the basic security requirement. Milvus implements several features to resolve your security concerns. For details, see Manage Resource Groups and Clustering Compaction.
+
Sicherheit und Autorisierung
+
Abstimmbares Konsistenzmodell Konsistenz stellt sicher, dass jeder Milvus-Knoten oder jede Replik dieselbe Sicht auf die Daten hat, wenn sie zu einem bestimmten Zeitpunkt Daten schreiben oder lesen. Sie können die Konsistenzstufe bei der Durchführung von ANN-Suchen in Milvus leicht abstimmen. Für Details siehe Konsistenz.
+
Datenisolierung und Ressourcenkontrolle Für Multi-Tenancy-Szenarien ist die Datenisolierung die grundlegende Sicherheitsanforderung. Milvus implementiert mehrere Funktionen, um Ihre Sicherheitsbedenken auszuräumen. Details finden Sie unter Verwalten von Ressourcengruppen und Clustering Compaction.
-
AI Integrations
-
Embedding Model Integrations
-Embedding Models convert unstructured data to their numeric representation in high-dimensional data space so that you can store them in Milvus. Currently, PyMilvus, the Python SDK, integrates several embedding models so that you can quickly prepare your data into vector embeddings. For details, see Embedding Overview.
-
Reranking Model Integrations
-In the realm of information retrieval and generative AI, a reranker is an essential tool that optimizes the order of results from initial searches. PyMilvus also integrates several reranking models to optimize the order of results returned from initial searches. For details, refer to Rerankers Overview.
-
LangChain and other AI Tool Integrations
-In the GenAI era, tools, such as LangChain, gain much attentions from application developers. As a core component, Milvus usually serves as the vector stores in such tools. To learn how to integrate Milvus in your favorite AI tools, refer to our Integrations and Tutorials.
+
AI-Integrationen
+
Einbettungsmodell-Integrationen Einbettungsmodelle konvertieren unstrukturierte Daten in ihre numerische Darstellung im hochdimensionalen Datenraum, so dass Sie sie in Milvus speichern können. Derzeit sind in PyMilvus, dem Python-SDK, mehrere Einbettungsmodelle integriert, so dass Sie Ihre Daten schnell in Vektoreinbettungen aufbereiten können. Details finden Sie unter Einbettungsübersicht.
+
Integration von Reranking-Modellen Im Bereich des Information Retrieval und der generativen KI ist ein Reranker ein unverzichtbares Werkzeug, das die Reihenfolge der Ergebnisse der ersten Suche optimiert. PyMilvus integriert auch mehrere Reranking-Modelle, um die Reihenfolge der Ergebnisse aus den ersten Suchen zu optimieren. Einzelheiten finden Sie unter Reranker-Übersicht.
+
LangChain und andere KI-Tool-Integrationen In der GenAI-Ära gewinnen Tools wie LangChain viel Aufmerksamkeit von Anwendungsentwicklern. Als Kernkomponente dient Milvus normalerweise als Vektorspeicher in solchen Tools. Um zu erfahren, wie Sie Milvus in Ihre bevorzugten KI-Tools integrieren können, lesen Sie unsere Integrationen und Tutorials.
-
Tools and Ecosystem
-
Attu
-Attu is an all-in-one intuitive GUI that helps you manage Milvus and the data it stores. For details, refer to the Attu repository.
-
Birdwatcher
-Birdwatcher is a debugging tool for Milvus. Using it to connect to etcd, you can check the state of your Milvus system or configure it on the fly. For details, refer to BirdWatcher.
-
Promethus & Grafana integrations
-Prometheus is an open-source system monitoring and alerting toolkit for Kubernetes. Grafana is an open-source visualizing stack that can connect with all data sources. You can use Promethus & Grafana as the monitoring service provider to visually monitor the performance of Milvus distributed. For details, see Deploying Monitoring Services.
-
Milvus Backup
-Milvus Backup is a tool that allows users to back up and restore Milvus data. It provides both CLI and API to fit itself into different application scenarios. For details, refer to Milvus Backup.
-
Milvus Capture Data Change (CDC)
-Milvus-CDC can capture and synchronize incremental data in Milvus instances and ensures the reliability of business data by seamlessly transferring it between source and target instances, allowing for easy incremental backup and disaster recovery. For details, refer to Milvus CDC.
-
Milvus Connectors
-Milvus has planned a set of connectors for you to seamlessly integrate Milvus with third-party tools, such as Apache Spark. Currently, you can use our Spark Connector to feed your Milvus data to Apache Spark for machine-learning processing. For details, refer to Spark-Milvus Connector.
-
Vector Transmission Services (VTS)
-Milvus provides a set of tools for you to transfer your data between a Milvus instance and a bunch of data sources, including Zilliz clusters, Elasticsearch, Postgres (PgVector), and another Milvus instance. For details, refer to Migrations.
+
Werkzeuge und Ökosystem
+
Attu Attu ist eine intuitiv bedienbare Benutzeroberfläche, mit der Sie Milvus und die darin gespeicherten Daten verwalten können. Details finden Sie im Attu-Repository.
+
Birdwatcher Birdwatcher ist ein Debugging-Tool für Milvus. Mit ihm können Sie sich mit etcd verbinden, um den Zustand Ihres Milvus-Systems zu überprüfen oder es im laufenden Betrieb zu konfigurieren. Details finden Sie unter BirdWatcher.
+
Promethus- und Grafana-Integrationen Prometheus ist ein Open-Source-Toolkit zur Systemüberwachung und Alarmierung für Kubernetes. Grafana ist ein Open-Source-Visualisierungs-Stack, der mit allen Datenquellen verbunden werden kann. Sie können Promethus & Grafana als Überwachungsdienstanbieter verwenden, um die Leistung von Milvus distributed visuell zu überwachen. Details finden Sie unter Bereitstellung von Überwachungsdiensten.
+
Milvus Backup Milvus Backup ist ein Tool, mit dem Benutzer Milvus-Daten sichern und wiederherstellen können. Es bietet sowohl CLI als auch API, um sich in verschiedene Anwendungsszenarien einzupassen. Einzelheiten finden Sie unter Milvus Backup.
+
Milvus Capture Data Change (CDC) Milvus-CDC kann inkrementelle Daten in Milvus-Instanzen erfassen und synchronisieren und stellt die Zuverlässigkeit von Geschäftsdaten sicher, indem es sie nahtlos zwischen Quell- und Zielinstanzen überträgt, was eine einfache inkrementelle Sicherung und Notfallwiederherstellung ermöglicht. Einzelheiten finden Sie unter Milvus CDC.
+
Milvus-Konnektoren Milvus hat eine Reihe von Konnektoren für die nahtlose Integration von Milvus mit Tools von Drittanbietern, wie z. B. Apache Spark, geplant. Derzeit können Sie unseren Spark-Konnektor verwenden, um Ihre Milvus-Daten an Apache Spark zur maschinellen Verarbeitung weiterzuleiten. Einzelheiten finden Sie unter Spark-Milvus Connector.
+
Vector Transmission Services (VTS) Milvus bietet eine Reihe von Tools, mit denen Sie Ihre Daten zwischen einer Milvus-Instanz und einer Reihe von Datenquellen übertragen können, darunter Zilliz-Cluster, Elasticsearch, Postgres (PgVector) und eine andere Milvus-Instanz. Einzelheiten finden Sie unter Migrationen.
diff --git a/localization/v2.5.x/site/de/about/roadmap.json b/localization/v2.5.x/site/de/about/roadmap.json
index 8e7a91e24..2706c70e0 100644
--- a/localization/v2.5.x/site/de/about/roadmap.json
+++ b/localization/v2.5.x/site/de/about/roadmap.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"Milvus Roadmap","anchorList":[{"label":"Milvus Roadmap","href":"Milvus-Roadmap","type":1,"isActive":false},{"label":"Roadmap","href":"Roadmap","type":2,"isActive":false},{"label":"How to contribute","href":"How-to-contribute","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"Milvus Roadmap","anchorList":[{"label":"Milvus-Fahrplan","href":"Milvus-Roadmap","type":1,"isActive":false},{"label":"Fahrplan","href":"Roadmap","type":2,"isActive":false},{"label":"Wie Sie beitragen können","href":"How-to-contribute","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/about/roadmap.md b/localization/v2.5.x/site/de/about/roadmap.md
index 77854b5ee..e0f8fdfd1 100644
--- a/localization/v2.5.x/site/de/about/roadmap.md
+++ b/localization/v2.5.x/site/de/about/roadmap.md
@@ -1,12 +1,12 @@
---
id: roadmap.md
-title: Milvus Roadmap
+title: Milvus-Fahrplan
related_key: Milvus roadmap
summary: >-
- Milvus is an open-source vector database built to power AI applications. Here
- is our roadmap to guide our development.
+ Milvus ist eine Open-Source-Vektordatenbank, die für KI-Anwendungen entwickelt
+ wurde. Hier ist unsere Roadmap, die unsere Entwicklung leitet.
---
-
Milvus Roadmap
+
Milvus-Fahrplan
-
Welcome to the Milvus Roadmap! Join us on our continuous journey to enhance and evolve Milvus. We are thrilled to share our accomplishments, future plans, and our vision for what lies ahead. Our roadmap is more than a list of upcoming features—it reflects our commitment to innovation and our dedication to working with the community. We invite you to delve into our roadmap, provide your feedback, and help shape the future of Milvus!
-
Roadmap
+
Willkommen bei der Milvus-Roadmap! Begleiten Sie uns auf unserem Weg, Milvus kontinuierlich zu verbessern und weiterzuentwickeln. Wir freuen uns, Ihnen unsere Errungenschaften, Zukunftspläne und unsere Vision für die Zukunft vorzustellen. Unsere Roadmap ist mehr als nur eine Liste kommender Funktionen - sie spiegelt unser Engagement für Innovation und unsere Bereitschaft zur Zusammenarbeit mit der Community wider. Wir laden Sie ein, einen Blick auf unsere Roadmap zu werfen, uns Ihr Feedback zu geben und die Zukunft von Milvus mitzugestalten!
+
Fahrplan
-
Category
-
Milvus 2.5.0 (Achieved in recent releases)
-
Next Release (Middle of CY25)
-
Future Roadmap (Within 1 year)
+
Kategorie
+
Milvus 2.5.0 (Erreicht in den letzten Versionen)
+
Nächste Version (Mitte CY25)
+
Zukünftige Roadmap (innerhalb von 1 Jahr)
-
AI-Driven Unstructured Data Processing Strengthening the ability to process and analyze unstructured data using AI models and advanced technologies.
-
Full Text Search Support full text search with Sparse-BM25. The new API accepts text as input and automatically generates sparse vector inside Milvus
Sparse Vector(GA) Support efficient storage and indexing method for sparse vector
-
Data-In and Data-Out Support major model services to ingest original data
Advanced Reranker Support model-based rerankers and user-defined scoring function
JSON Enhancement JSON indexing and parsing to accelerate processing
-
Original Data-In and Data-Out Support Blob and url reference to process original data
Support More Data Types e.g. Datetime, Map, GIS
Support Tensors Support list of vectors, typical usage like Colbert, Copali etc.
+
KI-gestützte Verarbeitung unstrukturierter Daten Stärkung der Fähigkeit zur Verarbeitung und Analyse unstrukturierter Daten mithilfe von KI-Modellen und fortschrittlichen Technologien.
+
Volltextsuche Unterstützung der Volltextsuche mit Sparse-BM25. Die neue API akzeptiert Text als Eingabe und generiert automatisch Sparse Vector in Milvus
Sparse Vector(GA) Unterstützung effizienter Speicher- und Indizierungsmethoden für Sparse Vector
+
Data-In und Data-Out Unterstützung der wichtigsten Modelldienste zur Aufnahme von Originaldaten
Advanced Reranker Unterstützung von modellbasierten Rerankern und benutzerdefinierten Scoring-Funktionen
JSON Enhancement JSON-Indizierung und -Parsing zur Beschleunigung der Verarbeitung
+
Original Data-In und Data-Out Unterstützung von Blob- und Url-Referenzen zur Verarbeitung von Originaldaten
Unterstützung weiterer Datentypen z.B. Datetime, Map, GIS
Unterstützung von Tensoren Unterstützung einer Liste von Vektoren, typische Anwendungen wie Colbert, Copali etc.
-
Search Quality & Performance Deliver accurate, relevant, and fast results by optimizing architecture, algorithms and APIs
-
Text Match Function Quickly filter keywords/tokens in text/varchar
Grouping Search Enhancement Introduce group_size and add group by support in hybrid search
Bitmap Index & Inverted Index Accelerate filtering on tags
-
Advanced Match e.g. Match Phrase, Fuzzy Match, and more tokenizers
Aggregations Scalar field aggregations, e.g. min, max, count, distinct.
-
Partial Update Support updates to a specific field's value
Sorting Capability Sort by scalar fields during execution
Support Data Clustering Data co-locality
+
Suchqualität und -leistung Liefern Sie genaue, relevante und schnelle Ergebnisse durch Optimierung von Architektur, Algorithmen und APIs
+
Textabgleichsfunktion Schnelles Filtern von Schlüsselwörtern/Tokens in Text/Varchar
Verbesserung der Gruppensuche Einführung von group_size und Unterstützung von group by in der hybriden Suche
Bitmap Index & Inverted Index Beschleunigung der Filterung nach Tags
+
Advanced Match z.B. Match Phrase, Fuzzy Match und weitere Tokenizer
Aggregationen Skalare Feldaggregationen, z.B. min, max, count, distinct.
+
Partielle Aktualisierung Unterstützung von Aktualisierungen des Wertes eines bestimmten Feldes
Sortierfähigkeit Sortierung nach skalaren Feldern während der Ausführung
Unterstützung von Daten-Clustering Daten-Kolokalität
-
Rich Functionality & Management Developer-friendly and robust data management features
-
Support CSV files in data import Bulkinsert supports CSV format
Support Null and Default Value Null and Default types make importing data from other DBMS easier
Milvus WebUI (Beta) Visual management tools for DBAs
-
Primary Key Deduplication By using the global pk index
Online Schema Change e.g. Add/delete field, modify varchar length
Data Versioning & Restore Support data versioning by snapshot
-
Rust and C++ SDK Support more clients
Support UDF User-defined function
+
Umfangreiche Funktionalität und Verwaltung Entwicklerfreundliche und robuste Datenverwaltungsfunktionen
+
Unterstützung von CSV-Dateien beim Datenimport Bulkinsert unterstützt das CSV-Format
Unterstützung von Null- und Standardwerten Null- und Standardtypen erleichtern den Import von Daten aus anderen DBMS
Milvus WebUI (Beta) Visuelle Verwaltungswerkzeuge für DBAs
+
Primärschlüssel-Deduplizierung Durch Verwendung des globalen pk-Index
Online-Schemaänderung z.B. Hinzufügen/Löschen von Feldern, Ändern der varchar-Länge
Datenversionierung & Wiederherstellung Unterstützung der Datenversionierung durch Snapshot
Memory Optimization Reduce OOM and load enhancement
Streaming Node (Beta) Provide global consistency and solve performance bottleneck on root coordinator
Storage Format V2 (Beta) Universal formats design and foundation for disk-based data access
Clustering Compaction Data re-distribution based on configuration to accelerate read performance
-
Lazy Load Load can be initiated by the first read operation without explicitly calling load()
Tiered Storage Support hot and cold storage for cost optimization
Release by Field Release part of collection to reduce memory usage
Streaming Node (GA) Process streaming data and simplify the architecture
-
Remove dependencies Reduce or eliminate dependencies on external components like pulsar, etcd
Merge coord logic into MixCoord Simplify the architecture
+
Kosteneffizienz und Architektur Modernste Systeme, bei denen Stabilität, Kosteneffizienz und Skalierbarkeit im Vordergrund stehen
+
Laden nach Feldern Auswahl des zu ladenden Teils der Sammlung
Speicheroptimierung Reduzierung von OOM und Verbesserung der Last
Streaming Node (Beta) Bereitstellung globaler Konsistenz und Behebung von Leistungsengpässen auf dem Root Coordinator
Storage Format V2 (Beta) Universelles Formatdesign und Grundlage für plattenbasierten Datenzugriff
Clustering Compaction Datenumverteilung basierend auf der Konfiguration zur Beschleunigung der Leseleistung
+
Lazy Load Laden kann durch den ersten Lesevorgang initiiert werden, ohne explizit load() aufzurufen
Tiered Storage Unterstützung von Hot- und Cold-Storage zur Kostenoptimierung
Freigabe nach Feldern Freigabe eines Teils der Sammlung zur Reduzierung der Speichernutzung
Streaming Node (GA) Verarbeitung von Streaming-Daten und Vereinfachung der Architektur
+
Beseitigung von Abhängigkeiten Reduzierung oder Beseitigung von Abhängigkeiten von externen Komponenten wie Pulsar, etcd
Zusammenführung der Koordinationslogik in MixCoord Vereinfachung der Architektur
-
Our roadmap is typically structured into three parts: the most recent release, the next upcoming release, and a mid-to-long term vision within the next year.
-
As we progress, we continually learn and occasionally adjust our focus, adding or removing items as needed.
-
These plans are indicative and subject to change, and may vary based on subscription services.
-
We steadfastly adhere to our roadmap, with our release notes serving as a reference.
+
Unsere Roadmap ist in der Regel in drei Teile gegliedert: die letzte Version, die nächste Version und eine mittel- bis langfristige Vision für das nächste Jahr.
+
Während wir Fortschritte machen, lernen wir ständig dazu und passen gelegentlich unseren Fokus an, indem wir Elemente hinzufügen oder entfernen, wenn es nötig ist.
+
Diese Pläne sind unverbindlich und können je nach Abonnement variieren.
+
Wir halten uns strikt an unsere Roadmap, wobei unsere Versionshinweise als Referenz dienen.
-
How to contribute
+
Wie Sie beitragen können
-
As an open-source project, Milvus thrives on community contributions. Here’s how you can be a part of our journey.
-
Share feedback
-
Issue reporting: Encounter a bug or have a suggestion? Open an issue on our GitHub page.
Pull requests: Contribute directly to our codebase. Whether it’s fixing bugs, adding features, or improving documentation, your contributions are welcome.
-
Development guide: Check our Contributor’s Guide for guidelines on code contributions.
+
Code-Beiträge
+
Pull-Anfragen: Tragen Sie direkt zu unserer Codebasis bei. Ob Sie Fehler beheben, Funktionen hinzufügen oder die Dokumentation verbessern, Ihre Beiträge sind willkommen.
+
Entwicklungsleitfaden: In unserem Contributor's Guide finden Sie Richtlinien für Code-Beiträge.
-
Spread the word
-
Social sharing: Love Milvus? Share your use cases and experiences on social media and tech blogs.
-
Star us on GitHub: Show your support by starring our GitHub repository.
+
Verbreiten Sie die Nachricht
+
Soziales Teilen: Sie lieben Milvus? Teilen Sie Ihre Anwendungsfälle und Erfahrungen in sozialen Medien und Tech-Blogs.
+
Vermerken Sie uns auf GitHub: Zeigen Sie Ihre Unterstützung, indem Sie unser GitHub-Repository mit einem Stern versehen.
diff --git a/localization/v2.5.x/site/de/adminGuide/allocate.json b/localization/v2.5.x/site/de/adminGuide/allocate.json
index cfdc5ab70..42b22a39c 100644
--- a/localization/v2.5.x/site/de/adminGuide/allocate.json
+++ b/localization/v2.5.x/site/de/adminGuide/allocate.json
@@ -1 +1 @@
-{"codeList":["helm upgrade my-release milvus/milvus --reuse-values --set standalone.resources.limits.cpu=2 --set standalone.resources.limits.memory=4Gi --set standalone.resources.requests.cpu=0.1 --set standalone.resources.requests.memory=128Mi\n","helm upgrade my-release milvus/milvus --reuse-values --set dataNode.resources.limits.cpu=2 --set dataNode.resources.limits.memory=4Gi --set dataNode.resources.requests.cpu=0.1 --set dataNode.resources.requests.memory=128Mi\n","dataNode:\n resources:\n limits:\n cpu: \"4\"\n memory: \"16Gi\"\n requests:\n cpu: \"1\"\n memory: \"4Gi\"\nqueryNode:\n resources:\n limits:\n cpu: \"4\"\n memory: \"16Gi\"\n requests:\n cpu: \"1\"\n memory: \"4Gi\"\n","helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml\n"],"headingContent":"Allocate Resources on Kubernetes","anchorList":[{"label":"Allocate Resources on Kubernetes","href":"Allocate-Resources-on-Kubernetes","type":1,"isActive":false},{"label":"1. View available resources","href":"1-View-available-resources","type":2,"isActive":false},{"label":"2. Allocate resources","href":"2-Allocate-resources","type":2,"isActive":false},{"label":"3. Apply configurations","href":"3-Apply-configurations","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["helm upgrade my-release milvus/milvus --reuse-values --set standalone.resources.limits.cpu=2 --set standalone.resources.limits.memory=4Gi --set standalone.resources.requests.cpu=0.1 --set standalone.resources.requests.memory=128Mi\n","helm upgrade my-release milvus/milvus --reuse-values --set dataNode.resources.limits.cpu=2 --set dataNode.resources.limits.memory=4Gi --set dataNode.resources.requests.cpu=0.1 --set dataNode.resources.requests.memory=128Mi\n","dataNode:\n resources:\n limits:\n cpu: \"4\"\n memory: \"16Gi\"\n requests:\n cpu: \"1\"\n memory: \"4Gi\"\nqueryNode:\n resources:\n limits:\n cpu: \"4\"\n memory: \"16Gi\"\n requests:\n cpu: \"1\"\n memory: \"4Gi\"\n","helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml\n"],"headingContent":"Allocate Resources on Kubernetes","anchorList":[{"label":"Ressourcen auf Kubernetes zuweisen","href":"Allocate-Resources-on-Kubernetes","type":1,"isActive":false},{"label":"1. Verfügbare Ressourcen anzeigen","href":"1-View-available-resources","type":2,"isActive":false},{"label":"2. Zuweisen von Ressourcen","href":"2-Allocate-resources","type":2,"isActive":false},{"label":"3. Konfigurationen anwenden","href":"3-Apply-configurations","type":2,"isActive":false},{"label":"Was kommt als Nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/allocate.md b/localization/v2.5.x/site/de/adminGuide/allocate.md
index d06ed2338..f9e2c04a6 100644
--- a/localization/v2.5.x/site/de/adminGuide/allocate.md
+++ b/localization/v2.5.x/site/de/adminGuide/allocate.md
@@ -1,9 +1,9 @@
---
id: allocate.md
-title: Allocate Resources to Milvus on Kubernetes
-summary: Learn how to allocate resources to Milvus on Kubernetes.
+title: Zuweisung von Ressourcen an Milvus auf Kubernetes
+summary: 'Erfahren Sie, wie Sie Milvus auf Kubernetes Ressourcen zuweisen können.'
---
-
Allocate Resources on Kubernetes
+
Ressourcen auf Kubernetes zuweisen
-
This topic describes how to allocate resources to a Milvus cluster on Kubernetes.
-
Generally, the resources you allocate to a Milvus cluster in production should be proportionate to the machine workload. You should also consider the machine type when allocating resources. Although you can update the configurations when the cluster is running, we recommend setting the values before deploying the cluster.
+
In diesem Thema wird beschrieben, wie Sie einem Milvus-Cluster unter Kubernetes Ressourcen zuweisen.
+
Im Allgemeinen sollten die Ressourcen, die Sie einem Milvus-Cluster in der Produktion zuweisen, im Verhältnis zur Maschinenauslastung stehen. Sie sollten bei der Ressourcenzuweisung auch den Maschinentyp berücksichtigen. Obwohl Sie die Konfigurationen aktualisieren können, wenn der Cluster ausgeführt wird, empfehlen wir, die Werte vor der Bereitstellung des Clusters festzulegen.
You can also allocate CPU and memory resources by specifying the parameters resources.requests and resources.limits in the resources.yaml file.
+
Ressourcenzuteilung durch Setzen der Konfigurationsdatei
Sie können CPU- und Speicherressourcen auch zuweisen, indem Sie die Parameter resources.requests und resources.limits in der Datei resources.yaml angeben.
dataNode:
resources:
limits:
@@ -93,7 +91,7 @@ Using Helm to upgrade resources will cause the running pods to perform rolling u
cpu: "1"memory: "4Gi"
-
3. Apply configurations
+
3. Konfigurationen anwenden
-
Run the following command to apply the new configurations to your Milvus cluster.
+
Führen Sie den folgenden Befehl aus, um die neuen Konfigurationen auf Ihren Milvus-Cluster anzuwenden.
-If resources.limits is not specified, the pods will consume all the CPU and memory resources available. Therefore, ensure to specify resources.requests and resources.limits to avoid overallocation of resources when other running tasks on the same instance require more memory consumption.
-
What’s next
+Wenn resources.limits nicht angegeben ist, werden die Pods alle verfügbaren CPU- und Speicherressourcen verbrauchen. Stellen Sie daher sicher, dass Sie resources.requests und resources.limits angeben, um eine Überallokation von Ressourcen zu vermeiden, wenn andere laufende Aufgaben auf derselben Instanz einen höheren Speicherbedarf haben.
+
diff --git a/localization/v2.5.x/site/de/adminGuide/authenticate.json b/localization/v2.5.x/site/de/adminGuide/authenticate.json
index a1370f424..00cd33d22 100644
--- a/localization/v2.5.x/site/de/adminGuide/authenticate.json
+++ b/localization/v2.5.x/site/de/adminGuide/authenticate.json
@@ -1 +1 @@
-{"codeList":["...\ncommon:\n...\n security:\n authorizationEnabled: false\n...\n","...\nextraConfigFiles:\n user.yaml: |+\n common:\n security:\n authorizationEnabled: true\n...\n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n config:\n common:\n security:\n authorizationEnabled: true\n","# use default `root` user to connect to Milvus\n\nfrom pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri='http://localhost:19530', # replace with your own Milvus server address\n token=\"root:Milvus\"\n) \n","# create a user\nclient.create_user(\n user_name=\"user_1\",\n password=\"P@ssw0rd\",\n)\n\n# verify the user has been created\n\nclient.describe_user(\"user_1\")\n\n# output\n# {'user_name': 'user_1', 'roles': ()}\n","# connect to milvus with the newly created user\n\nclient = MilvusClient(\n uri=\"http://localhost:19530\",\n token=\"user_1:P@ssw0rd\"\n)\n","# update password\n\nclient.update_password(\n user_name=\"user_1\",\n old_password=\"P@ssw0rd\",\n new_password=\"P@ssw0rd123\"\n)\n","common:\n security:\n superUsers: root, foo\n","client.drop_user(user_name=\"user_1\")\n","# list all users\n\nclient.list_users()\n"],"headingContent":"Authenticate User Access","anchorList":[{"label":"Authenticate User Access","href":"Authenticate-User-Access","type":1,"isActive":false},{"label":"Enable user authentication","href":"Enable-user-authentication","type":2,"isActive":false},{"label":"Connect to Milvus with authentication","href":"Connect-to-Milvus-with-authentication","type":2,"isActive":false},{"label":"Create a new user","href":"Create-a-new-user","type":2,"isActive":false},{"label":"Connect to Milvus with a new user","href":"Connect-to-Milvus-with-a-new-user","type":2,"isActive":false},{"label":"Update user password","href":"Update-user-password","type":2,"isActive":false},{"label":"Drop a user","href":"Drop-a-user","type":2,"isActive":false},{"label":"List all users","href":"List-all-users","type":2,"isActive":false},{"label":"Limitations","href":"Limitations","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["...\ncommon:\n...\n security:\n authorizationEnabled: false\n...\n","...\nextraConfigFiles:\n user.yaml: |+\n common:\n security:\n authorizationEnabled: true\n...\n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n config:\n common:\n security:\n authorizationEnabled: true\n","# use default `root` user to connect to Milvus\n\nfrom pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri='http://localhost:19530', # replace with your own Milvus server address\n token=\"root:Milvus\"\n) \n","# create a user\nclient.create_user(\n user_name=\"user_1\",\n password=\"P@ssw0rd\",\n)\n\n# verify the user has been created\n\nclient.describe_user(\"user_1\")\n\n# output\n# {'user_name': 'user_1', 'roles': ()}\n","# connect to milvus with the newly created user\n\nclient = MilvusClient(\n uri=\"http://localhost:19530\",\n token=\"user_1:P@ssw0rd\"\n)\n","# update password\n\nclient.update_password(\n user_name=\"user_1\",\n old_password=\"P@ssw0rd\",\n new_password=\"P@ssw0rd123\"\n)\n","common:\n security:\n superUsers: root, foo\n","client.drop_user(user_name=\"user_1\")\n","# list all users\n\nclient.list_users()\n"],"headingContent":"Authenticate User Access","anchorList":[{"label":"Benutzerzugriff authentifizieren","href":"Authenticate-User-Access","type":1,"isActive":false},{"label":"Aktivieren der Benutzerauthentifizierung","href":"Enable-user-authentication","type":2,"isActive":false},{"label":"Verbindung zu Milvus mit Authentifizierung","href":"Connect-to-Milvus-with-authentication","type":2,"isActive":false},{"label":"Erstellen Sie einen neuen Benutzer","href":"Create-a-new-user","type":2,"isActive":false},{"label":"Verbindung zu Milvus mit einem neuen Benutzer","href":"Connect-to-Milvus-with-a-new-user","type":2,"isActive":false},{"label":"Benutzerpasswort aktualisieren","href":"Update-user-password","type":2,"isActive":false},{"label":"Einen Benutzer löschen","href":"Drop-a-user","type":2,"isActive":false},{"label":"Alle Benutzer auflisten","href":"List-all-users","type":2,"isActive":false},{"label":"Beschränkungen","href":"Limitations","type":2,"isActive":false},{"label":"Was kommt als Nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/authenticate.md b/localization/v2.5.x/site/de/adminGuide/authenticate.md
index b01af0c7f..e023484fe 100644
--- a/localization/v2.5.x/site/de/adminGuide/authenticate.md
+++ b/localization/v2.5.x/site/de/adminGuide/authenticate.md
@@ -1,9 +1,11 @@
---
id: authenticate.md
-summary: Learn how to manage user authentication in Milvus.
-title: Authenticate User Access
+summary: >-
+ Erfahren Sie, wie Sie die Benutzerauthentifizierung in Milvus verwalten
+ können.
+title: Benutzerzugriff authentifizieren
---
-
Authenticate User Access
+
Benutzerzugriff authentifizieren
-
This guide explains how to manage user authentication in Milvus, including enabling authentication, connecting as a user, and modifying user credentials.
+
In diesem Handbuch wird erklärt, wie die Benutzerauthentifizierung in Milvus verwaltet wird, einschließlich der Aktivierung der Authentifizierung, der Verbindung als Benutzer und der Änderung der Benutzeranmeldedaten.
-
TLS and user authentication are two distinct security approaches. If you have enabled both user authentication and TLS in your Milvus system, you must provide a username, password, and certificate file paths. For information on how to enable TLS, refer to Encryption in Transit.
-
The code snippets on this page use new MilvusClient (Python) to interact with Milvus. New MilvusClient SDKs for other languages will be released in future updates.
+
TLS und Benutzerauthentifizierung sind zwei unterschiedliche Sicherheitsansätze. Wenn Sie sowohl die Benutzerauthentifizierung als auch TLS in Ihrem Milvus-System aktiviert haben, müssen Sie einen Benutzernamen, ein Passwort und Pfade für Zertifikatsdateien angeben. Informationen zur Aktivierung von TLS finden Sie unter Verschlüsselung bei der Übermittlung.
+
Die Codeschnipsel auf dieser Seite verwenden den neuen MilvusClient (Python) zur Interaktion mit Milvus. Neue MilvusClient SDKs für andere Sprachen werden in zukünftigen Updates veröffentlicht.
To enable user authentication for your Milvus server, set common.security.authorizationEnabled to true in the Milvus config file milvus.yaml. For more information on configs, refer to Configure Milvus with Docker Compose.
+
Um die Benutzerauthentifizierung für Ihren Milvus-Server zu aktivieren, setzen Sie common.security.authorizationEnabled in der Milvus-Konfigurationsdatei milvus.yaml auf true. Weitere Informationen zu Konfigurationen finden Sie unter Konfigurieren von Milvus mit Docker Compose.
To enable user authentication for your Milvus server, set authorizationEnabled to true in the Milvus config file values.yaml. For more information on configs, refer to Configure Milvus with Helm Charts.
+
Um die Benutzerauthentifizierung für Ihren Milvus-Server zu aktivieren, setzen Sie authorizationEnabled in der Milvus-Konfigurationsdatei values.yaml auf true. Weitere Informationen zu Konfigurationen finden Sie unter Konfigurieren von Milvus mit Helm Charts.
To enable authentication, set spec.common.security.authorizationEnabled to true in the Milvus CRD. For more information on Milvus CRD, refer to Configure Milvus with Milvus Operator.
+
Um die Authentifizierung zu aktivieren, setzen Sie spec.common.security.authorizationEnabled in der CRD von Milvus auf true. Weitere Informationen zu Milvus CRD finden Sie unter Konfigurieren von Milvus mit Milvus Operator.
After enabling authentication, you need to connect to Milvus using a username and password. By default, the root user is created with the password Milvus when Milvus is initiated. Here is an example of how to connect to Milvus with authentication enabled using the default root user:
+
Nachdem Sie die Authentifizierung aktiviert haben, müssen Sie eine Verbindung zu Milvus mit einem Benutzernamen und einem Passwort herstellen. Standardmäßig wird der Benutzer root mit dem Kennwort Milvus erstellt, wenn Milvus gestartet wird. Hier ein Beispiel für die Verbindung zu Milvus mit aktivierter Authentifizierung unter Verwendung des Standardbenutzers root:
# use default `root` user to connect to Milvusfrom pymilvus import MilvusClient
@@ -108,9 +107,8 @@ client = MilvusClient(
)
-If you fail to provide a valid token when connecting to Milvus with authentication enabled, you will receive a gRPC error.
-
-
Create a new user
+Wenn Sie bei der Verbindung zu Milvus mit aktivierter Authentifizierung kein gültiges Token angeben, erhalten Sie einen gRPC-Fehler.
+
Erstellen Sie einen neuen Benutzer
-
Once connected as the default root user, you can create and authenticate a new user as follows:
+
Wenn Sie mit dem Standardbenutzer root verbunden sind, können Sie wie folgt einen neuen Benutzer erstellen und authentifizieren:
# create a user
client.create_user(
user_name="user_1",
@@ -139,8 +137,8 @@ client.describe_user("user_1")
# output# {'user_name': 'user_1', 'roles': ()}
-
For more information on creating users, refer to create_user().
-
Connect to Milvus with a new user
+
Weitere Informationen zum Erstellen von Benutzern finden Sie unter create_user().
+
Verbindung zu Milvus mit einem neuen Benutzer
-
Connect using the credentials of the newly created user:
+
Verbinden Sie sich mit den Anmeldeinformationen des neu angelegten Benutzers:
# connect to milvus with the newly created user
client = MilvusClient(
@@ -163,7 +161,7 @@ client = MilvusClient(
token="user_1:P@ssw0rd"
)
-
Update user password
+
Benutzerpasswort aktualisieren
-
Change the password for an existing user with the following code:
+
Ändern Sie das Passwort für einen bestehenden Benutzer mit dem folgenden Code:
For more information on updating user passwords, refer to update_password().
-
If you forget your old password, Milvus provides a configuration item that allows you to designate certain users as super users. This eliminates the need for the old password when you reset the password.
-
By default, the common.security.superUsers field in the Milvus configuration file is empty, meaning that all users must provide the old password when resetting their password. However, you can designate specific users as super users who do not need to provide the old password. In the snippet below, root and foo are designated as super users.
-
You should add the below configuration item in the Milvus configuration file that governs the running of your Milvus instance.
+
Weitere Informationen zum Aktualisieren von Benutzerpasswörtern finden Sie in update_password().
+
Wenn Sie Ihr altes Passwort vergessen haben, bietet Milvus einen Konfigurationspunkt an, der es Ihnen ermöglicht, bestimmte Benutzer als Superuser zu bestimmen. Dadurch wird das alte Passwort nicht mehr benötigt, wenn Sie das Passwort zurücksetzen.
+
Standardmäßig ist das Feld common.security.superUsers in der Milvus-Konfigurationsdatei leer, was bedeutet, dass alle Benutzer beim Zurücksetzen ihres Passworts das alte Passwort angeben müssen. Sie können jedoch bestimmte Benutzer als Superuser bezeichnen, die das alte Passwort nicht angeben müssen. Im folgenden Ausschnitt werden root und foo als Superuser bezeichnet.
+
Sie sollten den folgenden Konfigurationspunkt in der Milvus-Konfigurationsdatei hinzufügen, die den Betrieb Ihrer Milvus-Instanz regelt.
common:
security:
superUsers: root, foo
-
Drop a user
+
Einen Benutzer löschen
-
To drop a user, use the drop_user() method.
+
Um einen Benutzer zu löschen, verwenden Sie die Methode drop_user().
client.drop_user(user_name="user_1")
-To drop a user, you cannot be the user being dropped. Otherwise, an error will be raised.
-
-
List all users
+Um einen Benutzer zu löschen, dürfen Sie nicht der zu löschende Benutzer sein. Andernfalls wird ein Fehler ausgelöst.
+
Alle Benutzer auflisten
-
List all the users.
+
Alle Benutzer auflisten.
# list all users
client.list_users()
-
Limitations
+
Beschränkungen
-
Username must not be empty, and must not exceed 32 characters in length. It must start with a letter, and only contains underscores, letters, or numbers.
-
Password must have at least 6 characters and must not exceed 256 characters in length.
+
Der Benutzername darf nicht leer sein und darf nicht länger als 32 Zeichen sein. Er muss mit einem Buchstaben beginnen und darf nur Unterstriche, Buchstaben oder Zahlen enthalten.
+
Das Passwort muss aus mindestens 6 Zeichen bestehen und darf nicht länger als 256 Zeichen sein.
diff --git a/localization/v2.5.x/site/de/adminGuide/chunk_cache.json b/localization/v2.5.x/site/de/adminGuide/chunk_cache.json
index 9eef682eb..b6f8bc4c2 100644
--- a/localization/v2.5.x/site/de/adminGuide/chunk_cache.json
+++ b/localization/v2.5.x/site/de/adminGuide/chunk_cache.json
@@ -1 +1 @@
-{"codeList":["queryNode:\n cache:\n warmup: async\n"],"headingContent":"Configure Chunk Cache","anchorList":[{"label":"Configure Chunk Cache","href":"Configure-Chunk-Cache","type":1,"isActive":false},{"label":"Background","href":"Background","type":2,"isActive":false},{"label":"Configure Chunk Cache","href":"Configure-Chunk-Cache","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["queryNode:\n cache:\n warmup: async\n"],"headingContent":"Configure Chunk Cache","anchorList":[{"label":"Chunk-Cache konfigurieren","href":"Configure-Chunk-Cache","type":1,"isActive":false},{"label":"Hintergrund","href":"Background","type":2,"isActive":false},{"label":"Chunk-Cache konfigurieren","href":"Configure-Chunk-Cache","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/chunk_cache.md b/localization/v2.5.x/site/de/adminGuide/chunk_cache.md
index 818b64de2..32884eb64 100644
--- a/localization/v2.5.x/site/de/adminGuide/chunk_cache.md
+++ b/localization/v2.5.x/site/de/adminGuide/chunk_cache.md
@@ -1,8 +1,8 @@
---
id: chunk_cache.md
-title: Configure Chunk Cache
+title: Chunk-Cache konfigurieren
---
-
Configure Chunk Cache
+
Chunk-Cache konfigurieren
-
The chunk cache mechanism enables Milvus to pre-load data into cache on the local hard disk of the query nodes before it is needed. This mechanism significantly improves vector retrieval performance by reducing the time it takes to load data from disk to memory.
-
Background
+
Der Chunk-Cache-Mechanismus ermöglicht es Milvus, Daten in den Cache auf der lokalen Festplatte der Abfrageknoten zu laden, bevor sie benötigt werden. Dieser Mechanismus verbessert die Leistung des Vektorabrufs erheblich, da die Zeit, die zum Laden der Daten von der Festplatte in den Speicher benötigt wird, reduziert wird.
+
Hintergrund
-
Before conducting queries to retrieve vectors, Milvus needs to load the data from object storage to the memory cache on the local hard disk of the query nodes. This is a time-consuming process. Before all data is loaded, Milvus may respond to some vector retrieval requests with a delay.
-
To improve the query performance, Milvus provides a chunk cache mechanism to pre-load data from object storage into the cache on the local hard disk before it is needed. When a query request is received, the Segcore first checks if the data is in the cache, instead of the object storage. If the data is in the cache, Segcore can quickly retrieve it from the cache and return the result to the client.
-
Configure Chunk Cache
+
Vor der Durchführung von Abfragen zum Abrufen von Vektoren muss Milvus die Daten aus dem Objektspeicher in den Speichercache auf der lokalen Festplatte der Abfrageknoten laden. Dies ist ein zeitaufwändiger Prozess. Bevor alle Daten geladen sind, kann Milvus auf einige Vektorabfragen mit einer Verzögerung reagieren.
+
Um die Abfrageleistung zu verbessern, bietet Milvus einen Chunk-Cache-Mechanismus, um Daten aus dem Objektspeicher in den Cache auf der lokalen Festplatte zu laden, bevor sie benötigt werden. Wenn eine Abfrageanforderung eingeht, prüft der Segcore zunächst, ob sich die Daten im Cache und nicht im Objektspeicher befinden. Wenn sich die Daten im Cache befinden, kann Segcore sie schnell aus dem Cache abrufen und das Ergebnis an den Client zurückgeben.
+
Chunk-Cache konfigurieren
-
This guide provides instructions on how to configure the chunk cache mechanism for a Milvus instance. Configuration varies with the way you install the Milvus instance.
+
Dieser Leitfaden enthält Anweisungen zur Konfiguration des Chunk-Cache-Mechanismus für eine Milvus-Instanz. Die Konfiguration hängt von der Art und Weise ab, wie Sie die Milvus-Instanz installieren.
Für Milvus-Instanzen, die mit Docker Compose installiert wurden
+
Fügen Sie die Konfiguration in die Datei milvus.yaml ein, die Sie zum Starten der Milvus-Instanz verwendet haben. Einzelheiten finden Sie unter Konfigurieren von Milvus mit Docker Compose.
+
Für Milvus-Instanzen, die mit Operator installiert wurden
+
Fügen Sie die Konfiguration in den Abschnitt spec.components der benutzerdefinierten Ressource Milvus ein. Weitere Informationen finden Sie unter Konfigurieren von Milvus mit Operator.
-
Configuration options
queryNode:
+
Konfigurationsoptionen
queryNode:
cache:
warmup: async
-
The warmup parameter determines whether Milvus pre-loads data from the object storage into the cache on the local hard disk of the query nodes before it is needed. This parameter defaults to disable. Possible options are as follows:
+
Der Parameter warmup bestimmt, ob Milvus Daten aus dem Objektspeicher in den Cache auf der lokalen Festplatte der Abfrageknoten lädt, bevor sie benötigt werden. Die Voreinstellung für diesen Parameter ist disable. Mögliche Optionen sind wie folgt:
-
async: Milvus pre-loads data asynchronously in the background, which does not affect the time it takes to load a collection. However, users may experience a delay when retrieving vectors for a short period of time after the load process is complete. This is the default option.
-
sync: Milvus pre-loads data synchronously, which may affect the time it takes to load a collection. However, users can perform queries immediately after the load process is complete without any delay.
-
disable: Milvus does not pre-load data into the memory cache.
+
async: Milvus lädt die Daten asynchron im Hintergrund vor, was sich nicht auf die Zeit auswirkt, die zum Laden einer Sammlung benötigt wird. Allerdings kann es beim Abrufen von Vektoren zu einer kurzen Verzögerung kommen, nachdem der Ladevorgang abgeschlossen ist. Dies ist die Standardoption.
+
sync: Milvus lädt die Daten synchron vor, was sich auf die Ladezeit einer Sammlung auswirken kann. Benutzer können jedoch Abfragen sofort nach Abschluss des Ladevorgangs ohne Verzögerung durchführen.
+
disable: Milvus lädt die Daten nicht vorab in den Speicher-Cache.
-
Note that the chunk cache settings also apply when new data is inserted into collections or the collection indexes are rebuilt.
+
Beachten Sie, dass die Chunk-Cache-Einstellungen auch dann gelten, wenn neue Daten in Sammlungen eingefügt oder die Sammlungsindizes neu erstellt werden.
FAQ
-
How can I determine whether the chunk cache mechanism is working correctly?
-
You are advised to check the latency of a search or query request after loading a collection. If the latency is significantly higher than expected (e.g., several seconds), it may indicate that the chunk cache mechanism is still working.
-
If the query latency stays high for a long time. You can check the throughput of the object storage to ensure that the chunk cache is still working. In normal cases, the working chunk cache will generate high throughput on the object storage. Alternatively, you can simply try chunk cache in the sync mode.
+
Wie kann ich feststellen, ob der Chunk-Cache-Mechanismus korrekt funktioniert?
+
Es wird empfohlen, die Latenzzeit einer Such- oder Abfrageanfrage nach dem Laden einer Sammlung zu überprüfen. Wenn die Latenzzeit deutlich höher ist als erwartet (z. B. mehrere Sekunden), kann dies ein Hinweis darauf sein, dass der Chunk-Cache-Mechanismus noch funktioniert.
+
Wenn die Abfragelatenz über einen längeren Zeitraum hoch bleibt. Sie können den Durchsatz des Objektspeichers überprüfen, um sicherzustellen, dass der Chunk-Cache noch funktioniert. In normalen Fällen erzeugt der funktionierende Chunk-Cache einen hohen Durchsatz auf dem Objektspeicher. Alternativ können Sie den Chunk-Cache auch einfach im Modus sync ausprobieren.
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.json b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.json
index cd076d3cd..ad6005f76 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.json
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.json
@@ -1 +1 @@
-{"codeList":["variable \"index_count\" {\n description = \"Amount of index instances to run\"\n type = number\n default = 5\n}\n","variable \"index_ec2_type\" {\n description = \"Which server type\"\n type = string\n default = \"c5.2xlarge\"\n}\n","variable \"key_name\" {\n description = \"Which aws key to use for access into instances, needs to be uploaded already\"\n type = string\n default = \"\"\n}\n\nvariable \"my_ip\" {\n description = \"my_ip for security group. used so that ansible and terraform can ssh in\"\n type = string\n default = \"x.x.x.x/32\"\n}\n","provider \"aws\" {\n profile = \"default\"\n region = \"us-east-2\"\n}\n","resource \"aws_security_group\" \"cluster_sg\" {\n name = \"cluster_sg\"\n description = \"Allows only me to access\"\n vpc_id = aws_vpc.cluster_vpc.id\n\n ingress {\n description = \"All ports from my IP\"\n from_port = 0\n to_port = 65535\n protocol = \"tcp\"\n cidr_blocks = [var.my_ip]\n }\n\n ingress {\n description = \"Full subnet communication\"\n from_port = 0\n to_port = 65535\n protocol = \"all\"\n self = true\n }\n\n egress {\n from_port = 0\n to_port = 0\n protocol = \"-1\"\n cidr_blocks = [\"0.0.0.0/0\"]\n ipv6_cidr_blocks = [\"::/0\"]\n }\n\n tags = {\n Name = \"cluster_sg\"\n }\n}\n","resource \"aws_vpc\" \"cluster_vpc\" {\n cidr_block = \"10.0.0.0/24\"\n tags = {\n Name = \"cluster_vpc\"\n }\n}\n\nresource \"aws_internet_gateway\" \"cluster_gateway\" {\n vpc_id = aws_vpc.cluster_vpc.id\n\n tags = {\n Name = \"cluster_gateway\"\n }\n}\n","resource \"aws_subnet\" \"cluster_subnet\" {\n vpc_id = aws_vpc.cluster_vpc.id\n cidr_block = \"10.0.0.0/24\"\n map_public_ip_on_launch = true\n\n tags = {\n Name = \"cluster_subnet\"\n }\n}\n\nresource \"aws_route_table\" \"cluster_subnet_gateway_route\" {\n vpc_id = aws_vpc.cluster_vpc.id\n\n route {\n cidr_block = \"0.0.0.0/0\"\n gateway_id = aws_internet_gateway.cluster_gateway.id\n }\n\n tags = {\n Name = \"cluster_subnet_gateway_route\"\n }\n}\n\nresource \"aws_route_table_association\" \"cluster_subnet_add_gateway\" {\n subnet_id = aws_subnet.cluster_subnet.id\n route_table_id = aws_route_table.cluster_subnet_gateway_route.id\n}\n\n","resource \"aws_instance\" \"minio_node\" {\n count = var.minio_count\n ami = \"ami-0d8d212151031f51c\"\n instance_type = var.minio_ec2_type\n key_name = var.key_name\n subnet_id = aws_subnet.cluster_subnet.id \n vpc_security_group_ids = [aws_security_group.cluster_sg.id]\n\n root_block_device {\n volume_type = \"gp2\"\n volume_size = 1000\n }\n \n tags = {\n Name = \"minio-${count.index + 1}\"\n }\n}\n","git clone https://github.com/milvus-io/milvus.git\n","$ cd ./milvus/deployments/docker/cluster-distributed-deployment\n","[dockernodes] #Add docker host names.\ndockernode01\ndockernode02\ndockernode03\n\n[admin] #Add Ansible controller name.\nansible-controller\n\n[coords] #Add the host names of Milvus coordinators.\n; Take note the IP of this host VM, and replace 10.170.0.17 with it.\ndockernode01\n\n[nodes] #Add the host names of Milvus nodes.\ndockernode02\n\n[dependencies] #Add the host names of Milvus dependencies.\n; dependencies node will host etcd, minio, pulsar, these 3 roles are the foundation of Milvus. \n; Take note the IP of this host VM, and replace 10.170.0.19 with it.\ndockernode03\n\n[docker:children]\ndockernodes\ncoords\nnodes\ndependencies\n\n[docker:vars]\nansible_python_interpreter= /usr/bin/python3\nStrictHostKeyChecking= no\n\n; Setup variables to control what type of network to use when creating containers.\ndependencies_network= host\nnodes_network= host\n\n; Setup varibale to control what version of Milvus image to use.\nimage= milvusdb/milvus-dev:master-20220412-4781db8a\n\n; Setup static IP addresses of the docker hosts as variable for container environment variable config.\n; Before running the playbook, below 4 IP addresses need to be replaced with the IP of your host VM\n; on which the etcd, minio, pulsar, coordinators will be hosted.\netcd_ip= 10.170.0.19\nminio_ip= 10.170.0.19\npulsar_ip= 10.170.0.19\ncoords_ip= 10.170.0.17\n\n; Setup container environment which later will be used in container creation.\nETCD_ENDPOINTS= {{etcd_ip}}:2379 \nMINIO_ADDRESS= {{minio_ip}}:9000\nPULSAR_ADDRESS= pulsar://{{pulsar_ip}}:6650\nQUERY_COORD_ADDRESS= {{coords_ip}}:19531\nDATA_COORD_ADDRESS= {{coords_ip}}:13333\nROOT_COORD_ADDRESS= {{coords_ip}}:53100\nINDEX_COORD_ADDRESS= {{coords_ip}}:31000\n","[defaults]\nhost_key_checking = False\ninventory = inventory.ini # Specify the Inventory file\nprivate_key_file=~/.my_ssh_keys/gpc_sshkey # Specify the SSH key that Ansible uses to access Docker host\n","---\n- name: setup pre-requisites # Install prerequisite\n hosts: all\n become: yes\n become_user: root\n roles:\n - install-modules\n - configure-hosts-file\n\n- name: install docker\n become: yes\n become_user: root\n hosts: dockernodes\n roles:\n - docker-installation\n","$ ansible all -m ping\n","dockernode01 | SUCCESS => {\n\"changed\": false,\n\"ping\": \"pong\"\n}\nansible-controller | SUCCESS => {\n \"ansible_facts\": {\n \"discovered_interpreter_python\": \"/usr/bin/python3\"\n },\n \"changed\": false,\n \"ping\": \"pong\"\n}\ndockernode03 | SUCCESS => {\n \"changed\": false,\n \"ping\": \"pong\"\n}\ndockernode02 | SUCCESS => {\n \"changed\": false,\n \"ping\": \"pong\"\n}\n","$ ansible-playbook deploy-docker.yml --syntax-check\n","playbook: deploy-docker.yml\n","$ ansible-playbook deploy-docker.yml\n","TASK [docker-installation : Install Docker-CE] *******************************************************************\nok: [dockernode01]\nok: [dockernode03]\nok: [dockernode02]\n\nTASK [docker-installation : Install python3-docker] **************************************************************\nok: [dockernode01]\nok: [dockernode02]\nok: [dockernode03]\n\nTASK [docker-installation : Install docker-compose python3 library] **********************************************\nchanged: [dockernode01]\nchanged: [dockernode03]\nchanged: [dockernode02]\n\nPLAY RECAP *******************************************************************************************************\nansible-controller : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode01 : ok=10 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode02 : ok=10 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode03 : ok=10 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\n","$ docker -v\n","$ sudo docker -v\n","Docker version 20.10.14, build a224086\n","$ docker ps\n","$ ansible-playbook deploy-milvus.yml --syntax-check\n","playbook: deploy-milvus.yml\n","$ ansible-playbook deploy-milvus.yml\n","PLAY [Create milvus-etcd, minio, pulsar] *****************************************************************\n\nTASK [Gathering Facts] ********************************************************************************************\nok: [dockernode03]\n\nTASK [etcd] *******************************************************************************************************\nchanged: [dockernode03]\n\nTASK [pulsar] *****************************************************************************************************\nchanged: [dockernode03]\n\nTASK [minio] ******************************************************************************************************\nchanged: [dockernode03]\n\nPLAY [Create milvus nodes] ****************************************************************************************\n\nTASK [Gathering Facts] ********************************************************************************************\nok: [dockernode02]\n\nTASK [querynode] **************************************************************************************************\nchanged: [dockernode02]\n\nTASK [datanode] ***************************************************************************************************\nchanged: [dockernode02]\n\nTASK [indexnode] **************************************************************************************************\nchanged: [dockernode02]\n\nPLAY [Create milvus coords] ***************************************************************************************\n\nTASK [Gathering Facts] ********************************************************************************************\nok: [dockernode01]\n\nTASK [rootcoord] **************************************************************************************************\nchanged: [dockernode01]\n\nTASK [datacoord] **************************************************************************************************\nchanged: [dockernode01]\n\nTASK [querycoord] *************************************************************************************************\nchanged: [dockernode01]\n\nTASK [indexcoord] *************************************************************************************************\nchanged: [dockernode01]\n\nTASK [proxy] ******************************************************************************************************\nchanged: [dockernode01]\n\nPLAY RECAP ********************************************************************************************************\ndockernode01 : ok=6 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode02 : ok=4 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode03 : ok=4 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\n"],"headingContent":"(Deprecated) Deploy a Milvus Cluster on EC2","anchorList":[{"label":"(Deprecated) Deploy a Milvus Cluster on EC2","href":"Deprecated-Deploy-a-Milvus-Cluster-on-EC2","type":1,"isActive":false},{"label":"Provision a Milvus cluster","href":"Provision-a-Milvus-cluster","type":2,"isActive":false},{"label":"Start the Milvus cluster","href":"Start-the-Milvus-cluster","type":2,"isActive":false},{"label":"Stop nodes","href":"Stop-nodes","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["variable \"index_count\" {\n description = \"Amount of index instances to run\"\n type = number\n default = 5\n}\n","variable \"index_ec2_type\" {\n description = \"Which server type\"\n type = string\n default = \"c5.2xlarge\"\n}\n","variable \"key_name\" {\n description = \"Which aws key to use for access into instances, needs to be uploaded already\"\n type = string\n default = \"\"\n}\n\nvariable \"my_ip\" {\n description = \"my_ip for security group. used so that ansible and terraform can ssh in\"\n type = string\n default = \"x.x.x.x/32\"\n}\n","provider \"aws\" {\n profile = \"default\"\n region = \"us-east-2\"\n}\n","resource \"aws_security_group\" \"cluster_sg\" {\n name = \"cluster_sg\"\n description = \"Allows only me to access\"\n vpc_id = aws_vpc.cluster_vpc.id\n\n ingress {\n description = \"All ports from my IP\"\n from_port = 0\n to_port = 65535\n protocol = \"tcp\"\n cidr_blocks = [var.my_ip]\n }\n\n ingress {\n description = \"Full subnet communication\"\n from_port = 0\n to_port = 65535\n protocol = \"all\"\n self = true\n }\n\n egress {\n from_port = 0\n to_port = 0\n protocol = \"-1\"\n cidr_blocks = [\"0.0.0.0/0\"]\n ipv6_cidr_blocks = [\"::/0\"]\n }\n\n tags = {\n Name = \"cluster_sg\"\n }\n}\n","resource \"aws_vpc\" \"cluster_vpc\" {\n cidr_block = \"10.0.0.0/24\"\n tags = {\n Name = \"cluster_vpc\"\n }\n}\n\nresource \"aws_internet_gateway\" \"cluster_gateway\" {\n vpc_id = aws_vpc.cluster_vpc.id\n\n tags = {\n Name = \"cluster_gateway\"\n }\n}\n","resource \"aws_subnet\" \"cluster_subnet\" {\n vpc_id = aws_vpc.cluster_vpc.id\n cidr_block = \"10.0.0.0/24\"\n map_public_ip_on_launch = true\n\n tags = {\n Name = \"cluster_subnet\"\n }\n}\n\nresource \"aws_route_table\" \"cluster_subnet_gateway_route\" {\n vpc_id = aws_vpc.cluster_vpc.id\n\n route {\n cidr_block = \"0.0.0.0/0\"\n gateway_id = aws_internet_gateway.cluster_gateway.id\n }\n\n tags = {\n Name = \"cluster_subnet_gateway_route\"\n }\n}\n\nresource \"aws_route_table_association\" \"cluster_subnet_add_gateway\" {\n subnet_id = aws_subnet.cluster_subnet.id\n route_table_id = aws_route_table.cluster_subnet_gateway_route.id\n}\n\n","resource \"aws_instance\" \"minio_node\" {\n count = var.minio_count\n ami = \"ami-0d8d212151031f51c\"\n instance_type = var.minio_ec2_type\n key_name = var.key_name\n subnet_id = aws_subnet.cluster_subnet.id \n vpc_security_group_ids = [aws_security_group.cluster_sg.id]\n\n root_block_device {\n volume_type = \"gp2\"\n volume_size = 1000\n }\n \n tags = {\n Name = \"minio-${count.index + 1}\"\n }\n}\n","git clone https://github.com/milvus-io/milvus.git\n","$ cd ./milvus/deployments/docker/cluster-distributed-deployment\n","[dockernodes] #Add docker host names.\ndockernode01\ndockernode02\ndockernode03\n\n[admin] #Add Ansible controller name.\nansible-controller\n\n[coords] #Add the host names of Milvus coordinators.\n; Take note the IP of this host VM, and replace 10.170.0.17 with it.\ndockernode01\n\n[nodes] #Add the host names of Milvus nodes.\ndockernode02\n\n[dependencies] #Add the host names of Milvus dependencies.\n; dependencies node will host etcd, minio, pulsar, these 3 roles are the foundation of Milvus. \n; Take note the IP of this host VM, and replace 10.170.0.19 with it.\ndockernode03\n\n[docker:children]\ndockernodes\ncoords\nnodes\ndependencies\n\n[docker:vars]\nansible_python_interpreter= /usr/bin/python3\nStrictHostKeyChecking= no\n\n; Setup variables to control what type of network to use when creating containers.\ndependencies_network= host\nnodes_network= host\n\n; Setup varibale to control what version of Milvus image to use.\nimage= milvusdb/milvus-dev:master-20220412-4781db8a\n\n; Setup static IP addresses of the docker hosts as variable for container environment variable config.\n; Before running the playbook, below 4 IP addresses need to be replaced with the IP of your host VM\n; on which the etcd, minio, pulsar, coordinators will be hosted.\netcd_ip= 10.170.0.19\nminio_ip= 10.170.0.19\npulsar_ip= 10.170.0.19\ncoords_ip= 10.170.0.17\n\n; Setup container environment which later will be used in container creation.\nETCD_ENDPOINTS= {{etcd_ip}}:2379 \nMINIO_ADDRESS= {{minio_ip}}:9000\nPULSAR_ADDRESS= pulsar://{{pulsar_ip}}:6650\nQUERY_COORD_ADDRESS= {{coords_ip}}:19531\nDATA_COORD_ADDRESS= {{coords_ip}}:13333\nROOT_COORD_ADDRESS= {{coords_ip}}:53100\nINDEX_COORD_ADDRESS= {{coords_ip}}:31000\n","[defaults]\nhost_key_checking = False\ninventory = inventory.ini # Specify the Inventory file\nprivate_key_file=~/.my_ssh_keys/gpc_sshkey # Specify the SSH key that Ansible uses to access Docker host\n","---\n- name: setup pre-requisites # Install prerequisite\n hosts: all\n become: yes\n become_user: root\n roles:\n - install-modules\n - configure-hosts-file\n\n- name: install docker\n become: yes\n become_user: root\n hosts: dockernodes\n roles:\n - docker-installation\n","$ ansible all -m ping\n","dockernode01 | SUCCESS => {\n\"changed\": false,\n\"ping\": \"pong\"\n}\nansible-controller | SUCCESS => {\n \"ansible_facts\": {\n \"discovered_interpreter_python\": \"/usr/bin/python3\"\n },\n \"changed\": false,\n \"ping\": \"pong\"\n}\ndockernode03 | SUCCESS => {\n \"changed\": false,\n \"ping\": \"pong\"\n}\ndockernode02 | SUCCESS => {\n \"changed\": false,\n \"ping\": \"pong\"\n}\n","$ ansible-playbook deploy-docker.yml --syntax-check\n","playbook: deploy-docker.yml\n","$ ansible-playbook deploy-docker.yml\n","TASK [docker-installation : Install Docker-CE] *******************************************************************\nok: [dockernode01]\nok: [dockernode03]\nok: [dockernode02]\n\nTASK [docker-installation : Install python3-docker] **************************************************************\nok: [dockernode01]\nok: [dockernode02]\nok: [dockernode03]\n\nTASK [docker-installation : Install docker-compose python3 library] **********************************************\nchanged: [dockernode01]\nchanged: [dockernode03]\nchanged: [dockernode02]\n\nPLAY RECAP *******************************************************************************************************\nansible-controller : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode01 : ok=10 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode02 : ok=10 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode03 : ok=10 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\n","$ docker -v\n","$ sudo docker -v\n","Docker version 20.10.14, build a224086\n","$ docker ps\n","$ ansible-playbook deploy-milvus.yml --syntax-check\n","playbook: deploy-milvus.yml\n","$ ansible-playbook deploy-milvus.yml\n","PLAY [Create milvus-etcd, minio, pulsar] *****************************************************************\n\nTASK [Gathering Facts] ********************************************************************************************\nok: [dockernode03]\n\nTASK [etcd] *******************************************************************************************************\nchanged: [dockernode03]\n\nTASK [pulsar] *****************************************************************************************************\nchanged: [dockernode03]\n\nTASK [minio] ******************************************************************************************************\nchanged: [dockernode03]\n\nPLAY [Create milvus nodes] ****************************************************************************************\n\nTASK [Gathering Facts] ********************************************************************************************\nok: [dockernode02]\n\nTASK [querynode] **************************************************************************************************\nchanged: [dockernode02]\n\nTASK [datanode] ***************************************************************************************************\nchanged: [dockernode02]\n\nTASK [indexnode] **************************************************************************************************\nchanged: [dockernode02]\n\nPLAY [Create milvus coords] ***************************************************************************************\n\nTASK [Gathering Facts] ********************************************************************************************\nok: [dockernode01]\n\nTASK [rootcoord] **************************************************************************************************\nchanged: [dockernode01]\n\nTASK [datacoord] **************************************************************************************************\nchanged: [dockernode01]\n\nTASK [querycoord] *************************************************************************************************\nchanged: [dockernode01]\n\nTASK [indexcoord] *************************************************************************************************\nchanged: [dockernode01]\n\nTASK [proxy] ******************************************************************************************************\nchanged: [dockernode01]\n\nPLAY RECAP ********************************************************************************************************\ndockernode01 : ok=6 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode02 : ok=4 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\ndockernode03 : ok=4 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0\n"],"headingContent":"(Deprecated) Deploy a Milvus Cluster on EC2","anchorList":[{"label":"(Veraltet) Einrichten eines Milvus-Clusters auf EC2","href":"Deprecated-Deploy-a-Milvus-Cluster-on-EC2","type":1,"isActive":false},{"label":"Bereitstellung eines Milvus-Clusters","href":"Provision-a-Milvus-cluster","type":2,"isActive":false},{"label":"Starten des Milvus-Clusters","href":"Start-the-Milvus-cluster","type":2,"isActive":false},{"label":"Knoten stoppen","href":"Stop-nodes","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.md b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.md
index d56fe2895..dbec1dd23 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.md
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws.md
@@ -1,10 +1,10 @@
---
id: aws.md
-title: Deploy a Milvus Cluster on EC2
+title: Einrichten eines Milvus-Clusters auf EC2
related_key: cluster
-summary: Learn how to deploy a Milvus cluster on AWS EC2.
+summary: 'Erfahren Sie, wie Sie einen Milvus-Cluster auf AWS EC2 bereitstellen.'
---
-
(Deprecated) Deploy a Milvus Cluster on EC2
+
(Veraltet) Einrichten eines Milvus-Clusters auf EC2
-
This topic describes how to deploy a Milvus cluster on Amazon EC2 with Terraform and Ansible.
+
Dieses Thema beschreibt die Bereitstellung eines Milvus-Clusters auf Amazon EC2 mit Terraform und Ansible.
Dieser Abschnitt beschreibt, wie Sie Terraform zur Bereitstellung eines Milvus-Clusters verwenden.
+
Terraform ist ein Infrastructure as Code (IaC) Software-Tool. Mit Terraform können Sie Infrastrukturen mit Hilfe von deklarativen Konfigurationsdateien bereitstellen.
You can download template configuration files at Google Drive.
+
Konfiguration vorbereiten
Sie können Vorlagenkonfigurationsdateien bei Google Drive herunterladen.
main.tf
-
This file contains the configuration for provisioning a Milvus cluster.
+
Diese Datei enthält die Konfiguration für die Bereitstellung eines Milvus-Clusters.
variables.tf
-
This file allows quick editing of variables used to set up or update a Milvus cluster.
-
output.tf and inventory.tmpl
-
These files store the metadata of a Milvus cluster. The metadata used in this topic is the public_ip for each node instance, private_ip for each node instance, and all EC2 instance IDs.
+
Diese Datei ermöglicht eine schnelle Bearbeitung der Variablen, die zum Einrichten oder Aktualisieren eines Milvus-Clusters verwendet werden.
+
output.tf und inventory.tmpl
+
Diese Dateien speichern die Metadaten eines Milvus-Clusters. Die in diesem Thema verwendeten Metadaten sind die public_ip für jede Knoteninstanz, private_ip für jede Knoteninstanz und alle EC2-Instanz-IDs.
-
Prepare variables.tf
This section describes the configuration that a variables.tf file that contains.
+
Variablen vorbereiten.tf
Dieser Abschnitt beschreibt die Konfiguration, die eine variables.tf Datei enthält.
-
Number of nodes
-
The following template declares an index_count variable used to set the number of index nodes.
-
The value of index_count must be greater than or equal to one.
+
Anzahl der Knoten
+
Die folgende Vorlage deklariert eine index_count Variable, die verwendet wird, um die Anzahl der Indexknoten festzulegen.
+
Der Wert von index_count muss größer als oder gleich eins sein.
variable "index_count" {
description = "Amount of index instances to run"type = number
default = 5
}
-
Instance type for a node type
-
The following template declares an index_ec2_type variable used to set the instance type for index nodes.
+
Instanztyp für einen Knotentyp
+
Die folgende Vorlage deklariert eine index_ec2_type Variable, die verwendet wird, um den Instanztyp für Indexknoten festzulegen.
The following template declares a key_name variable and a my_ip variable. The key_name variable represents the AWS access key. The my_ip variable represents the IP address range for a security group.
+
Zugriffsberechtigung
+
Die folgende Vorlage deklariert eine key_name Variable und eine my_ip Variable. Die Variable key_name steht für den AWS-Zugangsschlüssel. Die Variable my_ip stellt den IP-Adressbereich für eine Sicherheitsgruppe dar.
variable "key_name" {
description = "Which aws key to use for access into instances, needs to be uploaded already"type = string
@@ -87,17 +87,17 @@ variable "my_ip" {
}
-
Prepare main.tf
This section describes the configurations that a main.tf file that contains.
+
main.tf vorbereiten
Dieser Abschnitt beschreibt die Konfigurationen, die eine main.tf Datei enthält.
-
Cloud provider and region
-
The following template uses the us-east-2 region. See Available Regions for more information.
+
Cloud-Anbieter und Region
+
Die folgende Vorlage verwendet die Region us-east-2. Siehe Verfügbare Regionen für weitere Informationen.
provider "aws" {
profile = "default"
region = "us-east-2"
}
-
Security group
-
The following template declares a security group that allows incoming traffic from the CIDR address range represented by my_ip declared in variables.tf.
+
Sicherheitsgruppe
+
Die folgende Vorlage deklariert eine Sicherheitsgruppe, die eingehenden Datenverkehr aus dem CIDR-Adressbereich zulässt, der durch my_ip repräsentiert und in variables.tf deklariert wird.
resource "aws_security_group""cluster_sg" {
name = "cluster_sg"
description = "Allows only me to access"
@@ -133,7 +133,7 @@ variable "my_ip" {
}
VPC
-
The following template specifies a VPC with the 10.0.0.0/24 CIDR block on a Milvus cluster.
+
Die folgende Vorlage legt eine VPC mit dem CIDR-Block 10.0.0.0/24 auf einem Milvus-Cluster fest.
The following template declares a subnet whose traffic is routed to an internet gateway. In this case, the size of the subnet’s CIDR block is the same as the VPC’s CIDR block.
+
Subnetze (Optional)
+
Die folgende Vorlage deklariert ein Subnetz, dessen Verkehr an ein Internet-Gateway geleitet wird. In diesem Fall ist die Größe des CIDR-Blocks des Subnetzes die gleiche wie die des CIDR-Blocks des VPCs.
The following template declares a MinIO node instance. The main.tf template file declares nodes of 11 node types. For some node types, you need to set root_block_device. See EBS, Ephemeral, and Root Block Devices for more information.
+
Knoteninstanzen (Nodes)
+
Die folgende Vorlage deklariert eine MinIO-Knoteninstanz. Die Vorlagendatei main.tf deklariert Knoten von 11 Knotentypen. Für einige Knotentypen müssen Sie root_block_device einstellen. Weitere Informationen finden Sie unter EBS, Ephemeral und Root Block Devices.
Klonen Sie das Milvus-Repository von GitHub, um das Ansible Milvus Node Deployment Playbook herunterzuladen.
git clone https://github.com/milvus-io/milvus.git
-
Configure installation files
The inventory.ini and ansible.cfg files are used to control the environment variables and log-in verification methods in Ansible playbook. In the inventory.ini file, the dockernodes section defines all the servers of docker engines. The ansible.cfg section defines all the servers of Milvus coordinators. The node section defines all the servers of Milvus nodes.
-
Enter the local path to the Playbook and configure the installation files.
+
Konfigurieren Sie die Installationsdateien
Die Dateien inventory.ini und ansible.cfg werden verwendet, um die Umgebungsvariablen und die Verifizierungsmethoden für die Anmeldung im Ansible-Playbook zu steuern. In der Datei inventory.ini werden im Abschnitt dockernodes alle Server der Docker-Engines definiert. Der Abschnitt ansible.cfg definiert alle Server der Milvus-Koordinatoren. Der Abschnitt node definiert alle Server der Milvus-Knoten.
+
Geben Sie den lokalen Pfad zum Playbook ein und konfigurieren Sie die Installationsdateien.
$ cd ./milvus/deployments/docker/cluster-distributed-deployment
-
inventory.ini
Configure inventory.ini to divide hosts in groups in accordance with their roles in the Milvus system.
-
Add host names, and define docker group and vars.
+
inventory.ini
Konfigurieren Sie inventory.ini, um die Hosts entsprechend ihrer Rolle im Milvus-System in Gruppen einzuteilen.
+
Fügen Sie Hostnamen hinzu, und definieren Sie die Gruppen docker und vars.
ansible.cfg controls the action of the playbook, for example, SSH key, etc. Do not set up passphrase via the SSH key on docker hosts. Otherwise, the Ansible SSH connection will fail. We recommend setting up the same username and SSH key on the three hosts and setting up the new user account to execute sudo without a password. Otherwise, you will receive errors that the user name does not match the password or you are not granted elevated privileges when running Ansible playbook.
+
ansible.cfg
ansible.cfg steuert die Aktion des Playbooks, z. B. SSH-Schlüssel usw. Richten Sie keine Passphrase über den SSH-Schlüssel auf Docker-Hosts ein. Andernfalls wird die Ansible SSH-Verbindung fehlschlagen. Wir empfehlen, auf allen drei Hosts denselben Benutzernamen und SSH-Schlüssel einzurichten und das neue Benutzerkonto so einzurichten, dass es sudo ohne Passwort ausführen kann. Andernfalls erhalten Sie die Fehlermeldung, dass der Benutzername nicht mit dem Kennwort übereinstimmt oder dass Sie beim Ausführen des Ansible-Playbooks keine erhöhten Rechte erhalten.
[defaults]
host_key_checking = False
inventory = inventory.ini # Specify the Inventory file
private_key_file=~/.my_ssh_keys/gpc_sshkey # Specify the SSH key that Ansible uses to access Docker host
-
deploy-docker.yml
deploy-docker.yml defines the tasks during the installation of Docker. See the code comments in the file for details.
+
deploy-docker.yml
deploy-docker.yml definiert die Aufgaben während der Installation von Docker. Siehe die Code-Kommentare in der Datei für Details.
Add -i in the command to specify the path to the inventory file if you did not specify it in ansible.cfg, otherwise Ansible uses /etc/ansible/hosts.
-
The terminal returns as follow:
+
Fügen Sie -i in den Befehl ein, um den Pfad zur Inventarisierungsdatei anzugeben, wenn Sie ihn nicht in ansible.cfg angegeben haben. Andernfalls verwendet Ansible /etc/ansible/hosts.
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.json b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.json
index d47272193..b03e90780 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.json
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.json
@@ -1 +1 @@
-{"codeList":["helm upgrade milvus-demo milvus/milvus -n milvus --set service.type=ClusterIP\n","# If the import-certificate command is successful, it returns the arn of the imported certificate.\naws acm import-certificate --certificate fileb://Certificate.pem \\\n --certificate-chain fileb://CertificateChain.pem \\\n --private-key fileb://PrivateKey.pem \n","apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n namespace: milvus\n name: milvus-demo\n annotations:\n alb.ingress.kubernetes.io/scheme: internet-facing\n alb.ingress.kubernetes.io/backend-protocol-version: GRPC\n alb.ingress.kubernetes.io/target-type: ip\n alb.ingress.kubernetes.io/listen-ports: '[{\"HTTPS\":443}]'\n alb.ingress.kubernetes.io/certificate-arn: \"arn:aws:acm:region:account-id:certificate/certificate-id\"\n\nspec:\n ingressClassName: alb\n rules:\n - host: milvus-demo.milvus.io\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: milvus-demo\n port:\n number: 19530\n","kubectl apply -f ingress.yaml\n","kubectl -f ingress.yaml get -w\n","NAME CLASS HOSTS ADDRESS PORTS AGE\nmilvus-demo alb milvus-demo.milvus.io k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com 80 10m\n","from pymilvus import (\n connections,\n utility,\n FieldSchema,\n CollectionSchema,\n DataType,\n Collection,\n)\n\nconnections.connect(\"default\", host=\"k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com\", port=\"443\", secure=True, server_name=\"milvus-demo.milvus.io\")\n"],"headingContent":"Set up a Layer-7 Load Balancer for Milvus on AWS","anchorList":[{"label":"Set up a Layer-7 Load Balancer for Milvus on AWS","href":"Set-up-a-Layer-7-Load-Balancer-for-Milvus-on-AWS","type":1,"isActive":false},{"label":"Verify the connection through the Layer-7 load balancer","href":"Verify-the-connection-through-the-Layer-7-load-balancer","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["helm upgrade milvus-demo milvus/milvus -n milvus --set service.type=ClusterIP\n","# If the import-certificate command is successful, it returns the arn of the imported certificate.\naws acm import-certificate --certificate fileb://Certificate.pem \\\n --certificate-chain fileb://CertificateChain.pem \\\n --private-key fileb://PrivateKey.pem \n","apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n namespace: milvus\n name: milvus-demo\n annotations:\n alb.ingress.kubernetes.io/scheme: internet-facing\n alb.ingress.kubernetes.io/backend-protocol-version: GRPC\n alb.ingress.kubernetes.io/target-type: ip\n alb.ingress.kubernetes.io/listen-ports: '[{\"HTTPS\":443}]'\n alb.ingress.kubernetes.io/certificate-arn: \"arn:aws:acm:region:account-id:certificate/certificate-id\"\n\nspec:\n ingressClassName: alb\n rules:\n - host: milvus-demo.milvus.io\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: milvus-demo\n port:\n number: 19530\n","kubectl apply -f ingress.yaml\n","kubectl -f ingress.yaml get -w\n","NAME CLASS HOSTS ADDRESS PORTS AGE\nmilvus-demo alb milvus-demo.milvus.io k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com 80 10m\n","from pymilvus import (\n connections,\n utility,\n FieldSchema,\n CollectionSchema,\n DataType,\n Collection,\n)\n\nconnections.connect(\"default\", host=\"k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com\", port=\"443\", secure=True, server_name=\"milvus-demo.milvus.io\")\n"],"headingContent":"Set up a Layer-7 Load Balancer for Milvus on AWS","anchorList":[{"label":"Einrichten eines Layer-7-Load-Balancers für Milvus auf AWS","href":"Set-up-a-Layer-7-Load-Balancer-for-Milvus-on-AWS","type":1,"isActive":false},{"label":"Überprüfen Sie die Verbindung durch den Layer-7-Load-Balancer","href":"Verify-the-connection-through-the-Layer-7-load-balancer","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.md b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.md
index b0837c97d..1e7c9b29c 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.md
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/aws/aws_layer7.md
@@ -1,10 +1,12 @@
---
id: aws_layer7.md
-title: Set up a Layer-7 Load Balancer for Milvus on AWS
+title: Einrichten eines Layer-7-Load-Balancers für Milvus auf AWS
related_key: cluster
-summary: Learn how to deploy a Milvus cluster behind a Layer-7 load balancer on AWS.
+summary: >-
+ Erfahren Sie, wie Sie einen Milvus-Cluster hinter einem Layer-7-Loadbalancer
+ auf AWS bereitstellen.
---
-
Set up a Layer-7 Load Balancer for Milvus on AWS
+
Einrichten eines Layer-7-Load-Balancers für Milvus auf AWS
-
When compared to a Layer-4 load balancer, a Layer-7 load balancer offers smart load balancing and caching capabilities and is a great choice for cloud-native services.
-
This guide walks you through setting up a layer-7 load balancer for a Milvus cluster already running behind a Layer-4 load balancer.
Im Vergleich zu einem Layer-4-Load-Balancer bietet ein Layer-7-Load-Balancer intelligente Load-Balancing- und Caching-Funktionen und ist eine gute Wahl für Cloud-native Services.
+
Diese Anleitung führt Sie durch die Einrichtung eines Layer-7 Load Balancers für einen Milvus-Cluster, der bereits hinter einem Layer-4 Load Balancer läuft.
Bevor Sie einen Layer-7-Loadbalancer für diesen Milvus-Cluster einrichten, führen Sie den folgenden Befehl aus, um den Layer-4-Loadbalancer zu entfernen.
TLS requires certificates to work. We’re using ACM to manage certificates and need to import an existing certificate into ACM. Refer to Import Certificate. The following is an example.
+
TLS-Zertifikate vorbereiten
TLS erfordert Zertifikate, um zu funktionieren. Wir verwenden ACM zur Verwaltung von Zertifikaten und müssen ein vorhandenes Zertifikat in ACM importieren. Siehe Zertifikat importieren. Im Folgenden finden Sie ein Beispiel.
# If the import-certificate command is successful, it returns the arn of the imported certificate.
aws acm import-certificate --certificate fileb://Certificate.pem \
--certificate-chain fileb://CertificateChain.pem \
--private-key fileb://PrivateKey.pem
-
Create an Ingress to generate a Layer-7 Load Balancer
Prepare the ingress file as follows and name it ingress.yaml. Do replace the certificate arn and host with your own.
+
Erstellen Sie einen Ingress, um einen Layer-7 Load Balancer zu erzeugen
Bereiten Sie die Ingress-Datei wie folgt vor und nennen Sie sie ingress.yaml. Ersetzen Sie das Zertifikat arn und host durch Ihr eigenes.
Then you can create the Ingress by applying the file to your EKS cluster.
+
Dann können Sie den Ingress erstellen, indem Sie die Datei auf Ihren EKS-Cluster anwenden.
kubectl apply -f ingress.yaml
-
Now, wait for AWS to set up the Layer-7 load balancer. You can check the progress by running
+
Warten Sie nun darauf, dass AWS den Layer-7-Loadbalancer einrichtet. Sie können den Fortschritt überprüfen, indem Sie
kubectl -f ingress.yaml get -w
-
The output should be similar to the following:
+
Die Ausgabe sollte in etwa so aussehen wie die folgende:
NAME CLASS HOSTS ADDRESS PORTS AGE
milvus-demo alb milvus-demo.milvus.io k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com 80 10m
-
Once an address is displayed in the ADDRESS field, the Layer-7 load balancer is ready to use.
-
Verify the connection through the Layer-7 load balancer
+
Sobald eine Adresse im Feld ADDRESS angezeigt wird, ist der Layer-7-Load-Balancer einsatzbereit.
+
Überprüfen Sie die Verbindung durch den Layer-7-Load-Balancer
-
This guide uses PyMilvus to verify the connection to the Milvus service behind the Layer-7 load balancer we have just created. For detailed steps, read this.
+
In dieser Anleitung wird PyMilvus verwendet, um die Verbindung zum Milvus-Dienst hinter dem soeben erstellten Layer-7-Load-Balancer zu überprüfen. Für detaillierte Schritte, lesen Sie dies.
The host and server_name should replace with your own.
-
If you have set up a DNS record to map domain name to the alb, replace the host with the domain name and omit server_name.
+
Den host und server_name sollten Sie durch Ihren eigenen ersetzen.
+
Wenn Sie einen DNS-Eintrag eingerichtet haben, um den Domänennamen der alb zuzuordnen, ersetzen Sie host durch den Domänennamen und lassen Sie server_name weg.
This topic describes how to deploy a Milvus cluster on Amazon EKS.
-
Prerequisites
+
Dieses Thema beschreibt, wie Sie einen Milvus-Cluster auf Amazon EKS bereitstellen.
+
Voraussetzungen
-
You have AWS CLI installed on your local PC or an Amazon EC2, which will serve as your endpoint to do the operations covered in this document. For an Amazon Linux 2 or Amazon Linux 2023, the AWS CLI tools are already installed. To install AWS CLi on your local PC. Refer to How to install AWS CLI.
-
You have installed Kubernetes and EKS tools installed on the preferred endpoint device, including:
-
+
Sie haben AWS CLI auf Ihrem lokalen PC oder einer Amazon EC2 installiert, die Ihnen als Endpunkt für die in diesem Dokument beschriebenen Vorgänge dienen wird. Auf einem Amazon Linux 2 oder Amazon Linux 2023 sind die AWS CLI-Tools bereits installiert. So installieren Sie AWS CLi auf Ihrem lokalen PC. Siehe AWS CLI installieren.
+
Sie haben Kubernetes und die EKS-Tools auf dem bevorzugten Endgerät installiert, einschließlich:
AWS IAM permissions have been granted properly. The IAM security principal you are using must have permission to use Amazon EKS IAM roles, service-related roles, AWS CloudFormation, VPCs, and other related resources. You can follow either of the following ways to grant your principal proper permissions.
-
-
(Not recommended) Simply set the association policy of the user/role that you used to AWS managed policy AdministratorAccess.
-
(Strongly recommended) To implement the principle of least privilege, do as follows:
-
To set up permission for creating/deleting AWS S3 buckets, refer to the following permission settings:
+
Die AWS IAM-Berechtigungen wurden ordnungsgemäß erteilt. Der von Ihnen verwendete IAM-Sicherheitsprinzipal muss die Berechtigung haben, Amazon EKS IAM-Rollen, servicebezogene Rollen, AWS CloudFormation, VPCs und andere zugehörige Ressourcen zu verwenden. Sie können eine der folgenden Möglichkeiten nutzen, um Ihrem Principal die richtigen Berechtigungen zu erteilen.
+
(Nicht empfohlen) Setzen Sie einfach die Zuordnungsrichtlinie des Benutzers/der Rolle, die Sie verwendet haben, auf die von AWS verwaltete Richtlinie AdministratorAccess.
+
(Dringend empfohlen) Gehen Sie wie folgt vor, um das Prinzip der geringsten Privilegien umzusetzen:
Um die Berechtigung für das Erstellen/Löschen von AWS S3-Buckets einzurichten, beachten Sie die folgenden Berechtigungseinstellungen:
{
"Version": "2012-10-17",
"Statement": [
@@ -69,7 +66,7 @@ summary: Learn how to deploy a Milvus cluster on EKS
]
}
-
To set up permissions for creating/deleting IAM policies, refer to the following permission settings. Do replace YOUR_ACCOUNT_ID with your own.
+
Um die Berechtigung zum Erstellen/Löschen von IAM-Richtlinien einzurichten, beachten Sie die folgenden Berechtigungseinstellungen. Ersetzen Sie YOUR_ACCOUNT_ID durch Ihre eigenen.
{
"Version": "2012-10-17",
"Statement": [
@@ -88,7 +85,7 @@ summary: Learn how to deploy a Milvus cluster on EKS
-
Set up AWS Resources
+
AWS-Ressourcen einrichten
-
You can set up the required AWS resources, including an AWS S3 bucket and an EKS cluster, using either AWS Management Console, AWS CLI, or IaC tools, such as Terraform. In this document, the AWS CLI is preferred to demonstrate how to set up the AWS resources.
-
Create an Amazon S3 Bucket
-
Create an AWS S3 bucket.
-
Read Bucket Naming Rules and observe the naming rules when naming your AWS S3 bucket.
+
Sie können die erforderlichen AWS-Ressourcen, einschließlich eines AWS S3-Buckets und eines EKS-Clusters, entweder mit der AWS Management Console, AWS CLI oder IaC-Tools wie Terraform einrichten. In diesem Dokument wird die AWS CLI bevorzugt, um zu zeigen, wie die AWS-Ressourcen eingerichtet werden.
+
Erstellen eines Amazon S3-Buckets
+
Erstellen Sie einen AWS S3 Bucket.
+
Lesen Sie die Bucket-Namensregeln und beachten Sie die Namensregeln bei der Benennung Ihres AWS S3-Buckets.
Create an IAM policy for reading and writing objects within the bucket created above. Do replace the bucket name with your own.
+
Erstellen Sie eine IAM-Richtlinie für das Lesen und Schreiben von Objekten innerhalb des oben erstellten Buckets. Ersetzen Sie den Bucket-Namen durch Ihren eigenen.
Prepare the Milvus configuration file milvus.yaml, and replace <bucket-name> <s3-access-key> <s3-secret-key> with your own.
+
Bereiten Sie die Milvus-Konfigurationsdatei milvus.yaml vor, und ersetzen Sie <bucket-name> <s3-access-key> <s3-secret-key> durch Ihre eigene.
-
To configure HA for your Milvus, refer to this calculator for more information. You can download the related configurations directly from the calculator, and you should remove MinIO-related configurations.
-
To implement multi-replica deployments of coordinators, set xxCoordinator.activeStandby.enabled to true.
+
Um HA für Ihren Milvus zu konfigurieren, lesen Sie diesen Rechner für weitere Informationen. Sie können die entsprechenden Konfigurationen direkt aus dem Rechner herunterladen und sollten MinIO-bezogene Konfigurationen entfernen.
+
Um Multi-Replica-Einsätze von Koordinatoren zu implementieren, setzen Sie xxCoordinator.activeStandby.enabled auf true.
Helm does not support scheduling the order of service creation. It is normal that business pods to restart for one or two times before etcd and pulsar are up in the early stage.
+
Helm unterstützt nicht die Planung der Reihenfolge der Service-Erstellung. Es ist normal, dass Business-Pods ein oder zwei Mal neu gestartet werden, bevor etcd und pulsar in der Anfangsphase verfügbar sind.
-
Get Milvus service address.
+
Ermitteln Sie die Milvus-Dienstadresse.
kubectl get svc -n milvus
-
Verify the installation
+
Überprüfen Sie die Installation
-
You can follow the simple guide below to verify the installation. For more details, refer to this example.
+
Sie können die Installation anhand der folgenden einfachen Anleitung überprüfen. Weitere Details finden Sie in diesem Beispiel.
Die Ausgabe sollte in etwa so aussehen wie die folgende:
=== start connecting to Milvus ===
Does collection hello_milvus exist in Milvus: False
@@ -465,7 +462,7 @@ query after delete by expr=`pk
-
Clean-up works
+
Aufräumen funktioniert
-
In case you need to restore the environment by uninstalling Milvus, destroying the EKS cluster, and deleting the AWS S3 buckets and related IAM policies.
+
Falls Sie die Umgebung wiederherstellen müssen, indem Sie Milvus deinstallieren, den EKS-Cluster zerstören und die AWS S3-Buckets und die zugehörigen IAM-Richtlinien löschen.
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.json b/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.json
index 898dbe7df..6a7774766 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.json
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.json
@@ -1 +1 @@
-{"codeList":["milvus_bucket_name=\"milvus-bucket-$(openssl rand -hex 12)\"\n\naws s3api create-bucket --bucket \"$milvus_bucket_name\" --region 'us-east-2' --acl private --object-ownership ObjectWriter --create-bucket-configuration LocationConstraint='us-east-2'\n\n\n# Output\n#\n# \"Location\": \"http://milvus-bucket-039dd013c0712f085d60e21f.s3.amazonaws.com/\"\n","echo '{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:ListBucket\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:DeleteObject\",\n \"s3:GetObject\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::/*\"\n ]\n }\n ]\n}' > milvus-s3-policy.json\n\naws iam create-policy --policy-name MilvusS3ReadWrite --policy-document file://milvus-s3-policy.json\n\n\n# Get the ARN from the command output as follows:\n# {\n# \"Policy\": {\n# \"PolicyName\": \"MilvusS3ReadWrite\",\n# \"PolicyId\": \"AN5QQVVPM1BVTFlBNkdZT\",\n# \"Arn\": \"arn:aws:iam::12345678901:policy/MilvusS3ReadWrite\",\n# \"Path\": \"/\",\n# \"DefaultVersionId\": \"v1\",\n# \"AttachmentCount\": 0,\n# \"PermissionsBoundaryUsageCount\": 0,\n# \"IsAttachable\": true,\n# \"CreateDate\": \"2023-11-16T06:00:01+00:00\",\n# \"UpdateDate\": \"2023-11-16T06:00:01+00:00\"\n# }\n# } \n","eksctl create iamserviceaccount --name milvus-s3-access-sa --namespace milvus --cluster milvus-eks-cluster --role-name milvus-s3-access-sa \\\n --attach-policy-arn arn:aws:iam:::policy/MilvusS3ReadWrite --approve\n","aws iam get-role --role-name milvus-s3-access-sa --query Role.AssumeRolePolicyDocument\n# An example output is as follows\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Federated\": \"arn:aws:iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE\"\n },\n \"Action\": \"sts:AssumeRoleWithWebIdentity\",\n \"Condition\": {\n \"StringEquals\": {\n \"oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub\": \"system:serviceaccount:default:my-service-account\",\n \"oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud\": \"sts.amazonaws.com\"\n }\n }\n }\n ]\n}\n","aws iam list-attached-role-policies --role-name milvus-s3-access-sa --query 'AttachedPolicies[].PolicyArn' --output text\n# An example output is as follows\narn:aws:iam::12345678901:policy/MilvusS3ReadWrite\n","export policy_arn='arn:aws:iam::12345678901:policy/MilvusS3ReadWrite'\naws iam get-policy --policy-arn $policy_arn\n# An example output is as follows\n{\n \"Policy\": {\n \"PolicyName\": \"MilvusS3ReadWrite\",\n \"PolicyId\": \"EXAMPLEBIOWGLDEXAMPLE\",\n \"Arn\": \"arn:aws:iam::12345678901:policy/MilvusS3ReadWrite\",\n \"Path\": \"/\",\n \"DefaultVersionId\": \"v2\",\n [...]\n }\n}\n","aws iam get-policy-version --policy-arn $policy_arn --version-id v2\n# An example output is as follows\n{\n \"PolicyVersion\": {\n \"Document\": {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n \"s3:DeleteObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::\",\n \"arn:aws:s3:::/*\"\n ]\n }\n ]\n },\n [...]\n }\n}\n","kubectl describe serviceaccount milvus-s3-access-sa -n milvus\n# An example output is as follows\nName: milvus-s3-access-sa\nNamespace: milvus\nLabels: app.kubernetes.io/managed-by=eksctl\nAnnotations: eks.amazonaws.com/role-arn: arn:aws:iam::12345678901:role/milvus-s3-access-sa\n[...]\n","helm repo add milvus https://zilliztech.github.io/milvus-helm/\nhelm repo update\n","cluster:\n enabled: true\n\nservice:\n type: LoadBalancer\n port: 19530\n annotations: \n service.beta.kubernetes.io/aws-load-balancer-type: external\n service.beta.kubernetes.io/aws-load-balancer-name: milvus-service\n service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing\n service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip\n\nserviceAccount:\n create: false\n name: milvus-s3-access-sa\n\nminio:\n enabled: false\n\nexternalS3:\n enabled: true\n host: \"s3.us-east-2.amazonaws.com\"\n port: \"443\"\n useSSL: true\n bucketName: \"\"\n useIAM: true\n cloudProvider: \"aws\"\n iamEndpoint: \"\"\n\nrootCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: 1\n memory: 2Gi\n\nindexCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: \"0.5\"\n memory: 0.5Gi\n\nqueryCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: \"0.5\"\n memory: 0.5Gi\n\ndataCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: \"0.5\"\n memory: 0.5Gi\n\nproxy:\n replicas: 2\n resources: \n limits:\n cpu: 1\n memory: 2Gi \n","helm upgrade --install milvus-demo milvus/milvus -n milvus -f milvus.yaml\n"],"headingContent":"Configure S3 Access by IAM Role","anchorList":[{"label":"Configure S3 Access by IAM Role","href":"Configure-S3-Access-by-IAM-Role","type":1,"isActive":false},{"label":"Before you start","href":"Before-you-start","type":2,"isActive":false},{"label":"Associate an IAM role with a Kubernetes service account","href":"Associate-an-IAM-role-with-a-Kubernetes-service-account","type":2,"isActive":false},{"label":"Verify the role and service account setup","href":"Verify-the-role-and-service-account-setup","type":2,"isActive":false},{"label":"Deploy Milvus","href":"Deploy-Milvus","type":2,"isActive":false},{"label":"Verify the installation","href":"Verify-the-installation","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["milvus_bucket_name=\"milvus-bucket-$(openssl rand -hex 12)\"\n\naws s3api create-bucket --bucket \"$milvus_bucket_name\" --region 'us-east-2' --acl private --object-ownership ObjectWriter --create-bucket-configuration LocationConstraint='us-east-2'\n\n\n# Output\n#\n# \"Location\": \"http://milvus-bucket-039dd013c0712f085d60e21f.s3.amazonaws.com/\"\n","echo '{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:ListBucket\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:DeleteObject\",\n \"s3:GetObject\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::/*\"\n ]\n }\n ]\n}' > milvus-s3-policy.json\n\naws iam create-policy --policy-name MilvusS3ReadWrite --policy-document file://milvus-s3-policy.json\n\n\n# Get the ARN from the command output as follows:\n# {\n# \"Policy\": {\n# \"PolicyName\": \"MilvusS3ReadWrite\",\n# \"PolicyId\": \"AN5QQVVPM1BVTFlBNkdZT\",\n# \"Arn\": \"arn:aws:iam::12345678901:policy/MilvusS3ReadWrite\",\n# \"Path\": \"/\",\n# \"DefaultVersionId\": \"v1\",\n# \"AttachmentCount\": 0,\n# \"PermissionsBoundaryUsageCount\": 0,\n# \"IsAttachable\": true,\n# \"CreateDate\": \"2023-11-16T06:00:01+00:00\",\n# \"UpdateDate\": \"2023-11-16T06:00:01+00:00\"\n# }\n# } \n","eksctl create iamserviceaccount --name milvus-s3-access-sa --namespace milvus --cluster milvus-eks-cluster --role-name milvus-s3-access-sa \\\n --attach-policy-arn arn:aws:iam:::policy/MilvusS3ReadWrite --approve\n","aws iam get-role --role-name milvus-s3-access-sa --query Role.AssumeRolePolicyDocument\n# An example output is as follows\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Federated\": \"arn:aws:iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE\"\n },\n \"Action\": \"sts:AssumeRoleWithWebIdentity\",\n \"Condition\": {\n \"StringEquals\": {\n \"oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub\": \"system:serviceaccount:default:my-service-account\",\n \"oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud\": \"sts.amazonaws.com\"\n }\n }\n }\n ]\n}\n","aws iam list-attached-role-policies --role-name milvus-s3-access-sa --query 'AttachedPolicies[].PolicyArn' --output text\n# An example output is as follows\narn:aws:iam::12345678901:policy/MilvusS3ReadWrite\n","export policy_arn='arn:aws:iam::12345678901:policy/MilvusS3ReadWrite'\naws iam get-policy --policy-arn $policy_arn\n# An example output is as follows\n{\n \"Policy\": {\n \"PolicyName\": \"MilvusS3ReadWrite\",\n \"PolicyId\": \"EXAMPLEBIOWGLDEXAMPLE\",\n \"Arn\": \"arn:aws:iam::12345678901:policy/MilvusS3ReadWrite\",\n \"Path\": \"/\",\n \"DefaultVersionId\": \"v2\",\n [...]\n }\n}\n","aws iam get-policy-version --policy-arn $policy_arn --version-id v2\n# An example output is as follows\n{\n \"PolicyVersion\": {\n \"Document\": {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:GetObject\",\n \"s3:PutObject\",\n \"s3:ListBucket\",\n \"s3:DeleteObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::\",\n \"arn:aws:s3:::/*\"\n ]\n }\n ]\n },\n [...]\n }\n}\n","kubectl describe serviceaccount milvus-s3-access-sa -n milvus\n# An example output is as follows\nName: milvus-s3-access-sa\nNamespace: milvus\nLabels: app.kubernetes.io/managed-by=eksctl\nAnnotations: eks.amazonaws.com/role-arn: arn:aws:iam::12345678901:role/milvus-s3-access-sa\n[...]\n","helm repo add milvus https://zilliztech.github.io/milvus-helm/\nhelm repo update\n","cluster:\n enabled: true\n\nservice:\n type: LoadBalancer\n port: 19530\n annotations: \n service.beta.kubernetes.io/aws-load-balancer-type: external\n service.beta.kubernetes.io/aws-load-balancer-name: milvus-service\n service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing\n service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip\n\nserviceAccount:\n create: false\n name: milvus-s3-access-sa\n\nminio:\n enabled: false\n\nexternalS3:\n enabled: true\n host: \"s3.us-east-2.amazonaws.com\"\n port: \"443\"\n useSSL: true\n bucketName: \"\"\n useIAM: true\n cloudProvider: \"aws\"\n iamEndpoint: \"\"\n\nrootCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: 1\n memory: 2Gi\n\nindexCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: \"0.5\"\n memory: 0.5Gi\n\nqueryCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: \"0.5\"\n memory: 0.5Gi\n\ndataCoordinator:\n replicas: 2\n activeStandby:\n enabled: true\n resources: \n limits:\n cpu: \"0.5\"\n memory: 0.5Gi\n\nproxy:\n replicas: 2\n resources: \n limits:\n cpu: 1\n memory: 2Gi \n","helm upgrade --install milvus-demo milvus/milvus -n milvus -f milvus.yaml\n"],"headingContent":"Configure S3 Access by IAM Role","anchorList":[{"label":"Konfigurieren des S3-Zugriffs nach IAM-Rolle","href":"Configure-S3-Access-by-IAM-Role","type":1,"isActive":false},{"label":"Bevor Sie beginnen","href":"Before-you-start","type":2,"isActive":false},{"label":"Zuordnen einer IAM-Rolle zu einem Kubernetes-Servicekonto","href":"Associate-an-IAM-role-with-a-Kubernetes-service-account","type":2,"isActive":false},{"label":"Überprüfen Sie die Einrichtung der Rolle und des Dienstkontos","href":"Verify-the-role-and-service-account-setup","type":2,"isActive":false},{"label":"Milvus bereitstellen","href":"Deploy-Milvus","type":2,"isActive":false},{"label":"Überprüfen Sie die Installation","href":"Verify-the-installation","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.md b/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.md
index d29e88e04..7e2628bd5 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.md
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/aws/s3.md
@@ -1,10 +1,10 @@
---
id: s3.md
-title: Configure S3 Access by IAM Role
+title: Konfigurieren des S3-Zugriffs nach IAM-Rolle
related_key: 's3, storage, iam'
-summary: Learn how to configure s3 with IAM Role.
+summary: 'Erfahren Sie, wie Sie s3 mit IAM Role konfigurieren.'
---
-
Configure S3 Access by IAM Role
+
Konfigurieren des S3-Zugriffs nach IAM-Rolle
-
This topic introduces how to configure s3 access by IAM Role when you install Milvus with helm.
-For more details, refer to IAM roles.
-
Before you start
+
In diesem Thema wird erläutert, wie Sie den S3-Zugriff nach IAM-Rolle konfigurieren, wenn Sie Milvus mit helm installieren. Weitere Einzelheiten finden Sie unter IAM-Rollen.
Confirm that the IAM role’s trust policy is configured correctly.
+
Bestätigen Sie, dass die Vertrauensrichtlinie der IAM-Rolle korrekt konfiguriert ist.
aws iam get-role --role-name milvus-s3-access-sa --query Role.AssumeRolePolicyDocument
# An example output is as follows
@@ -160,14 +158,14 @@ aws iam create-policy --policy-name MilvusS3ReadWrite --policy-document file://m
}
-
Confirm that the policy that you attached to your role in a previous step is attached to the role.
+
Vergewissern Sie sich, dass die Richtlinie, die Sie in einem früheren Schritt an Ihre Rolle angehängt haben, an die Rolle angehängt ist.
aws iam list-attached-role-policies --role-name milvus-s3-access-sa --query 'AttachedPolicies[].PolicyArn' --output text
# An example output is as follows
arn:aws:iam::12345678901:policy/MilvusS3ReadWrite
-
View the default version of the policy.
+
Zeigen Sie die Standardversion der Richtlinie an.
export policy_arn='arn:aws:iam::12345678901:policy/MilvusS3ReadWrite'
aws iam get-policy --policy-arn $policy_arn
@@ -184,7 +182,7 @@ aws iam get-policy --policy-arn $policy_arn
}
-
View the policy contents to make sure that the policy includes all the permissions that your Pod needs. If necessary, replace 1 in the following command with the version that’s returned in the previous output.
+
Überprüfen Sie den Inhalt der Richtlinie, um sicherzustellen, dass die Richtlinie alle Berechtigungen enthält, die Ihr Pod benötigt. Ersetzen Sie ggf. 1 im folgenden Befehl durch die Version, die in der vorherigen Ausgabe zurückgegeben wurde.
aws iam get-policy-version --policy-arn $policy_arn --version-id v2
# An example output is as follows
@@ -213,7 +211,7 @@ aws iam get-policy --policy-arn $policy_arn
}
-
Confirm that the Kubernetes service account is annotated with the role.
+
Vergewissern Sie sich, dass das Kubernetes-Dienstkonto mit der Rolle vermerkt ist.
kubectl describe serviceaccount milvus-s3-access-sa -n milvus
# An example output is as follows
@@ -223,7 +221,7 @@ Labels: app.kubernetes.io/managed-by=eksctl
Annotations: eks.amazonaws.com/role-arn: arn:aws:iam::12345678901:role/milvus-s3-access-sa
[...]
-
Deploy Milvus
+
Milvus bereitstellen
-
In this guide, we will use Milvus Helm Charts to deploy a Milvus cluster. You can find the charts here.
+
In dieser Anleitung werden wir Milvus Helm Charts verwenden, um einen Milvus-Cluster bereitzustellen. Sie finden die Charts hier.
Konfigurieren des Blob-Storage-Zugriffs durch Workload-Identität
-
This topic introduces how to configure Azure Blob Storage access by Workload Identity when you install Milvus with helm.
-For more details, refer to Workload Identity.
-
Configure applications to use Workload Identity
+
In diesem Thema wird erläutert, wie Sie den Azure Blob Storage-Zugriff über Workload-Identität konfigurieren, wenn Sie Milvus mit helm installieren. Weitere Einzelheiten finden Sie unter Workload-Identität.
+
Konfigurieren Sie Anwendungen für die Verwendung von Workload-Identität
Alternatively, you can use the Cloud Shell which has the Azure CLI, kubectl, and Helm preinstalled.
-
After you install the Azure CLI, ensure that you are properly authenticated.
-
Provision a Kubernetes cluster
+
Alternativ können Sie auch die Cloud Shell verwenden, auf der Azure CLI, kubectl und Helm vorinstalliert sind.
+
Stellen Sie nach der Installation von Azure CLI sicher, dass Sie ordnungsgemäß authentifiziert sind.
+
Bereitstellung eines Kubernetes-Clusters
-
Log on to the Azure portal.
-
On the Azure portal menu or from the Home page, select Create a resource.
-
Select Containers > Kubernetes Service.
-
On the Basics page, configure the following options:
+
Melden Sie sich beim Azure-Portal an.
+
Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen.
+
Wählen Sie Container > Kubernetes-Dienst.
+
Konfigurieren Sie auf der Seite " Grundlagen" die folgenden Optionen:
-
Project details:
+
Projektdetails:
-
Subscription: Contact your organization’s Azure Administrator to determine which subscription you should use.
+
Abonnement: Wenden Sie sich an den Azure-Administrator Ihres Unternehmens, um festzustellen, welches Abonnement Sie verwenden sollten.
-
Resource group: Contact your organization’s Azure Administrator to determine which resource group you should use.
+
Ressourcengruppe: Wenden Sie sich an den Azure-Administrator Ihres Unternehmens, um zu ermitteln, welche Ressourcengruppe Sie verwenden sollten.
-
Cluster details:
+
Cluster-Details:
-
Kubernetes cluster name: Enter a cluster name.
-
Region: Select a region.
-
Availability zones: Select availability zones as you need. For production clusters, we recommend that you select multiple availability zones.
+
Kubernetes-Clustername: Geben Sie einen Clusternamen ein.
+
Region: Wählen Sie eine Region aus.
+
Verfügbarkeitszonen: Wählen Sie Verfügbarkeitszonen nach Bedarf aus. Für Produktionscluster wird empfohlen, mehrere Verfügbarkeitszonen auszuwählen.
-
Primary node pool:
+
Primärer Knotenpool:
-
Node size: We recommend that you choose VMs with a minimum of 16 GB of RAM, but you can select virtual machine sizes as you need.
-
Scale method: Choose a scale method.
-
Node count range: Select a range for the number of nodes.
+
Größe des Knotens: Wir empfehlen Ihnen, VMs mit mindestens 16 GB RAM zu wählen, aber Sie können die Größe der virtuellen Maschine nach Bedarf wählen.
+
Skalierungsmethode: Wählen Sie eine Skalierungsmethode.
+
Bereich der Knotenanzahl: Wählen Sie einen Bereich für die Anzahl der Knoten.
-
Node pools:
+
Knotenpools:
-
Enable virtual nodes: Select the checkbox to enable virtual nodes.
-
Enable virtual machine scale sets: We recommend that you choose enabled.
+
Virtuelle Knoten aktivieren: Aktivieren Sie das Kontrollkästchen, um virtuelle Knoten zu aktivieren.
+
Skalierungssätze für virtuelle Maschinen aktivieren: Wir empfehlen, dass Sie enabled wählen.
-
Networking:
+
Netzwerkbetrieb:
-
Network configuration: We recommend that you choose Kubenet.
-
DNS name prefix: Enter a DNS name prefix.
-
Traffic Routing:
+
Netzwerkkonfiguration: Es wird empfohlen, Kubenet zu wählen.
+
DNS-Namen-Präfix: Geben Sie ein DNS-Namenspräfix ein.
+
Traffic-Routing:
-
Load balancer: Standard.
-
HTTP application routing: Not required.
+
Load Balancer: Standard.
+
HTTP-Anwendungs-Routing: Nicht erforderlich.
-
After configuring the options, click Review + create and then Create when validation completes. It takes a few minutes to create the cluster.
+
Nachdem Sie die Optionen konfiguriert haben, klicken Sie auf Überprüfen + Erstellen und dann auf Erstellen, wenn die Überprüfung abgeschlossen ist. Die Erstellung des Clusters nimmt einige Minuten in Anspruch.
-
Connect to the cluster
+
Verbinden Sie sich mit dem Cluster
-
Navigate to the cluster that you have created in Kubernetes services and click it.
-
On the left-side navigation pane, click Overview.
-
On the Overview page that appears, click Connect to view the resource group and subscription.
+
Navigieren Sie zu dem Cluster, den Sie in den Kubernetes-Diensten erstellt haben, und klicken Sie auf ihn.
+
Klicken Sie im Navigationsbereich auf der linken Seite auf Overview.
+
Klicken Sie auf der daraufhin angezeigten Übersichtsseite auf Verbinden, um die Ressourcengruppe und das Abonnement anzuzeigen.
-
Set a subscription and credentials
+
Einrichten eines Abonnements und von Anmeldeinformationen
-
You can use Azure Cloud Shell to perform the following procedures.
+
Sie können Azure Cloud Shell verwenden, um die folgenden Verfahren durchzuführen.
-
Run the following command to set your subscription.
+
Führen Sie den folgenden Befehl aus, um Ihr Abonnement festzulegen.
az account set --subscription EXAMPLE-SUBSCRIPTION-ID
-
Run the following command to download credentials and configure the Kubernetes CLI to use them.
+
Führen Sie den folgenden Befehl aus, um Anmeldeinformationen herunterzuladen und die Kubernetes-CLI für deren Verwendung zu konfigurieren.
az aks get-credentials --resource-group YOUR-RESOURCE-GROUP --name YOUR-CLUSTER-NAME
-Use the same shell for the following procedures. If you switch to another shell, run the preceding commands again.
-
-
Using Azure Blob Storage as external object storage
+Verwenden Sie für die folgenden Vorgänge dieselbe Shell. Wenn Sie zu einer anderen Shell wechseln, führen Sie die vorangegangenen Befehle erneut aus.
+
Verwenden von Azure Blob Storage als externer Objektspeicher
-
Azure Blob Storage is Azure’s version of AWS Simple Storage Service (S3).
+
Azure Blob Storage ist die Azure-Version von AWS Simple Storage Service (S3).
In the preceding commands, we add the repo of Milvus Helm charts locally and update the repo to fetch the latest charts. Then we install a Milvus instance and name it my-release.
-
Notice the config service.type value, which indicates that we would like to expose the Milvus instance through a Layer-4 load balancer.
-
Verify the deployment
+
In den vorangegangenen Befehlen fügen wir das Repo der Milvus Helm Charts lokal hinzu und aktualisieren das Repo, um die neuesten Charts zu holen. Dann installieren wir eine Milvus-Instanz und nennen sie my-release.
+
Beachten Sie den Wert von config service.type, der angibt, dass wir die Milvus-Instanz über einen Layer-4-Loadbalancer bereitstellen möchten.
+
Überprüfen Sie die Bereitstellung
-
Once all pods are running, run the following command to get the external IP address.
+
Sobald alle Pods laufen, führen Sie den folgenden Befehl aus, um die externe IP-Adresse zu ermitteln.
kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'
-
Hello Milvus
+
Hallo Milvus
-
Please refer to Hello Milvus, change the host value to external IP address, then run the code.
-
What’s next
+
Beziehen Sie sich bitte auf Hello Milvus, ändern Sie den Host-Wert in externe IP-Adresse und führen Sie den Code aus.
+
Wie geht's weiter?
-
If you want to learn how to deploy Milvus on other clouds:
+
Wenn Sie erfahren möchten, wie Sie Milvus in anderen Clouds einsetzen können:
kubectl --namespace $NAMESPACE get services -o wide -w ingress-nginx-controller
-
Configure an FQDN for your ingress controller.
+
Konfigurieren Sie einen FQDN für Ihren Ingress-Controller.
# Public IP address of your ingress controller
IP="MY_EXTERNAL_IP"
@@ -74,7 +73,7 @@ az network public-ip update --ids $PUBLICIPID
az network public-ip show --ids $PUBLICIPID --query "[dnsSettings.fqdn]" --output tsv
# sample output: milvustest.eastus2.cloudapp.azure.com
Create a cluster issuer, such as cluster-issuer.yaml, using the following example manifest. Replace MY_EMAIL_ADDRESS with a valid address from your organization.
+
Erstellen Sie einen Cluster Issuer, z. B. cluster-issuer.yaml, unter Verwendung des folgenden Beispielmanifests. Ersetzen Sie MY_EMAIL_ADDRESS durch eine gültige Adresse aus Ihrem Unternehmen.
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.json b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.json
index 2b6aa48d2..f3a1ca49c 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.json
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.json
@@ -1 +1 @@
-{"codeList":["gcloud compute networks create milvus-network \\\n --project=milvus-testing-nonprod \\\n --subnet-mode=auto \\\n --mtu=1460 \\\n --bgp-routing-mode=regional\n","gcloud compute firewall-rules create milvus-network-allow-icmp \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows ICMP connections from any source to any instance on the network.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=0.0.0.0/0 \\\n --action=ALLOW \\\n --rules=icmp\n\ngcloud compute firewall-rules create milvus-network-allow-internal \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows connections from any source in the network IP range to any instance on the network using all protocols.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=10.128.0.0/9 \\\n --action=ALLOW --rules=all\n\ngcloud compute firewall-rules create milvus-network-allow-rdp \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows RDP connections from any source to any instance on the network using port 3389.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=0.0.0.0/0 \\\n --action=ALLOW \\\n --rules=tcp:3389\n\ngcloud compute firewall-rules create milvus-network-allow-ssh \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows TCP connections from any source to any instance on the network using port 22.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=0.0.0.0/0 \\\n --action=ALLOW \\\n --rules=tcp:22\n","gcloud compute firewall-rules create allow-milvus-in \\\n --project=milvus-testing-nonprod \\\n --description=\"Allow ingress traffic for Milvus on port 19530\" \\\n --direction=INGRESS \\\n --priority=1000 \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --action=ALLOW \\\n --rules=tcp:19530 \\\n --source-ranges=0.0.0.0/0\n","gcloud container clusters create \"milvus-cluster-1\" \\\n --project \"milvus-testing-nonprod\" \\\n --zone \"us-west1-a\" \\\n --workload-pool \"milvus-testing-nonprod.svc.id.goog\" \\\n --no-enable-basic-auth \\\n --cluster-version \"1.28.10-gke.1075001\" \\\n --release-channel \"regular\" \\\n --machine-type \"c2-standard-4\" \\\n --image-type \"COS_CONTAINERD\" \\\n --disk-type \"pd-standard\" \\\n --disk-size \"100\" \\\n --max-pods-per-node \"110\" \\\n --num-nodes \"3\" \\\n --enable-ip-alias \\\n --network \"projects/milvus-testing-nonprod/global/networks/milvus-network\" \\\n --subnetwork \"projects/milvus-testing-nonprod/regions/us-west1/subnetworks/milvus-network\"\n","gcloud container clusters get-credentials milvus-cluster-1 --zone \"us-west1-a\"\n","gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access\n","cluster:\n enabled: true\n\nservice:\n type: LoadBalancer\n\nminio:\n enabled: false\n\nexternalS3:\n enabled: true\n host: storage.googleapis.com\n port: 443\n rootPath: milvus/my-release\n bucketName: milvus-testing-nonprod\n cloudProvider: gcp\n useSSL: true\n accessKey: \"\"\n secretKey: \"\"\n","helm repo add milvus https://zilliztech.github.io/milvus-helm/\nhelm repo update\nhelm install -f values.yaml my-release milvus/milvus\n","kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'\n"],"headingContent":"Deploy a Milvus Cluster on GKE","anchorList":[{"label":"Deploy a Milvus Cluster on GKE","href":"Deploy-a-Milvus-Cluster-on-GKE","type":1,"isActive":false},{"label":"Before you start","href":"Before-you-start","type":2,"isActive":false},{"label":"Set up the network","href":"Set-up-the-network","type":2,"isActive":false},{"label":"Provision a Kubernetes cluster","href":"Provision-a-Kubernetes-cluster","type":2,"isActive":false},{"label":"Use Google Cloud Storage (GCS) as external object storage","href":"Use-Google-Cloud-Storage-GCS-as-external-object-storage","type":2,"isActive":false},{"label":"Deploy Milvus","href":"Deploy-Milvus","type":2,"isActive":false},{"label":"Verify the deployment","href":"Verify-the-deployment","type":2,"isActive":false},{"label":"Hello Milvus","href":"Hello-Milvus","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["gcloud compute networks create milvus-network \\\n --project=milvus-testing-nonprod \\\n --subnet-mode=auto \\\n --mtu=1460 \\\n --bgp-routing-mode=regional\n","gcloud compute firewall-rules create milvus-network-allow-icmp \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows ICMP connections from any source to any instance on the network.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=0.0.0.0/0 \\\n --action=ALLOW \\\n --rules=icmp\n\ngcloud compute firewall-rules create milvus-network-allow-internal \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows connections from any source in the network IP range to any instance on the network using all protocols.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=10.128.0.0/9 \\\n --action=ALLOW --rules=all\n\ngcloud compute firewall-rules create milvus-network-allow-rdp \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows RDP connections from any source to any instance on the network using port 3389.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=0.0.0.0/0 \\\n --action=ALLOW \\\n --rules=tcp:3389\n\ngcloud compute firewall-rules create milvus-network-allow-ssh \\\n --project=milvus-testing-nonprod \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --description=\"Allows TCP connections from any source to any instance on the network using port 22.\" \\\n --direction=INGRESS \\\n --priority=65534 \\\n --source-ranges=0.0.0.0/0 \\\n --action=ALLOW \\\n --rules=tcp:22\n","gcloud compute firewall-rules create allow-milvus-in \\\n --project=milvus-testing-nonprod \\\n --description=\"Allow ingress traffic for Milvus on port 19530\" \\\n --direction=INGRESS \\\n --priority=1000 \\\n --network=projects/milvus-testing-nonprod/global/networks/milvus-network \\\n --action=ALLOW \\\n --rules=tcp:19530 \\\n --source-ranges=0.0.0.0/0\n","gcloud container clusters create \"milvus-cluster-1\" \\\n --project \"milvus-testing-nonprod\" \\\n --zone \"us-west1-a\" \\\n --workload-pool \"milvus-testing-nonprod.svc.id.goog\" \\\n --no-enable-basic-auth \\\n --cluster-version \"1.28.10-gke.1075001\" \\\n --release-channel \"regular\" \\\n --machine-type \"c2-standard-4\" \\\n --image-type \"COS_CONTAINERD\" \\\n --disk-type \"pd-standard\" \\\n --disk-size \"100\" \\\n --max-pods-per-node \"110\" \\\n --num-nodes \"3\" \\\n --enable-ip-alias \\\n --network \"projects/milvus-testing-nonprod/global/networks/milvus-network\" \\\n --subnetwork \"projects/milvus-testing-nonprod/regions/us-west1/subnetworks/milvus-network\"\n","gcloud container clusters get-credentials milvus-cluster-1 --zone \"us-west1-a\"\n","gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access\n","cluster:\n enabled: true\n\nservice:\n type: LoadBalancer\n\nminio:\n enabled: false\n\nexternalS3:\n enabled: true\n host: storage.googleapis.com\n port: 443\n rootPath: milvus/my-release\n bucketName: milvus-testing-nonprod\n cloudProvider: gcp\n useSSL: true\n accessKey: \"\"\n secretKey: \"\"\n","helm repo add milvus https://zilliztech.github.io/milvus-helm/\nhelm repo update\nhelm install -f values.yaml my-release milvus/milvus\n","kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'\n"],"headingContent":"Deploy a Milvus Cluster on GKE","anchorList":[{"label":"Bereitstellen eines Milvus-Clusters auf GKE","href":"Deploy-a-Milvus-Cluster-on-GKE","type":1,"isActive":false},{"label":"Bevor Sie beginnen","href":"Before-you-start","type":2,"isActive":false},{"label":"Einrichten des Netzwerks","href":"Set-up-the-network","type":2,"isActive":false},{"label":"Bereitstellung eines Kubernetes-Clusters","href":"Provision-a-Kubernetes-cluster","type":2,"isActive":false},{"label":"Verwenden Sie Google Cloud Storage (GCS) als externen Objektspeicher","href":"Use-Google-Cloud-Storage-GCS-as-external-object-storage","type":2,"isActive":false},{"label":"Milvus bereitstellen","href":"Deploy-Milvus","type":2,"isActive":false},{"label":"Überprüfen Sie den Einsatz","href":"Verify-the-deployment","type":2,"isActive":false},{"label":"Hallo Milvus","href":"Hello-Milvus","type":2,"isActive":false},{"label":"Wie geht's weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.md b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.md
index d3031bd9b..7938bf121 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.md
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp.md
@@ -1,10 +1,10 @@
---
id: gcp.md
-title: Deploy a Milvus Cluster on GKE
+title: Bereitstellen eines Milvus-Clusters auf GKE
related_key: cluster
-summary: Learn how to deploy a Milvus cluster on GKE.
+summary: 'Erfahren Sie, wie Sie einen Milvus-Cluster auf GKE einsetzen.'
---
-
Deploy a Milvus Cluster on GKE
+
Bereitstellen eines Milvus-Clusters auf GKE
-
Milvus is a cloud-native vector database and can be deployed on various cloud environments. This guide walks you through every detail about setting up Milvus on Google Cloud Platform (GCP).
+
Milvus ist eine Cloud-native Vektordatenbank und kann in verschiedenen Cloud-Umgebungen eingesetzt werden. Dieser Leitfaden führt Sie durch alle Details zur Einrichtung von Milvus auf der Google Cloud Platform (GCP).
-
-
- Deploy a Milvus cluster on GCP
-
-
-
Before you start
+
+
+ Bereitstellen eines Milvus-Clusters auf GCP
+
Bevor Sie beginnen
-
To deploy Milvus on GCP, ensure that
+
Um Milvus auf GCP bereitzustellen, müssen Sie sicherstellen, dass
-
A project already exists in your GCP account.
-
To create a project, refer to Creating and managing projects. The name of the project used in this guide is milvus-testing-nonprod.
In Ihrem GCP-Konto ist bereits ein Projekt vorhanden.
+
Wie Sie ein Projekt erstellen können, erfahren Sie unter Erstellen und Verwalten von Projekten. Der Name des in dieser Anleitung verwendeten Projekts ist milvus-testing-nonprod.
+
Sie haben gcloud CLI, kubectl und Helm lokal installiert oder sich entschieden, stattdessen die browserbasierte Cloud Shell zu verwenden.
To ensure Milvus security, you need to create a logically isolated virtual network in your GCP project. The following command creates a VPC.
+
Um die Sicherheit von Milvus zu gewährleisten, müssen Sie ein logisch isoliertes virtuelles Netzwerk in Ihrem GCP-Projekt erstellen. Der folgende Befehl erstellt eine VPC.
To facilitate your work, you also need to set up several firewall rules to allow external traffic over ICMP, RDP, and SSH as well as the traffic within the VPC.
+
Um Ihnen die Arbeit zu erleichtern, müssen Sie außerdem mehrere Firewall-Regeln einrichten, um externen Datenverkehr über ICMP, RDP und SSH sowie den Datenverkehr innerhalb der VPC zuzulassen.
Finally, you need to allow the incoming traffic to the Milvus instance we will create later at port 19530.
+
Schließlich müssen Sie den eingehenden Verkehr zur Milvus-Instanz, die wir später erstellen werden, an Port 19530 zulassen.
gcloud compute firewall-rules create allow-milvus-in \
--project=milvus-testing-nonprod \
--description="Allow ingress traffic for Milvus on port 19530" \
@@ -121,7 +119,7 @@ gcloud compute firewall-rules create milvus-network-allow-ssh \
--rules=tcp:19530 \
--source-ranges=0.0.0.0/0
-
Provision a Kubernetes cluster
+
Bereitstellung eines Kubernetes-Clusters
-
In this guide, we will use the Google Kubernetes Engine (GKE) service to provision a Kubernetes cluster with two nodes in the us-west1-a zone. Each node is an e2-standard-4 Compute Engine virtual machine running the COS_CONTAINERD image.
+
In dieser Anleitung verwenden wir den Dienst Google Kubernetes Engine (GKE) zur Bereitstellung eines Kubernetes-Clusters mit zwei Knoten in der Zone us-west1-a. Jeder Knoten ist eine virtuelle Maschine der e2-standard-4 Compute Engine, auf der das COS_CONTAINERD-Image ausgeführt wird.
-
You are advised to use the types of machines that offer a minimum memory of 16 GB to ensure service stability.
+
Es wird empfohlen, die Maschinentypen zu verwenden, die einen Mindestspeicher von 16 GB bieten, um die Stabilität des Dienstes zu gewährleisten.
It would take a couple of minutes for the Kubernetes cluster to go up. Once the cluster is ready, use the following command to fetch its credentials so that you can run kubectl commands in your terminal to communicate with the cluster remotely.
+
Es dauert ein paar Minuten, bis der Kubernetes-Cluster hochgefahren ist. Sobald der Cluster bereit ist, verwenden Sie den folgenden Befehl, um seine Anmeldeinformationen abzurufen, so dass Sie kubectl Befehle in Ihrem Terminal ausführen können, um mit dem Cluster aus der Ferne zu kommunizieren.
Generate User Access Key and Secret Key, you should go to your project’s storage page. In the left sidebar of the dashboard, click Google Cloud Storage and then Settings. Select the INTEROPERABILITY tab. If you haven’t enabled it already, click on Interoperable Access. Then click CREATE A KEY button to create.
+
Generieren Sie User Access Key und Secret Key, gehen Sie auf die Storage-Seite Ihres Projekts. Klicken Sie in der linken Seitenleiste des Dashboards auf Google Cloud Storage und dann auf Einstellungen. Wählen Sie die Registerkarte INTEROPERABILITÄT. Wenn Sie diese nicht bereits aktiviert haben, klicken Sie auf Interoperabler Zugriff. Klicken Sie dann auf die Schaltfläche CREATE A KEY, um einen Schlüssel zu erstellen.
In the preceding commands, we add the repo of Milvus Helm charts locally and update the repo to fetch the latest charts. Then we install a Milvus instance and name it my-release.
-
Notice the config service.type value, which indicates that we would like to expose the Milvus instance through a Layer-4 load balancer.
-
If you would like to expose your Milvus instance through a Layer-7 load balancer, read this.
-
Verify the deployment
+
In den vorangegangenen Befehlen fügen wir das Repo der Milvus-Helm-Charts lokal hinzu und aktualisieren das Repo, um die neuesten Charts abzurufen. Dann installieren wir eine Milvus-Instanz und nennen sie my-release.
+
Beachten Sie den Wert von config service.type, der angibt, dass wir die Milvus-Instanz über einen Layer-4-Loadbalancer bereitstellen möchten.
+
Wenn Sie Ihre Milvus-Instanz über einen Layer-7-Load-Balancer bereitstellen möchten, lesen Sie dies.
+
Überprüfen Sie den Einsatz
-
Once all pods are running, run the following command to get the external IP address.
+
Sobald alle Pods laufen, führen Sie den folgenden Befehl aus, um die externe IP-Adresse zu ermitteln.
kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'
-
Hello Milvus
+
Hallo Milvus
-
Please refer to Hello Milvus, change the host value to the external IP address, then run the code.
-
What’s next
+
Bitte lesen Sie Hello Milvus, ändern Sie den Host-Wert in die externe IP-Adresse und führen Sie dann den Code aus.
+
Wie geht's weiter?
-
If you want to learn how to deploy Milvus on other clouds:
+
Wenn Sie erfahren möchten, wie Sie Milvus in anderen Clouds einsetzen können:
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.json b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.json
index 54c7fe0d7..9ff817f00 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.json
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.json
@@ -1 +1 @@
-{"codeList":["helm upgrade my-release milvus/milvus --set service.type=ClusterIP\n","helm upgrade my-release milvus/milvus -f tls.yaml\n","extraConfigFiles:\n user.yaml: |+\n common:\n security:\n tlsMode: 1\n","apiVersion: cloud.google.com/v1\nkind: BackendConfig\nmetadata:\n name: my-release-backendconfig\n namespace: default\nspec:\n healthCheck:\n port: 9091\n requestPath: /healthz\n type: HTTP\n","kubectl apply -f backendconfig.yaml\n","kubectl annotate service my-release-milvus \\\n cloud.google.com/app-protocols='{\"milvus\":\"HTTP2\"}' \\\n cloud.google.com/backend-config='{\"default\": \"my-release-backendconfig\"}' \\\n cloud.google.com/neg='{\"ingress\": true}' --overwrite\n","# Generates a tls.key.\nopenssl genrsa -out tls.key 2048\n\n# Creates a certificate and signs it with the preceding key.\nopenssl req -new -key tls.key -out tls.csr \\\n -subj \"/CN=my-release.milvus.io\"\n\nopenssl x509 -req -days 99999 -in tls.csr -signkey tls.key \\\n -out tls.crt\n","kubectl create secret tls my-release-milvus-tls --cert=./tls.crt --key=./tls.key\n","apiVersion: networking.gke.io/v1\nkind: ManagedCertificate\nmetadata:\n name: my-release-milvus-tls\nspec:\n domains:\n - my-release.milvus.io\n","kubectl apply -f ./managed-crt.yaml\n","kubectl get -f ./managed-crt.yaml -o yaml -w\n","status:\n certificateName: mcrt-34446a53-d639-4764-8438-346d7871a76e\n certificateStatus: Provisioning\n domainStatus:\n - domain: my-release.milvus.io\n status: Provisioning\n","apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: my-release-milvus\n namespace: default\nspec:\n tls:\n - hosts:\n - my-release.milvus.io\n secretName: my-release-milvus-tls\n rules:\n - host: my-release.milvus.io\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: my-release-milvus\n port:\n number: 19530\n","apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: my-release-milvus\n namespace: default\n annotations:\n networking.gke.io/managed-certificates: \"my-release-milvus-tls\"\nspec:\n rules:\n - host: my-release.milvus.io\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: my-release-milvus\n port:\n number: 19530\n","kubectl apply -f ingress.yaml\n","kubectl -f ./config/samples/ingress.yaml get -w\n","NAME CLASS HOSTS ADDRESS PORTS AGE\nmy-release-milvus my-release.milvus.io 80 4s\nmy-release-milvus my-release.milvus.io 34.111.144.65 80, 443 41m\n","from pymilvus import (\n connections,\n utility,\n FieldSchema,\n CollectionSchema,\n DataType,\n Collection,\n)\n\n# For self-managed certificates, you need to include the certificate in the parameters used to set up the connection.\nconnections.connect(\"default\", host=\"34.111.144.65\", port=\"443\", server_pem_path=\"tls.crt\", secure=True, server_name=\"my-release.milvus.io\")\n\n# For Google-managed certificates, there is not need to do so.\nconnections.connect(\"default\", host=\"34.111.144.65\", port=\"443\", secure=True, server_name=\"my-release.milvus.io\")\n"],"headingContent":"Set up a Layer-7 Load Balancer for Milvus on GCP","anchorList":[{"label":"Set up a Layer-7 Load Balancer for Milvus on GCP","href":"Set-up-a-Layer-7-Load-Balancer-for-Milvus-on-GCP","type":1,"isActive":false},{"label":"Verify the connection through the Layer-7 load balancer","href":"Verify-the-connection-through-the-Layer-7-load-balancer","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["helm upgrade my-release milvus/milvus --set service.type=ClusterIP\n","helm upgrade my-release milvus/milvus -f tls.yaml\n","extraConfigFiles:\n user.yaml: |+\n common:\n security:\n tlsMode: 1\n","apiVersion: cloud.google.com/v1\nkind: BackendConfig\nmetadata:\n name: my-release-backendconfig\n namespace: default\nspec:\n healthCheck:\n port: 9091\n requestPath: /healthz\n type: HTTP\n","kubectl apply -f backendconfig.yaml\n","kubectl annotate service my-release-milvus \\\n cloud.google.com/app-protocols='{\"milvus\":\"HTTP2\"}' \\\n cloud.google.com/backend-config='{\"default\": \"my-release-backendconfig\"}' \\\n cloud.google.com/neg='{\"ingress\": true}' --overwrite\n","# Generates a tls.key.\nopenssl genrsa -out tls.key 2048\n\n# Creates a certificate and signs it with the preceding key.\nopenssl req -new -key tls.key -out tls.csr \\\n -subj \"/CN=my-release.milvus.io\"\n\nopenssl x509 -req -days 99999 -in tls.csr -signkey tls.key \\\n -out tls.crt\n","kubectl create secret tls my-release-milvus-tls --cert=./tls.crt --key=./tls.key\n","apiVersion: networking.gke.io/v1\nkind: ManagedCertificate\nmetadata:\n name: my-release-milvus-tls\nspec:\n domains:\n - my-release.milvus.io\n","kubectl apply -f ./managed-crt.yaml\n","kubectl get -f ./managed-crt.yaml -o yaml -w\n","status:\n certificateName: mcrt-34446a53-d639-4764-8438-346d7871a76e\n certificateStatus: Provisioning\n domainStatus:\n - domain: my-release.milvus.io\n status: Provisioning\n","apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: my-release-milvus\n namespace: default\nspec:\n tls:\n - hosts:\n - my-release.milvus.io\n secretName: my-release-milvus-tls\n rules:\n - host: my-release.milvus.io\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: my-release-milvus\n port:\n number: 19530\n","apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: my-release-milvus\n namespace: default\n annotations:\n networking.gke.io/managed-certificates: \"my-release-milvus-tls\"\nspec:\n rules:\n - host: my-release.milvus.io\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: my-release-milvus\n port:\n number: 19530\n","kubectl apply -f ingress.yaml\n","kubectl -f ./config/samples/ingress.yaml get -w\n","NAME CLASS HOSTS ADDRESS PORTS AGE\nmy-release-milvus my-release.milvus.io 80 4s\nmy-release-milvus my-release.milvus.io 34.111.144.65 80, 443 41m\n","from pymilvus import (\n connections,\n utility,\n FieldSchema,\n CollectionSchema,\n DataType,\n Collection,\n)\n\n# For self-managed certificates, you need to include the certificate in the parameters used to set up the connection.\nconnections.connect(\"default\", host=\"34.111.144.65\", port=\"443\", server_pem_path=\"tls.crt\", secure=True, server_name=\"my-release.milvus.io\")\n\n# For Google-managed certificates, there is not need to do so.\nconnections.connect(\"default\", host=\"34.111.144.65\", port=\"443\", secure=True, server_name=\"my-release.milvus.io\")\n"],"headingContent":"Set up a Layer-7 Load Balancer for Milvus on GCP","anchorList":[{"label":"Einrichten eines Layer-7-Load-Balancers für Milvus auf GCP","href":"Set-up-a-Layer-7-Load-Balancer-for-Milvus-on-GCP","type":1,"isActive":false},{"label":"Überprüfen Sie die Verbindung durch den Layer-7-Load-Balancer","href":"Verify-the-connection-through-the-Layer-7-load-balancer","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.md b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.md
index c34d416b8..f95f4946a 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.md
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcp_layer7.md
@@ -1,10 +1,12 @@
---
id: gcp_layer7.md
-title: Set up a Layer-7 Load Balancer for Milvus on GCP
+title: Einrichten eines Layer-7-Load-Balancers für Milvus auf GCP
related_key: cluster
-summary: Learn how to deploy a Milvus cluster behind a Layer-7 load balancer on GCP.
+summary: >-
+ Erfahren Sie, wie Sie einen Milvus-Cluster hinter einem Layer-7-Loadbalancer
+ auf GCP bereitstellen.
---
-
Set up a Layer-7 Load Balancer for Milvus on GCP
+
Einrichten eines Layer-7-Load-Balancers für Milvus auf GCP
-
When compared to a Layer-4 load balancer, a Layer-7 load balancer offers smart load balancing and caching capabilities and is a great choice for cloud-native services.
-
This guide walks you through setting up a layer-7 load balancer for a Milvus cluster already running behind a Layer-4 load balancer.
-
Before your start
-
A project already exists in your GCP account.
-
To create a project, refer to Creating and managing projects. The name of the project used in this guide is milvus-testing-nonprod.
Im Vergleich zu einem Layer-4-Load Balancer bietet ein Layer-7-Load Balancer intelligente Load Balancing- und Caching-Funktionen und ist eine gute Wahl für Cloud-native Dienste.
+
Diese Anleitung führt Sie durch die Einrichtung eines Layer-7 Load Balancers für einen Milvus-Cluster, der bereits hinter einem Layer-4 Load Balancer läuft.
+
Bevor Sie beginnen
+
In Ihrem GCP-Konto ist bereits ein Projekt vorhanden.
+
Wie Sie ein Projekt erstellen, erfahren Sie unter Erstellen und Verwalten von Projekten. Der Name des in dieser Anleitung verwendeten Projekts ist milvus-testing-nonprod.
+
Sie haben gcloud CLI, kubectl und Helm lokal installiert oder sich entschieden, stattdessen die browserbasierte Cloud Shell zu verwenden.
Bevor Sie einen Layer-7-Loadbalancer für diesen Milvus-Cluster einrichten, führen Sie den folgenden Befehl aus, um den Layer-4-Loadbalancer zu entfernen.
As a backend service of the Layer-7 load balancer, Milvus has to meet certain encryption requirements so that it can understand the HTTP/2 requests from the load balancer. Therefore, you need to enable TLS on your Milvus cluster as follows.
+
Als Backend-Dienst des Layer-7-Loadbalancers muss Milvus bestimmte Verschlüsselungsanforderungen erfüllen, damit es die HTTP/2-Anfragen vom Loadbalancer verstehen kann. Daher müssen Sie TLS auf Ihrem Milvus-Cluster wie folgt aktivieren.
To ensure service availability, Layer-7 load balancing on GCP requires probing the health conditions of the backend service. Therefore, we need to set up a BackendConfig to wrap up the health check endpoint and associate the BackendConfig with the Milvus service through annotations.
-
The following snippet is the BackendConfig settings. Save it as backendconfig.yaml for later use.
+
Einrichten eines Gesundheitsprüfungs-Endpunkts
Um die Verfügbarkeit des Dienstes zu gewährleisten, erfordert der Layer-7-Lastenausgleich auf GCP die Überprüfung des Zustands des Backend-Dienstes. Daher müssen wir eine BackendConfig einrichten, um den Gesundheitsprüfungs-Endpunkt zu verpacken und die BackendConfig mit dem Milvus-Dienst durch Anmerkungen zu verknüpfen.
+
Das folgende Snippet zeigt die BackendConfig-Einstellungen. Speichern Sie ihn als backendconfig.yaml zur späteren Verwendung.
Then run the following command to create the health check endpoint.
+
Führen Sie dann den folgenden Befehl aus, um den Gesundheitsprüfungsendpunkt zu erstellen.
kubectl apply -f backendconfig.yaml
-
Finally, update the annotations of the Milvus service to ask the Layer-7 load balancer that we will create later to perform health checks using the endpoint just created.
+
Aktualisieren Sie schließlich die Anmerkungen des Milvus-Dienstes, um den Layer-7-Loadbalancer, den wir später erstellen werden, aufzufordern, Gesundheitsprüfungen über den soeben erstellten Endpunkt durchzuführen.
Milvus is native to gRPC, which is built upon HTTP/2. Therefore, we can use HTTP/2 as the communication protocol between the Layer-7 load balancer and Milvus.
-
As to the second annotation,
-
Milvus only offers the health check endpoint over gRPC and HTTP/1. We need to set up a BackendConfig to wrap the health check endpoint and associate it with the Milvus service so that the Layer-7 load balancer probes this endpoint for the health condition of Milvus.
-
As to the third annotation,
-
It asks for the creation of a network endpoint group (NEG) after an Ingress is created. When NEGs are used with GKE Ingress, the Ingress controller facilitates the creation of all aspects of the load balancer. This includes creating the virtual IP address, forwarding rules, health checks, firewall rules, and more. For details, refer to Google Cloud docs.
+
Was die erste Anmerkung betrifft,
+
Milvus ist nativ für gRPC, das auf HTTP/2 aufgebaut ist. Daher können wir HTTP/2 als Kommunikationsprotokoll zwischen dem Layer-7 Load Balancer und Milvus verwenden.
+
Was die zweite Anmerkung betrifft,
+
Milvus bietet nur den Endpunkt für die Gesundheitsprüfung über gRPC und HTTP/1 an. Wir müssen eine BackendConfig einrichten, um den Endpunkt für die Gesundheitsprüfung zu verpacken und ihn mit dem Milvus-Dienst zu verknüpfen, damit der Layer-7-Loadbalancer diesen Endpunkt auf den Gesundheitszustand von Milvus prüft.
+
Was die dritte Anmerkung betrifft,
+
Sie fordert die Erstellung einer Netzwerkendpunktgruppe (NEG), nachdem ein Ingress erstellt wurde. Wenn NEGs mit GKE-Ingress verwendet werden, erleichtert der Ingress-Controller die Erstellung aller Aspekte des Load Balancer. Dazu gehören die Erstellung der virtuellen IP-Adresse, Weiterleitungsregeln, Zustandsprüfungen, Firewall-Regeln und vieles mehr. Einzelheiten finden Sie in den Google Cloud-Dokumenten.
-
Prepare TLS certificates
TLS requires certificates to work. There are two ways to create certificates, namely self-managed and Google-managed.
-
This guide uses my-release.milvus.io as the domain name to access our Milvus service.
-
Create self-managed certificates
Run the following commands to create a certificate.
+
Vorbereiten von TLS-Zertifikaten
TLS erfordert Zertifikate, um zu funktionieren. Es gibt zwei Möglichkeiten, Zertifikate zu erstellen, nämlich selbstverwaltete und von Google verwaltete.
+
In dieser Anleitung wird my-release.milvus.io als Domainname für den Zugriff auf unseren Milvus-Dienst verwendet.
+
Selbstverwaltete Zertifikate erstellen
Führen Sie die folgenden Befehle aus, um ein Zertifikat zu erstellen.
Then you can create the Ingress by applying the file to your GKE cluster.
+
Anschließend können Sie den Ingress erstellen, indem Sie die Datei auf Ihren GKE-Cluster anwenden.
kubectl apply -f ingress.yaml
-
Now, wait for Google to set up the Layer-7 load balancer. You can check the progress by running
+
Warten Sie nun darauf, dass Google den Layer-7-Loadbalancer einrichtet. Sie können den Fortschritt überprüfen, indem Sie
kubectl -f ./config/samples/ingress.yaml get -w
-
The output should be similar to the following:
+
Die Ausgabe sollte in etwa so aussehen wie die folgende:
NAME CLASS HOSTS ADDRESS PORTS AGE
my-release-milvus <none> my-release.milvus.io 80 4s
my-release-milvus <none> my-release.milvus.io 34.111.144.65 80, 443 41m
-
Once an IP address is displayed in the ADDRESS field, the Layer-7 load balancer is ready to use. Both port 80 and port 443 are displayed in the above output. Remember, you should always use port 443 for your own good.
-
Verify the connection through the Layer-7 load balancer
+
Sobald eine IP-Adresse im Feld ADDRESS angezeigt wird, ist der Layer-7-Load-Balancer einsatzbereit. In der obigen Ausgabe werden sowohl Port 80 als auch Port 443 angezeigt. Denken Sie daran, dass Sie zu Ihrem eigenen Wohl immer Port 443 verwenden sollten.
+
Überprüfen Sie die Verbindung durch den Layer-7-Load-Balancer
-
This guide uses PyMilvus to verify the connection to the Milvus service behind the Layer-7 load balancer we have just created. For detailed steps, read this.
-
Notice that connection parameters vary with the way you choose to manage the certificates in Prepare TLS certificates.
+
In dieser Anleitung wird PyMilvus verwendet, um die Verbindung zum Milvus-Dienst hinter dem soeben erstellten Layer-7-Load-Balancer zu überprüfen. Für detaillierte Schritte, lesen Sie dies.
+
Beachten Sie, dass die Verbindungsparameter von der Art und Weise abhängen, wie Sie die Zertifikate in Prepare TLS certificates verwalten.
Wenn Sie einen DNS-Eintrag eingerichtet haben, um den Domänennamen der Host-IP-Adresse zuzuordnen, ersetzen Sie die IP-Adresse in host durch den Domänennamen und lassen Sie server_name weg.
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.json b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.json
index 46ae0516b..dfe4f4c26 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.json
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.json
@@ -1 +1 @@
-{"codeList":["gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access\n","kubectl create serviceaccount milvus-gcs-access-sa\n","gcloud iam service-accounts create milvus-gcs-access-sa \\\n --project=milvus-testing-nonprod\n","gcloud projects add-iam-policy-binding milvus-testing-nonprod \\\n --member \"serviceAccount:milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com\" \\\n --role \"roles/storage.admin\" \\\n --condition='title=milvus-testing-nonprod,expression=resource.service == \"storage.googleapis.com\" && resource.name.startsWith(\"projects/_/buckets/milvus-testing-nonprod\")'\n","gcloud iam service-accounts add-iam-policy-binding milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com \\\n --role \"roles/iam.workloadIdentityUser\" \\\n --member \"serviceAccount:milvus-testing-nonprod.svc.id.goog[default/milvus-gcs-access-sa]\"\n","kubectl annotate serviceaccount milvus-gcs-access-sa \\\n --namespace default \\\n iam.gke.io/gcp-service-account=milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com\n","curl -H \"Metadata-Flavor: Google\" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/email\n","helm install -f values.yaml my-release milvus/milvus\n","cluster:\n enabled: true\n\nservice:\n type: LoadBalancer\n\nminio:\n enabled: false\n\nserviceAccount:\n create: false\n name: milvus-gcs-access-sa\n\nexternalS3:\n enabled: true\n host: storage.googleapis.com\n port: 443\n rootPath: milvus/my-release\n bucketName: milvus-testing-nonprod\n cloudProvider: gcp\n useSSL: true\n useIAM: true\n"],"headingContent":"Configure GCS Access by Workload Identity","anchorList":[{"label":"Configure GCS Access by Workload Identity","href":"Configure-GCS-Access-by-Workload-Identity","type":1,"isActive":false},{"label":"Before you start","href":"Before-you-start","type":2,"isActive":false},{"label":"Configure applications to use Workload Identity","href":"Configure-applications-to-use-Workload-Identity","type":2,"isActive":false},{"label":"Verify the Workload Identity setup","href":"Verify-the-Workload-Identity-setup","type":2,"isActive":false},{"label":"Deploy Milvus","href":"Deploy-Milvus","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["gcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access\n","kubectl create serviceaccount milvus-gcs-access-sa\n","gcloud iam service-accounts create milvus-gcs-access-sa \\\n --project=milvus-testing-nonprod\n","gcloud projects add-iam-policy-binding milvus-testing-nonprod \\\n --member \"serviceAccount:milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com\" \\\n --role \"roles/storage.admin\" \\\n --condition='title=milvus-testing-nonprod,expression=resource.service == \"storage.googleapis.com\" && resource.name.startsWith(\"projects/_/buckets/milvus-testing-nonprod\")'\n","gcloud iam service-accounts add-iam-policy-binding milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com \\\n --role \"roles/iam.workloadIdentityUser\" \\\n --member \"serviceAccount:milvus-testing-nonprod.svc.id.goog[default/milvus-gcs-access-sa]\"\n","kubectl annotate serviceaccount milvus-gcs-access-sa \\\n --namespace default \\\n iam.gke.io/gcp-service-account=milvus-gcs-access-sa@milvus-testing-nonprod.iam.gserviceaccount.com\n","curl -H \"Metadata-Flavor: Google\" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/email\n","helm install -f values.yaml my-release milvus/milvus\n","cluster:\n enabled: true\n\nservice:\n type: LoadBalancer\n\nminio:\n enabled: false\n\nserviceAccount:\n create: false\n name: milvus-gcs-access-sa\n\nexternalS3:\n enabled: true\n host: storage.googleapis.com\n port: 443\n rootPath: milvus/my-release\n bucketName: milvus-testing-nonprod\n cloudProvider: gcp\n useSSL: true\n useIAM: true\n"],"headingContent":"Configure GCS Access by Workload Identity","anchorList":[{"label":"Konfigurieren des GCS-Zugriffs über die Workload-Identität","href":"Configure-GCS-Access-by-Workload-Identity","type":1,"isActive":false},{"label":"Bevor Sie beginnen","href":"Before-you-start","type":2,"isActive":false},{"label":"Konfigurieren Sie Anwendungen für die Verwendung von Workload-Identität","href":"Configure-applications-to-use-Workload-Identity","type":2,"isActive":false},{"label":"Überprüfen Sie die Einrichtung der Workload-Identität","href":"Verify-the-Workload-Identity-setup","type":2,"isActive":false},{"label":"Stellen Sie Milvus bereit","href":"Deploy-Milvus","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.md b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.md
index 3add197cf..0e8a0cdd0 100644
--- a/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.md
+++ b/localization/v2.5.x/site/de/adminGuide/clouds/gcp/gcs.md
@@ -1,10 +1,10 @@
---
id: gcs.md
-title: Configure GCS Access by Workload Identity
+title: Konfigurieren des GCS-Zugriffs über die Workload-Identität
related_key: 'gcs, storage, workload identity, iam'
-summary: Learn how to configure gcs with Workload Identity.
+summary: 'Erfahren Sie, wie Sie gcs mit Workload Identity konfigurieren.'
---
-
Configure GCS Access by Workload Identity
+
Konfigurieren des GCS-Zugriffs über die Workload-Identität
-
This topic introduces how to configure gcs access by Workload Identity when you install Milvus with helm.
-For more details, refer to Workload Identity.
-
Before you start
+
In diesem Thema wird erläutert, wie Sie den GCS-Zugriff über die Workload-Identität konfigurieren, wenn Sie Milvus mit helm installieren. Weitere Einzelheiten finden Sie unter Workload-Identität.
+
Bevor Sie beginnen
-
Please enable Workload Identity on clusters and node pools using the Google Cloud CLI or the Google Cloud console. Workload Identity must be enabled at the cluster level before you can enable Workload Identity on node pools.
-
Configure applications to use Workload Identity
+
Aktivieren Sie die Workload-Identität auf Clustern und Knotenpools mithilfe der Google Cloud CLI oder der Google Cloud-Konsole. Workload-Identität muss auf Clusterebene aktiviert werden, bevor Sie Workload-Identität auf Knotenpools aktivieren können.
+
Konfigurieren Sie Anwendungen für die Verwendung von Workload-Identitätgcloud storage buckets create gs://milvus-testing-nonprod --project=milvus-testing-nonprod --default-storage-class=STANDARD --location=us-west1 --uniform-bucket-level-access
-
Create a Kubernetes service account for your application to use.
+
Erstellen Sie ein Kubernetes-Dienstkonto, das Ihre Anwendung verwenden soll.
Create an IAM service account for your application or use an existing IAM service account instead. You can use any IAM service account in any project in your organization.
+
Erstellen Sie ein IAM-Dienstkonto für Ihre Anwendung oder verwenden Sie stattdessen ein vorhandenes IAM-Dienstkonto. Sie können jedes beliebige IAM-Dienstkonto in jedem Projekt in Ihrer Organisation verwenden.
gcloud iam service-accounts create milvus-gcs-access-sa \
--project=milvus-testing-nonprod
-
Ensure that your IAM service account has the roles you need. You can grant additional roles using the following command:
+
Vergewissern Sie sich, dass Ihr IAM-Servicekonto über die benötigten Rollen verfügt. Sie können zusätzliche Rollen mit dem folgenden Befehl zuweisen:
Allow the Kubernetes service account to impersonate the IAM service account by adding an IAM policy binding between the two service accounts. This binding allows the Kubernetes service account to act as the IAM service account.
+
Erlauben Sie dem Kubernetes-Dienstkonto, das IAM-Dienstkonto zu verkörpern, indem Sie eine IAM-Richtlinienbindung zwischen den beiden Dienstkonten hinzufügen. Diese Bindung ermöglicht es dem Kubernetes-Dienstkonto, als IAM-Dienstkonto zu fungieren.
In your openshift console, navigate to Workloads > Pods. Select the project cert-manager.
+
Navigieren Sie in Ihrer OpenShift-Konsole zu Workloads > Pods. Wählen Sie das Projekt cert-manager.
-
-
- cert-manager-1
-
-
-
Ensure all the pods are ready. For example, the image below suggests that the pods are still starting. Wait until all these pods are ready.
+
+
+ cert-manager-1
+
Stellen Sie sicher, dass alle Pods bereit sind. Das Bild unten zeigt zum Beispiel, dass die Pods noch am Starten sind. Warten Sie, bis alle diese Pods bereit sind.
-
-
- cert-manager-2
-
-
+
+
+ cert-verwalter-2
-
Step 2: Issue a Self-Signed Certificate for Milvus Operator
+
Schritt 2: Ausstellen eines selbstsignierten Zertifikats für Milvus Operator
-
Ensure you are logged in as kubeadmin or have equivalent privileges.
+
Stellen Sie sicher, dass Sie als kubeadmin oder mit gleichwertigen Rechten angemeldet sind.
-
Create the following manifest file named milvus-operator-certificate.yaml:
+
Erstellen Sie die folgende Manifestdatei mit dem Namen milvus-operator-certificate.yaml:
Now you can start installing the Milvus Operator. It is recommended to use Helm to install Milvus Operator to simplify the configuration process.
+
Nun können Sie mit der Installation von Milvus Operator beginnen. Es wird empfohlen, Helm für die Installation von Milvus Operator zu verwenden, um den Konfigurationsprozess zu vereinfachen.
-
Add the Milvus Operator Helm repository:
+
Fügen Sie das Milvus Operator Helm-Repository hinzu:
At this point, there should be a jaeger-operator deployment available. You can view it by running the following command:
+
Zu diesem Zeitpunkt sollte eine jaeger-operator Bereitstellung verfügbar sein. Sie können es mit dem folgenden Befehl anzeigen:
$ kubectl get deployment jaeger-operator -n observability
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
jaeger-operator111148s
-
2. Deploy Jager
The simplest possible way to create a Jaeger instance is by creating a YAML file like the following example. This will install the default AllInOne strategy, which deploys the all-in-one image (combining jaeger-agent, jaeger-collector, jaeger-query, and Jaeger UI) in a single pod, using in-memory storage by default.
-
If you want to store traces for a long time, please refer to production-strategy.
+
2. Jager bereitstellen
Der einfachste Weg, eine Jaeger-Instanz zu erstellen, ist die Erstellung einer YAML-Datei wie im folgenden Beispiel. Dadurch wird die standardmäßige AllInOne-Strategie installiert, die das All-In-One-Image (eine Kombination aus Jaeger-Agent, Jaeger-Collector, Jaeger-Query und Jaeger-UI) in einem einzigen Pod bereitstellt und standardmäßig In-Memory-Speicher verwendet.
+
Wenn Sie Traces über einen längeren Zeitraum speichern möchten, lesen Sie bitte production-strategy.
Die YAML-Datei kann dann mit kubectl verwendet werden:
$ kubectl apply -f simplest.yaml
-
In a few seconds, a new in-memory all-in-one instance of Jaeger will be available, suitable for quick demos and development purposes. To check the instances that were created, list the jaeger objects:
+
In wenigen Sekunden steht eine neue In-Memory-All-in-One-Instanz von Jaeger zur Verfügung, die sich für schnelle Demos und Entwicklungszwecke eignet. Um zu überprüfen, welche Instanzen erstellt wurden, listen Sie die Jaeger-Objekte auf:
$ kubectl get jaegers
NAME STATUS VERSION STRATEGY STORAGE AGE
jaeger Running 1.62.0 allinone memory 13s
-
Install Milvus with Helm Chart
+
Milvus mit Helm Chart installieren1.62
-
You can install or upgrade Milvus with Helm Chart with the following settings:
+
Sie können Milvus mit Helm Chart mit den folgenden Einstellungen installieren oder aktualisieren:
Once you have deployed Jaeger and Milvus with Helm Chart, an ingress has been enabled by dfault. You can view the ingress by running the following command:
+
Sobald Sie Jaeger und Milvus mit Helm Chart eingesetzt haben, wurde ein Ingress von dfault aktiviert. Sie können den Ingress anzeigen, indem Sie den folgenden Befehl ausführen:
$ kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
jaeger-query <none> * 192.168.122.348014m
-
Once the ingress is available, you can access the Jaeger UI by navigating to http://${ADDRESS}. Replace ${ADDRESS} with the actual IP address of the ingress.
-
The following screenshot shows the Jaeger UI with the traces of Milvus during a search operation and a load-collection operation:
+
Sobald der Ingress verfügbar ist, können Sie auf die Jaeger-Benutzeroberfläche zugreifen, indem Sie zu http://${ADDRESS} navigieren. Ersetzen Sie ${ADDRESS} durch die tatsächliche IP-Adresse des Ingress.
+
Der folgende Screenshot zeigt die Jaeger-Benutzeroberfläche mit den Traces von Milvus während eines Suchvorgangs und eines Lastsammelvorgangs:
-
-
- Trace Search Request
-
-
+
+
+ Trace Suchanfrage
-
-
- Trace Load Collection Request
-
-
+
+
+ Trace Lastsammlungsanforderung
diff --git a/localization/v2.5.x/site/de/adminGuide/configure-docker.json b/localization/v2.5.x/site/de/adminGuide/configure-docker.json
index 292f8078e..b78d7d357 100644
--- a/localization/v2.5.x/site/de/adminGuide/configure-docker.json
+++ b/localization/v2.5.x/site/de/adminGuide/configure-docker.json
@@ -1 +1 @@
-{"codeList":["$ wget https://raw.githubusercontent.com/milvus-io/milvus/v2.5.0-beta/configs/milvus.yaml\n","# For Milvus standalone\n$ wget https://github.com/milvus-io/milvus/releases/download/v2.5.0-beta/milvus-standalone-docker-compose.yml -O docker-compose.yml\n","...\n standalone:\n container_name: milvus-standalone\n image: milvusdb/milvus:v2.2.13\n command: [\"milvus\", \"run\", \"standalone\"]\n environment:\n ETCD_ENDPOINTS: etcd:2379\n MINIO_ADDRESS: minio:9000\n volumes:\n - /local/path/to/your/milvus.yaml:/milvus/configs/milvus.yaml # Map the local path to the container path\n - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus\n ports:\n - \"19530:19530\"\n - \"9091:9091\"\n depends_on:\n - \"etcd\"\n - \"minio\"\n...\n","$ sudo docker compose up -d\n"],"headingContent":"Configure Milvus with Docker Compose","anchorList":[{"label":"Configure Milvus with Docker Compose","href":"Configure-Milvus-with-Docker-Compose","type":1,"isActive":false},{"label":"Download a configuration file","href":"Download-a-configuration-file","type":2,"isActive":false},{"label":"Modify the configuration file","href":"Modify-the-configuration-file","type":2,"isActive":false},{"label":"Download an installation file","href":"Download-an-installation-file","type":2,"isActive":false},{"label":"Modify the installation file","href":"Modify-the-installation-file","type":2,"isActive":false},{"label":"Start Milvus","href":"Start-Milvus","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ wget https://raw.githubusercontent.com/milvus-io/milvus/v2.5.0-beta/configs/milvus.yaml\n","# For Milvus standalone\n$ wget https://github.com/milvus-io/milvus/releases/download/v2.5.0-beta/milvus-standalone-docker-compose.yml -O docker-compose.yml\n","...\n standalone:\n container_name: milvus-standalone\n image: milvusdb/milvus:v2.2.13\n command: [\"milvus\", \"run\", \"standalone\"]\n environment:\n ETCD_ENDPOINTS: etcd:2379\n MINIO_ADDRESS: minio:9000\n volumes:\n - /local/path/to/your/milvus.yaml:/milvus/configs/milvus.yaml # Map the local path to the container path\n - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus\n ports:\n - \"19530:19530\"\n - \"9091:9091\"\n depends_on:\n - \"etcd\"\n - \"minio\"\n...\n","$ sudo docker compose up -d\n"],"headingContent":"Configure Milvus with Docker Compose","anchorList":[{"label":"Konfigurieren von Milvus mit Docker Compose","href":"Configure-Milvus-with-Docker-Compose","type":1,"isActive":false},{"label":"Herunterladen einer Konfigurationsdatei","href":"Download-a-configuration-file","type":2,"isActive":false},{"label":"Ändern Sie die Konfigurationsdatei","href":"Modify-the-configuration-file","type":2,"isActive":false},{"label":"Download einer Installationsdatei","href":"Download-an-installation-file","type":2,"isActive":false},{"label":"Ändern Sie die Installationsdatei","href":"Modify-the-installation-file","type":2,"isActive":false},{"label":"Starten Sie Milvus","href":"Start-Milvus","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/configure-docker.md b/localization/v2.5.x/site/de/adminGuide/configure-docker.md
index 8e2e6c383..b5b10da83 100644
--- a/localization/v2.5.x/site/de/adminGuide/configure-docker.md
+++ b/localization/v2.5.x/site/de/adminGuide/configure-docker.md
@@ -2,10 +2,10 @@
id: configure-docker.md
label: Docker Compose
related_key: configure
-summary: Configure Milvus with Docker Compose.
-title: Configure Milvus with Docker Compose
+summary: Konfigurieren Sie Milvus mit Docker Compose.
+title: Konfigurieren von Milvus mit Docker Compose
---
-
Configure Milvus with Docker Compose
+
Konfigurieren von Milvus mit Docker Compose
-
This topic describes how to configure Milvus components and its third-party dependencies with Docker Compose.
+
In diesem Thema wird beschrieben, wie Sie Milvus-Komponenten und die Abhängigkeiten von Drittanbietern mit Docker Compose konfigurieren.
-In current release, all parameters take effect only after Milvus restarts.
-
-
Download a configuration file
+In der aktuellen Version werden alle Parameter erst nach einem Neustart von Milvus wirksam.
+
Herunterladen einer Konfigurationsdatei
-
Downloadmilvus.yaml directly or with the following command.
Configure your Milvus instance to suit your application scenarios by adjusting corresponding parameters in milvus.yaml.
-
Check the following links for more information about each parameter.
-
Sorted by:
+
Konfigurieren Sie Ihre Milvus-Instanz so, dass sie Ihren Anwendungsszenarien entspricht, indem Sie die entsprechenden Parameter in milvus.yaml anpassen.
+
Unter den folgenden Links finden Sie weitere Informationen zu den einzelnen Parametern.
Download the installation file for Milvus standalone, and save it as docker-compose.yml.
-
You can also simply run the following command.
+
Laden Sie die Installationsdatei für Milvus standalone herunter und speichern Sie sie als docker-compose.yml.
+
Sie können auch einfach den folgenden Befehl ausführen.
# For Milvus standalone
$ wget https://github.com/milvus-io/milvus/releases/download/v2.5.0-beta/milvus-standalone-docker-compose.yml -O docker-compose.yml
-
Modify the installation file
+
Ändern Sie die Installationsdatei
-
In docker-compose.yml, add a volumes section under each milvus-standalone.
-
Map the local path to your milvus.yaml file onto the corresponding docker container paths to the configuration files /milvus/configs/milvus.yaml under all volumes sections.
+
Fügen Sie in docker-compose.yml unter jedem milvus-standalone einen Abschnitt volumes hinzu.
+
Übertragen Sie den lokalen Pfad zu Ihrer milvus.yaml Datei auf die entsprechenden Docker-Container-Pfade zu den Konfigurationsdateien /milvus/configs/milvus.yaml unter allen volumes Abschnitten.
-Data are stored in the /volumes folder according to the default configuration in docker-compose.yml. To change the folder to store data, edit docker-compose.yml or run $ export DOCKER_VOLUME_DIRECTORY=.
-
-
Start Milvus
+Die Daten werden im Ordner /volumes gemäß der Standardkonfiguration in docker-compose.yml gespeichert. Um den Ordner zum Speichern der Daten zu ändern, bearbeiten Sie docker-compose.yml oder führen Sie $ export DOCKER_VOLUME_DIRECTORY= aus.
+
diff --git a/localization/v2.5.x/site/de/adminGuide/configure-helm.json b/localization/v2.5.x/site/de/adminGuide/configure-helm.json
index 6aae07ec2..200deda4b 100644
--- a/localization/v2.5.x/site/de/adminGuide/configure-helm.json
+++ b/localization/v2.5.x/site/de/adminGuide/configure-helm.json
@@ -1 +1 @@
-{"codeList":["$ wget https://raw.githubusercontent.com/milvus-io/milvus-helm/master/charts/milvus/values.yaml\n","# Extra configs for milvus.yaml\n# If set, this config will merge into milvus.yaml\n# Please follow the config structure in the milvus.yaml\n# at https://github.com/milvus-io/milvus/blob/master/configs/milvus.yaml\n# Note: this config will be the top priority which will override the config\n# in the image and helm chart.\nextraConfigFiles:\n user.yaml: |+\n # For example to set the graceful time for query nodes\n # queryNodes:\n # gracefulTime: 10\n","$ helm upgrade my-release milvus/milvus -f values.yaml\n","$ helm show values milvus/milvus\n","# For instance, upgrade the Milvus cluster with compaction disabled\n$ helm upgrade my-release milvus/milvus --set dataCoord.enableCompaction=false\n"],"headingContent":"Configure Milvus with Helm Charts","anchorList":[{"label":"Configure Milvus with Helm Charts","href":"Configure-Milvus-with-Helm-Charts","type":1,"isActive":false},{"label":"Configure Milvus via configuration file","href":"Configure-Milvus-via-configuration-file","type":2,"isActive":false},{"label":"Configure Milvus via command line","href":"Configure-Milvus-via-command-line","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ wget https://raw.githubusercontent.com/milvus-io/milvus-helm/master/charts/milvus/values.yaml\n","# Extra configs for milvus.yaml\n# If set, this config will merge into milvus.yaml\n# Please follow the config structure in the milvus.yaml\n# at https://github.com/milvus-io/milvus/blob/master/configs/milvus.yaml\n# Note: this config will be the top priority which will override the config\n# in the image and helm chart.\nextraConfigFiles:\n user.yaml: |+\n # For example to set the graceful time for query nodes\n # queryNodes:\n # gracefulTime: 10\n","$ helm upgrade my-release milvus/milvus -f values.yaml\n","$ helm show values milvus/milvus\n","# For instance, upgrade the Milvus cluster with compaction disabled\n$ helm upgrade my-release milvus/milvus --set dataCoord.enableCompaction=false\n"],"headingContent":"Configure Milvus with Helm Charts","anchorList":[{"label":"Konfigurieren von Milvus mit Helm Charts","href":"Configure-Milvus-with-Helm-Charts","type":1,"isActive":false},{"label":"Konfigurieren Sie Milvus über eine Konfigurationsdatei","href":"Configure-Milvus-via-configuration-file","type":2,"isActive":false},{"label":"Milvus über die Kommandozeile konfigurieren","href":"Configure-Milvus-via-command-line","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/configure-helm.md b/localization/v2.5.x/site/de/adminGuide/configure-helm.md
index fb6a3c71c..8a48f9f04 100644
--- a/localization/v2.5.x/site/de/adminGuide/configure-helm.md
+++ b/localization/v2.5.x/site/de/adminGuide/configure-helm.md
@@ -2,10 +2,10 @@
id: configure-helm.md
label: Helm
related_key: configure
-summary: Configure Milvus with Helm Charts.
-title: Configure Milvus with Helm Charts
+summary: Konfigurieren Sie Milvus mit Helm Charts.
+title: Konfigurieren von Milvus mit Helm Charts
---
-
Configure Milvus with Helm Charts
+
Konfigurieren von Milvus mit Helm Charts
-
This topic describes how to configure Milvus components and its third-party dependencies with Helm Charts.
+
In diesem Thema wird beschrieben, wie Milvus-Komponenten und ihre Abhängigkeiten von Drittanbietern mit Helm Charts konfiguriert werden.
-In current release, all parameters take effect only after Milvus restarts.
-
-
Configure Milvus via configuration file
+In der aktuellen Version werden alle Parameter erst nach einem Neustart von Milvus wirksam.
+
Konfigurieren Sie Milvus über eine Konfigurationsdatei
-
You can configure Milvus with a configuration file values.yaml.
-
Download a configuration file
Downloadvalues.yaml directly or with the following command.
+
Sie können Milvus mit einer Konfigurationsdatei values.yaml konfigurieren.
Configure your Milvus instance to suit your application scenarios by adjusting corresponding parameters in values.yaml.
-
Specifically, search for extraConfigFiles in values.yaml and put your configurations in this section as follows:
+
Ändern Sie die Konfigurationsdatei
Konfigurieren Sie Ihre Milvus-Instanz so, dass sie Ihren Anwendungsszenarien entspricht, indem Sie die entsprechenden Parameter in values.yaml anpassen.
+
Suchen Sie insbesondere nach extraConfigFiles in values.yaml und fügen Sie Ihre Konfigurationen wie folgt in diesen Abschnitt ein:
# Extra configs for milvus.yaml# If set, this config will merge into milvus.yaml# Please follow the config structure in the milvus.yaml
@@ -57,51 +56,50 @@ extraConfigFiles:
# queryNodes:# gracefulTime: 10
-
Check the following links for more information about each parameter.
-
Sorted by:
+
Unter den folgenden Links finden Sie weitere Informationen zu den einzelnen Parametern.
Milvus QueryNode mit lokaler Festplatte konfigurieren
-
This article describes how to configure Milvus QueryNode to use local disk storage.
-
Overview
+
Dieser Artikel beschreibt, wie Sie Milvus QueryNode so konfigurieren, dass es lokalen Plattenspeicher verwendet.
+
Überblick
-
Milvus is an AI-focused vector database tailored for efficient storage and retrieval of vast quantities of vector data. It is ideal for tasks such as image and video analysis, natural language processing, and recommendation systems. To ensure optimal performance, it is crucial to minimize disk read latency. Using local NVMe SSDs is highly recommended to prevent delays and maintain system stability.
-
Key features where local disk storage comes into play include:
+
Milvus ist eine auf künstliche Intelligenz ausgerichtete Vektordatenbank, die auf die effiziente Speicherung und Abfrage großer Mengen von Vektordaten zugeschnitten ist. Sie ist ideal für Aufgaben wie Bild- und Videoanalyse, natürliche Sprachverarbeitung und Empfehlungssysteme. Um eine optimale Leistung zu gewährleisten, ist es von entscheidender Bedeutung, die Festplattenleselatenz zu minimieren. Die Verwendung lokaler NVMe-SSDs wird dringend empfohlen, um Verzögerungen zu vermeiden und die Systemstabilität zu erhalten.
+
Zu den wichtigsten Funktionen, bei denen lokale Festplattenspeicher ins Spiel kommen, gehören:
-
Chunk cache: Preloads data into local disk cache for faster search.
-
MMap: Maps file contents directly into memory for better memory efficiency.
-
DiskANN Index: Requires disk storage for efficient index management.
+
Chunk-Cache: Vorladen von Daten in den lokalen Festplatten-Cache für eine schnellere Suche.
+
MMap: Ordnet den Dateiinhalt direkt im Speicher zu, um die Speichereffizienz zu verbessern.
+
DiskANN-Index: Erfordert Festplattenspeicher für eine effiziente Indexverwaltung.
-
In this article, we will focus on deploying Milvus Distributed on cloud platforms, and how to configure the QueryNode to use NVMe disk storage. The following table lists the recommended machine types of various cloud providers.
+
In diesem Artikel konzentrieren wir uns auf den Einsatz von Milvus Distributed auf Cloud-Plattformen und auf die Konfiguration des QueryNode zur Verwendung von NVMe-Plattenspeicher. In der folgenden Tabelle sind die empfohlenen Maschinentypen der verschiedenen Cloud-Anbieter aufgeführt.
-
Cloud Provider
Machine Type
+
Cloud-Anbieter
Maschinentyp
-
AWS
R6id series
-
GCP
N2 series
-
Azure
Lsv3 series
-
Alibaba Cloud
i3 series
-
Tencent Cloud
IT5 series
+
AWS
R6id-Reihe
+
GCP
N2-Reihe
+
Azure
Lsv3-Reihe
+
Alibaba Wolke
i3-Reihe
+
Tencent Wolke
IT5-Reihe
-
These machine types provide NVMe disk storage. You can use the lsblk command on the instances of these machine types to check if they have NVMe disk storage. If they do, you can proceed to the next step.
+
Diese Maschinentypen bieten NVMe-Festplattenspeicher. Sie können den Befehl lsblk auf den Instanzen dieser Maschinentypen verwenden, um zu prüfen, ob sie über NVMe-Plattenspeicher verfügen. Wenn dies der Fall ist, können Sie mit dem nächsten Schritt fortfahren.
$ lsblk | grep nvme
nvme0n1 259:0 0 250.0G 0 disk
nvme1n1 259:1 0 250.0G 0 disk
-
Configure Kubernetes to use local disk
+
Konfigurieren von Kubernetes für die Verwendung einer lokalen Festplatte
-
To configure the QueryNode of Milvus Distributed to use NVMe disk storage, you need to configure the worker nodes of the target Kubernetes clusters to store the containers and images on an NVMe disk. The procedure for this varies depending on the cloud providers.
-
AWS
When using Amazon EKS, you can customize managed nodes with launch templates, in which you can specify configuration settings for your node groups. The following is an example of how to mount an NVMe disk on the worker nodes of your Amazon EKS cluster:
+
Um den QueryNode von Milvus Distributed so zu konfigurieren, dass er NVMe-Plattenspeicher verwendet, müssen Sie die Worker Nodes der Kubernetes-Zielcluster so konfigurieren, dass sie die Container und Images auf einer NVMe-Platte speichern. Das Verfahren hierfür variiert je nach Cloud-Anbieter.
+
AWS
Bei der Verwendung von Amazon EKS können Sie verwaltete Knoten mit Startvorlagen anpassen, in denen Sie Konfigurationseinstellungen für Ihre Knotengruppen angeben können. Im Folgenden finden Sie ein Beispiel dafür, wie Sie eine NVMe-Festplatte auf den Arbeitsknoten Ihres Amazon EKS-Clusters einbinden:
To provision Local SSD storage on Google Kubernetes Engine (GKE) clusters, and configure workloads to consume data from Local SSD-backed ephemeral storage attached to nodes in your cluster, run the following command:
Führen Sie den folgenden Befehl aus, um lokalen SSD-Speicher auf Google Kubernetes Engine (GKE)-Clustern bereitzustellen und Arbeitslasten so zu konfigurieren, dass sie Daten von lokalem SSD-gestütztem ephemerem Speicher verwenden, der an Knoten in Ihrem Cluster angeschlossen ist:
To create a virtual machine scale set (VMSS) with local NVMe disk storage, you need to pass custom data to the VM instances. The following is an example of how to attach an NVMe disk to the VM instances in the VMSS:
Um ein Virtual Machine Scale Set (VMSS) mit lokalem NVMe-Plattenspeicher zu erstellen, müssen Sie benutzerdefinierte Daten an die VM-Instanzen übergeben. Im Folgenden finden Sie ein Beispiel dafür, wie Sie eine NVMe-Festplatte an die VM-Instanzen in der VMSS anhängen:
In the above example, we assume that the NVMe disks are /dev/nvme0n1 and /dev/nvme1n1. You need to modify the script to match your specific configuration.
+
Im obigen Beispiel gehen wir davon aus, dass die NVMe-Festplatten /dev/nvme0n1 und /dev/nvme1n1 sind. Sie müssen das Skript an Ihre spezifische Konfiguration anpassen.
-
Alibaba Cloud & TecentCloud
To create a node pool that uses Local SSD volumes, we need to pass Custom Data. The following is an example of custom data.
+
Alibaba Cloud und TecentCloud
Um einen Knotenpool zu erstellen, der lokale SSD-Volumes verwendet, müssen wir benutzerdefinierte Daten übergeben. Im Folgenden finden Sie ein Beispiel für benutzerdefinierte Daten.
#!/bin/bashecho"nvme init start..."
mkfs.xfs /dev/nvme0n1
@@ -144,29 +146,29 @@ mount -a
echo"nvme init end..."
-
In the above example, we assume that the NVMe disk is /dev/nvme0n1. You need to modify the script to match your specific configuration.
+
Im obigen Beispiel wird angenommen, dass die NVMe-Festplatte /dev/nvme0n1 ist. Sie müssen das Skript an Ihre spezifische Konfiguration anpassen.
-
Your own IDC
If you are running your own IDC and want to configure your containers to use the filesystem on a newly mounted NVMe disk by default in containerd, follow these steps:
+
Ihr eigener IDC
Wenn Sie Ihre eigene IDC betreiben und Ihre Container so konfigurieren möchten, dass sie standardmäßig das Dateisystem auf einer neu eingehängten NVMe-Platte in containerd verwenden, führen Sie folgende Schritte aus:
-
Mount the NVMe disks.
-
Ensure that your NVMe disk is properly mounted on your host machine. You can mount it to a directory of your choice. For instance, if you mount it to /mnt/nvme, make sure it is correctly set up and you can see the disk available at /mnt/nvme by running lsblk or df -h.
-
Update containerd configuration.
-
Modify the containerd configuration to use the new mount as the root directory for container storage.
+
Hängen Sie die NVMe-Platten ein.
+
Vergewissern Sie sich, dass Ihre NVMe-Platte ordnungsgemäß auf Ihrem Host-Rechner eingehängt ist. Sie können sie in ein Verzeichnis Ihrer Wahl einhängen. Wenn Sie sie z. B. in /mnt/nvme einbinden, stellen Sie sicher, dass sie korrekt eingerichtet ist und Sie die Platte unter /mnt/nvme sehen können, indem Sie lsblk oder df -h ausführen.
+
Aktualisieren Sie die containerd-Konfiguration.
+
Ändern Sie die containerd-Konfiguration, um das neue Mount als Root-Verzeichnis für den Container-Speicher zu verwenden.
sudomkdir -p /mnt/nvme/containerd /mnt/nvme/containerd/state
sudo vim /etc/containerd/config.toml
-
Locate the [plugins."io.containerd.grpc.v1.cri".containerd] section, and modify the snapshotter and root settings as follows:
+
Suchen Sie den Abschnitt [plugins."io.containerd.grpc.v1.cri".containerd], und ändern Sie die Einstellungen snapshotter und root wie folgt:
[plugins."io.containerd.grpc.v1.cri".containerd]
snapshotter = "overlayfs"
root = "/mnt/nvme/containerd"
state = "/mnt/nvme/containerd/state"
-
Restart containerd.
-
Restart the containerd service to apply the changes.
+
Starten Sie containerd neu.
+
Starten Sie den containerd-Dienst neu, um die Änderungen zu übernehmen.
You are advised to verify the disk performance using Fio, which is a popular tool for benchmarking disk performance. The following is an example of how to run Fio to test the disk performance.
+
Es wird empfohlen, die Festplattenleistung mit Fio zu überprüfen. Fio ist ein beliebtes Tool zum Benchmarking der Festplattenleistung. Im Folgenden finden Sie ein Beispiel dafür, wie Sie Fio zum Testen der Festplattenleistung ausführen.
-
Deploy the test pod to the node with the NVMe disk.
+
Setzen Sie den Test-Pod auf dem Knoten mit der NVMe-Festplatte ein.
Once the verification results are satisfactory, you can deploy Milvus Distributed with the following steps:
-
Tips for deploying Milvus Distributed using Helm
The QueryNode pod uses NVMe disks as EmptyDir volumes by default. You are advised to mount NVMe disks to /var/lib/milvus/data within the QueryNode pods to ensure optimal performance.
Tips for deploying Milvus Distributed using Milvus Operator
The Milvus Operator automatically configures the QueryNode pod to use NVMe disks as EmptyDir volumes. You are advised to add the following configurations to the MilvusCluster custom resource:
+
Sobald die Überprüfungsergebnisse zufriedenstellend sind, können Sie Milvus Distributed mit den folgenden Schritten bereitstellen:
+
Tipps für den Einsatz von Milvus Distributed mit Helm
Der QueryNode-Pod verwendet standardmäßig NVMe-Festplatten als EmptyDir-Volumes. Es wird empfohlen, NVMe-Festplatten unter /var/lib/milvus/data innerhalb des QueryNode-Pods zu mounten, um eine optimale Leistung zu gewährleisten.
Tipps für die Bereitstellung von Milvus Distributed mit Milvus Operator
Der Milvus Operator konfiguriert den QueryNode-Pod automatisch für die Verwendung von NVMe-Festplatten als EmptyDir-Volumes. Wir empfehlen Ihnen, die folgenden Konfigurationen zur benutzerdefinierten Ressource MilvusCluster hinzuzufügen:
This will ensure that the QueryNode pod uses the NVMe disk as the data volume. For details on how to deploy Milvus Distributed using Milvus Operator, see Run Milvus in Kubernetes with Milvus Operator.
+
Dadurch wird sichergestellt, dass der QueryNode-Pod die NVMe-Festplatte als Datenvolumen verwendet. Einzelheiten zur Bereitstellung von Milvus Distributed mit Milvus Operator finden Sie unter Ausführen von Milvus in Kubernetes mit Milvus Operator.
diff --git a/localization/v2.5.x/site/de/adminGuide/configure_access_logs.json b/localization/v2.5.x/site/de/adminGuide/configure_access_logs.json
index 06c735799..ff8298089 100644
--- a/localization/v2.5.x/site/de/adminGuide/configure_access_logs.json
+++ b/localization/v2.5.x/site/de/adminGuide/configure_access_logs.json
@@ -1 +1 @@
-{"codeList":["proxy:\n accessLog:\n enable: true\n # If `filename` is emtpy, logs will be printed to stdout.\n filename: \"\"\n # Additional formatter configurations...\n","proxy:\n accessLog:\n enable: true\n filename: \"access_log.txt\" # Name of the access log file\n localPath: \"/var/logs/milvus\" # Local file path where the access log file is stored\n maxSize: 500 # Max size for each single access log file. Unit: MB\n rotatedTime: 24 # Time interval for log rotation. Unit: seconds\n maxBackups: 7 # Max number of sealed access log files that can be retained\n # Additional formatter configurations...\n","proxy:\n accessLog:\n enable: true\n filename: \"access_log.txt\"\n localPath: \"/var/logs/milvus\"\n maxSize: 500\n rotatedTime: 24 \n maxBackups: 7\n minioEnable: true\n remotePath: \"/milvus/logs/access_logs\"\n remoteMaxTime: 0\n # Additional formatter configurations...\n","proxy:\n accessLog:\n enable: true\n filename: \"access_log.txt\"\n localPath: \"/var/logs/milvus\"\n # Define custom formatters for access logs with format and applicable methods\n formatters:\n # The `base` formatter applies to all methods by default\n # The `base` formatter does not require specific method association\n base: \n # Format string; an empty string means no log output\n format: \"[$time_now] [ACCESS] <$user_name: $user_addr> $method_name-$method_status-$error_code [traceID: $trace_id] [timeCost: $time_cost]\"\n # Custom formatter for specific methods (e.g., Query, Search)\n query: \n format: \"[$time_now] [ACCESS] <$user_name: $user_addr> $method_status-$method_name [traceID: $trace_id] [timeCost: $time_cost] [database: $database_name] [collection: $collection_name] [partitions: $partition_name] [expr: $method_expr]\"\n # Specify the methods to which this custom formatter applies\n methods: [\"Query\", \"Search\"]\n"],"headingContent":"Configure Access Logs","anchorList":[{"label":"Configure Access Logs","href":"Configure-Access-Logs","type":1,"isActive":false},{"label":"Configuration options","href":"Configuration-options","type":2,"isActive":false},{"label":"Formatter config","href":"Formatter-config","type":2,"isActive":false},{"label":"Reference: Supported metrics","href":"Reference-Supported-metrics","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["proxy:\n accessLog:\n enable: true\n # If `filename` is emtpy, logs will be printed to stdout.\n filename: \"\"\n # Additional formatter configurations...\n","proxy:\n accessLog:\n enable: true\n filename: \"access_log.txt\" # Name of the access log file\n localPath: \"/var/logs/milvus\" # Local file path where the access log file is stored\n maxSize: 500 # Max size for each single access log file. Unit: MB\n rotatedTime: 24 # Time interval for log rotation. Unit: seconds\n maxBackups: 7 # Max number of sealed access log files that can be retained\n # Additional formatter configurations...\n","proxy:\n accessLog:\n enable: true\n filename: \"access_log.txt\"\n localPath: \"/var/logs/milvus\"\n maxSize: 500\n rotatedTime: 24 \n maxBackups: 7\n minioEnable: true\n remotePath: \"/milvus/logs/access_logs\"\n remoteMaxTime: 0\n # Additional formatter configurations...\n","proxy:\n accessLog:\n enable: true\n filename: \"access_log.txt\"\n localPath: \"/var/logs/milvus\"\n # Define custom formatters for access logs with format and applicable methods\n formatters:\n # The `base` formatter applies to all methods by default\n # The `base` formatter does not require specific method association\n base: \n # Format string; an empty string means no log output\n format: \"[$time_now] [ACCESS] <$user_name: $user_addr> $method_name-$method_status-$error_code [traceID: $trace_id] [timeCost: $time_cost]\"\n # Custom formatter for specific methods (e.g., Query, Search)\n query: \n format: \"[$time_now] [ACCESS] <$user_name: $user_addr> $method_status-$method_name [traceID: $trace_id] [timeCost: $time_cost] [database: $database_name] [collection: $collection_name] [partitions: $partition_name] [expr: $method_expr]\"\n # Specify the methods to which this custom formatter applies\n methods: [\"Query\", \"Search\"]\n"],"headingContent":"Configure Access Logs","anchorList":[{"label":"Zugriffsprotokolle konfigurieren","href":"Configure-Access-Logs","type":1,"isActive":false},{"label":"Konfigurationsoptionen","href":"Configuration-options","type":2,"isActive":false},{"label":"Formatierungskonfiguration","href":"Formatter-config","type":2,"isActive":false},{"label":"Referenz: Unterstützte Metriken","href":"Reference-Supported-metrics","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/configure_access_logs.md b/localization/v2.5.x/site/de/adminGuide/configure_access_logs.md
index e0ba6b975..9957133d5 100644
--- a/localization/v2.5.x/site/de/adminGuide/configure_access_logs.md
+++ b/localization/v2.5.x/site/de/adminGuide/configure_access_logs.md
@@ -1,8 +1,8 @@
---
id: configure_access_logs.md
-title: Configure Access Logs
+title: Zugriffsprotokolle konfigurieren
---
-
Configure Access Logs
+
Zugriffsprotokolle konfigurieren
-
The access log feature in Milvus allows server managers to record and analyze user access behavior, assisting in understanding aspects like query success rates and failure reasons.
-
This guide provides detailed instructions on configuring access logs in Milvus.
-
Configuration of access logs depends on the installation method of Milvus:
+
Die Zugriffsprotokollfunktion in Milvus ermöglicht es Servermanagern, das Zugriffsverhalten der Benutzer aufzuzeichnen und zu analysieren, um Aspekte wie die Erfolgsrate von Abfragen und die Gründe für Fehler zu verstehen.
+
Dieser Leitfaden enthält detaillierte Anweisungen zur Konfiguration von Zugriffsprotokollen in Milvus.
+
Die Konfiguration der Zugriffsprotokolle hängt von der Installationsmethode von Milvus ab:
Choose among three configuration options based on your needs:
+
Wählen Sie je nach Ihren Bedürfnissen zwischen drei Konfigurationsoptionen:
-
Base config: For general purposes.
-
Config for local access log files: For storing logs locally.
-
Config for uploading local access logs to MinIO: For cloud storage and backup.
+
Basiskonfiguration: Für allgemeine Zwecke.
+
Konfiguration für lokale Zugriffsprotokolldateien: Für die lokale Speicherung von Protokollen.
+
Konfiguration für das Hochladen von lokalen Zugriffsprotokollen zu MinIO: Für die Speicherung und Sicherung in der Cloud.
-
Base config
Basic configuration involves enabling access logs and defining the log filename or using stdout.
+
Basis-Konfiguration
Die Basiskonfiguration umfasst die Aktivierung von Zugriffsprotokollen und die Definition des Dateinamens für das Protokoll oder die Verwendung von stdout.
proxy.accessLog.enable: Whether to enable the access log feature. Defaults to false.
-
proxy.accessLog.filename: The name of the access log file. If you leave this parameter empty, access logs will be printed to stdout.
+
proxy.accessLog.enable: Ob die Zugriffsprotokollfunktion aktiviert werden soll. Die Voreinstellung ist false.
+
proxy.accessLog.filename: Der Name der Zugriffsprotokolldatei. Wenn Sie diesen Parameter leer lassen, werden die Zugriffsprotokolle auf stdout ausgegeben.
-
Config for local access log files
Configure local storage for access log files with parameters including the local file path, file size, and rotation interval:
+
Config für lokale Zugriffsprotokolldateien
Konfigurieren Sie die lokale Speicherung für Zugriffsprotokolldateien mit Parametern wie dem lokalen Dateipfad, der Dateigröße und dem Rotationsintervall:
proxy:
accessLog:
enable: true
@@ -69,14 +69,14 @@ title: Configure Access Logs
maxBackups: 7# Max number of sealed access log files that can be retained# Additional formatter configurations...
-
These parameters are specified when filename is not empty.
+
Diese Parameter werden angegeben, wenn filename nicht leer ist.
-
proxy.accessLog.localPath: The local file path where the access log file is stored.
-
proxy.accessLog.maxSize: The maximum size in MB allowed for a single access log file. If the log file size reaches this limit, a rotation process will be triggered. This process seals the current access log file, creates a new log file, and clears the contents of the original log file.
-
proxy.accessLog.rotatedTime: The maximum time interval in seconds allowed for rotating a single access log file. Upon reaching the specified time interval, a rotation process is triggered, resulting in the creation of a new access log file and sealing of the previous one.
-
proxy.accessLog.maxBackups: The maximum number of sealed access log files that can be retained. If the number of sealed access log files exceeds this limit, the oldest one will be deleted.
+
proxy.accessLog.localPath: Der lokale Dateipfad, in dem die Zugriffsprotokolldatei gespeichert wird.
+
proxy.accessLog.maxSize: Die maximal zulässige Größe in MB für eine einzelne Zugriffsprotokolldatei. Wenn die Größe der Protokolldatei diese Grenze erreicht, wird ein Rotationsprozess ausgelöst. Dieser Prozess versiegelt die aktuelle Zugriffsprotokolldatei, erstellt eine neue Protokolldatei und löscht den Inhalt der ursprünglichen Protokolldatei.
+
proxy.accessLog.rotatedTime: Das maximale Zeitintervall in Sekunden, das für die Rotation einer einzelnen Zugriffsprotokolldatei zulässig ist. Bei Erreichen des angegebenen Zeitintervalls wird ein Rotationsprozess ausgelöst, der zur Erstellung einer neuen Zugriffsprotokolldatei und zur Versiegelung der vorherigen Datei führt.
+
proxy.accessLog.maxBackups: Die maximale Anzahl der versiegelten Zugriffsprotokolldateien, die aufbewahrt werden können. Wenn die Anzahl der versiegelten Zugriffsprotokolldateien diese Grenze überschreitet, wird die älteste Datei gelöscht.
-
Config for uploading local access log files to MinIO
Enable and configure settings to upload local access log files to MinIO:
+
Konfiguration für das Hochladen lokaler Zugriffsprotokolldateien zu MinIO
Aktivieren und konfigurieren Sie die Einstellungen zum Hochladen lokaler Zugriffsprotokolldateien zu MinIO:
When configuring MinIO parameters, ensure that you have set either maxSize or rotatedTime. Failure to do so may result in unsuccessful uploads of local access log files to MinIO.
+
Stellen Sie bei der Konfiguration der MinIO-Parameter sicher, dass Sie entweder maxSize oder rotatedTime eingestellt haben. Andernfalls kann der Upload lokaler Zugriffsprotokolldateien zu MinIO fehlschlagen.
-
proxy.accessLog.minioEnable: Whether to upload local access log files to MinIO. Defaults to false.
-
proxy.accessLog.remotePath: The path of the object storage for uploading access log files.
-
proxy.accessLog.remoteMaxTime: The time interval allowed for uploading access log files. If the upload time of a log file exceeds this interval, the file will be deleted. Setting the value to 0 disables this feature.
+
proxy.accessLog.minioEnable: Ob lokale Zugriffsprotokolldateien zu MinIO hochgeladen werden sollen. Die Voreinstellung ist false.
+
proxy.accessLog.remotePath: Der Pfad des Objektspeichers für das Hochladen von Zugriffsprotokolldateien.
+
proxy.accessLog.remoteMaxTime: Das zulässige Zeitintervall für das Hochladen von Zugriffsprotokolldateien. Wenn die Hochladezeit einer Protokolldatei dieses Intervall überschreitet, wird die Datei gelöscht. Wird der Wert auf 0 gesetzt, wird diese Funktion deaktiviert.
-
Formatter config
+
Formatierungskonfiguration
-
The default log format used for all methods is the base format, which does not require specific method associations. However, if you wish to customize the log output for specific methods, you can define a custom log format and apply it to the associated methods.
+
Das Standardprotokollformat, das für alle Methoden verwendet wird, ist das Format base, das keine spezifischen Methodenzuordnungen erfordert. Wenn Sie jedoch die Protokollausgabe für bestimmte Methoden anpassen möchten, können Sie ein benutzerdefiniertes Protokollformat definieren und es auf die zugehörigen Methoden anwenden.
proxy.accessLog.<formatter_name>.format: Defines the log format with dynamic metrics. For more information, see Supported metrics.
-
proxy.accessLog.<formatter_name>.methods: Lists Milvus operations using this formatter. To obtain method names, see MilvusService in Milvus methods.
+
proxy.accessLog.<formatter_name>.format: Definiert das Protokollformat mit dynamischen Metriken. Weitere Informationen finden Sie unter Unterstützte Metriken.
+
proxy.accessLog.<formatter_name>.methods: Listet die Milvus-Operationen auf, die diesen Formatierer verwenden. Um Methodennamen zu erhalten, siehe MilvusService in Milvus-Methoden.
-
Reference: Supported metrics
+
Referenz: Unterstützte Metriken
-
Metric Name
Description
+
Metrik Name
Beschreibung
-
$method_name
Name of the method
-
$method_status
Status of access: OK or Fail
-
$method_expr
Expression used for query, search, or delete operations
-
$trace_id
TraceID associated with the access
-
$user_addr
IP address of the user
-
$user_name
Name of the user
-
$response_size
Size of the response data
-
$error_code
Error code specific to Milvus
-
$error_msg
Detailed error message
-
$database_name
Name of the target Milvus database
-
$collection_name
Name of the target Milvus collection
-
$partition_name
Name or names of the target Milvus partition(s)
-
$time_cost
Time taken for completing the access
-
$time_now
Time at which the access log is printed (usually equivalent to $time_end)
-
$time_start
Time at which the access starts
-
$time_end
Time at which the access ends
-
$sdk_version
Version of the Milvus SDK used by the user
+
$method_name
Name der Methode
+
$method_status
Status des Zugriffs: OK oder Fehlgeschlagen
+
$method_expr
Für Abfrage-, Such- oder Löschvorgänge verwendeter Ausdruck
+
$trace_id
Mit dem Zugriff verbundene TraceID
+
$user_addr
IP-Adresse des Benutzers
+
$user_name
Name des Benutzers
+
$response_size
Größe der Antwortdaten
+
$error_code
Fehlercode speziell für Milvus
+
$error_msg
Detaillierte Fehlermeldung
+
$database_name
Name der Milvus-Zieldatenbank
+
$collection_name
Name der Milvus-Zielsammlung
+
$partition_name
Name oder Namen der Milvus-Zielpartition(en)
+
$time_cost
Zeit, die für die Beendigung des Zugriffs benötigt wurde
+
$time_now
Zeitpunkt, zu dem das Zugriffsprotokoll gedruckt wird (entspricht in der Regel $time_end)
In production environment, you need to allocate resources to the Milvus cluster based on machine type and workload. You can configure during deployment or update the configurations while the cluster is running.
-
This topic introduces how to configure a Milvus cluster when you install it with Milvus Operator.
-
This topic assumes that you have deployed Milvus Operator. See Deploy Milvus Operator for more information.
-
Configuring a Milvus cluster with Milvus Operator includes:
+
In einer Produktionsumgebung müssen Sie dem Milvus-Cluster Ressourcen auf der Grundlage des Maschinentyps und der Arbeitslast zuweisen. Sie können die Konfiguration während der Bereitstellung vornehmen oder die Konfigurationen aktualisieren, während der Cluster läuft.
+
In diesem Thema wird beschrieben, wie Sie einen Milvus-Cluster bei der Installation mit Milvus Operator konfigurieren.
+
Dieses Thema setzt voraus, dass Sie Milvus Operator installiert haben. Weitere Informationen finden Sie unter Einsetzen von Milvus Operator.
+
Die Konfiguration eines Milvus-Clusters mit Milvus Operator umfasst:
-
Global resource configurations
-
Private resource configurations
+
Globale Ressourcenkonfigurationen
+
Private Ressourcenkonfigurationen
-Private resource configurations will overwrite global resource configurations. If you configure the resources globally and specify the private resource of a certain component at the same time, the component will prioritize and respond to the private configurations first.
-
-
Configure global resources
+Private Ressourcenkonfigurationen überschreiben globale Ressourcenkonfigurationen. Wenn Sie die Ressourcen global konfigurieren und gleichzeitig die private Ressource einer bestimmten Komponente angeben, wird die Komponente priorisiert und reagiert zuerst auf die privaten Konfigurationen.
+
Globale Ressourcen konfigurieren
-
When using Milvus Operator to start a Milvus cluster, you need to specify a configuration file. The example here uses the default configuration file.
+
Wenn Sie Milvus Operator verwenden, um einen Milvus-Cluster zu starten, müssen Sie eine Konfigurationsdatei angeben. In diesem Beispiel wird die Standardkonfigurationsdatei verwendet.
The field spec.components includes both the global and private resource configuration of all Milvus components. The following are four commonly used fields to configure global resource.
+
Das Feld spec.components enthält sowohl die globale als auch die private Ressourcenkonfiguration aller Milvus-Komponenten. Im Folgenden werden vier häufig verwendete Felder zur Konfiguration der globalen Ressource aufgeführt.
-
image: The Milvus docker image used.
-
resources: The compute resources allocated to each component.
-
tolerations and nodeSelector: The scheduling rules of each Milvus component in the K8s cluster. See tolerations and nodeSelector for more information.
-
env: The environment variables.
+
image: Das verwendete Milvus-Docker-Image.
+
resources: Die jeder Komponente zugewiesenen Rechenressourcen.
+
tolerations und nodeSelector: Die Planungsregeln für jede Milvus-Komponente im K8s-Cluster. Siehe Toleranzen und nodeSelector für weitere Informationen.
+
env: Die Umgebungsvariablen.
-
If you want to configure more fields, see documentation here.
-
To configure global resource for Milvus cluster, create a milvuscluster_resource.yaml file.
-
Example
The following example configures global resource for a Milvus cluster.
+
Wenn Sie weitere Felder konfigurieren möchten, lesen Sie die Dokumentation hier.
+
Um globale Ressourcen für den Milvus-Cluster zu konfigurieren, erstellen Sie eine milvuscluster_resource.yaml Datei.
+
Beispiel
Das folgende Beispiel konfiguriert die globale Ressource für einen Milvus-Cluster.
Run the following command to apply new configurations:
+
Führen Sie den folgenden Befehl aus, um die neuen Konfigurationen anzuwenden:
kubectl apply -f milvuscluster_resource.yaml
-Cluster resources will be updated according to the configuration file if there is a Milvus cluster named my-release in the K8s cluster. Otherwise, a new Milvus cluster will be created.
-
-
Configure private resources
+Die Cluster-Ressourcen werden entsprechend der Konfigurationsdatei aktualisiert, wenn ein Milvus-Cluster namens my-release im K8s-Cluster vorhanden ist. Andernfalls wird ein neuer Milvus-Cluster erstellt.
+
Private Ressourcen konfigurieren
-
Originally in Milvus 2.0, a Milvus cluster includes seven components: proxy, root coord, data coord, query coord, index node, data node, and query node. However, a new component, mix coord, is released along with Milvus 2.1.0. Mix coord includes all coordinator components. Therefore, starting a mix coord means that you do not need to install and start other coordinators including root coord, data coord, and query coord.
-
Common fields used to configure each component include:
+
Ursprünglich umfasst ein Milvus-Cluster in Milvus 2.0 sieben Komponenten: Proxy, Root Coord, Data Coord, Query Coord, Index Node, Data Node und Query Node. Mit Milvus 2.1.0 wird jedoch eine neue Komponente, Mix Coord, veröffentlicht. Mix Coord umfasst alle Koordinatorenkomponenten. Daher bedeutet das Starten eines Mix-Koordinators, dass Sie keine anderen Koordinatoren, einschließlich Root-Koordinator, Datenkoordinator und Abfragekoordinator, installieren und starten müssen.
+
Zur Konfiguration der einzelnen Komponenten werden die folgenden Felder verwendet:
-
replica: The number of replicas of each component.
-
port: The listen port number of each component.
-
The four commonly used fields in global resource configuration: image, env, nodeSelector, tolerations, resources (see above). For more configurable fields, click on each component in this documentation.
+
replica: Die Anzahl der Replikate jeder Komponente.
+
port: Die Nummer des Listen-Ports der einzelnen Komponenten.
+
Die vier in der globalen Ressourcenkonfiguration häufig verwendeten Felder: image, env, nodeSelector, tolerations, resources (siehe oben). Weitere konfigurierbare Felder finden Sie, wenn Sie auf die einzelnen Komponenten in dieser Dokumentation klicken.
-In addition, when configuring proxy, there is an extra field called `serviceType`. This field defines the type of service Milvus provides in the K8s cluster.
-
-
To configure resources for a specific component, add the component name in the field under spec.componets first and then configure its private resources.
+Außerdem gibt es bei der Konfiguration des Proxys ein zusätzliches Feld namens "serviceType". Dieses Feld definiert den Typ des Dienstes, den Milvus im K8s-Cluster bereitstellt.
+
Um die Ressourcen für eine bestimmte Komponente zu konfigurieren, fügen Sie zuerst den Komponentennamen in das Feld unter spec.componets ein und konfigurieren dann die privaten Ressourcen.
-This example configures not only global resources but also private compute resources for root coord and proxy. When using this configuration file to start a Milvus cluster, the private resources configurations will be applied to root coord and proxy, while the rest of the components will follow the global resource configuration.
-
-
Run the following command to apply new configurations:
+Dieses Beispiel konfiguriert nicht nur globale Ressourcen, sondern auch private Rechenressourcen für Root-Koordinator und Proxy. Wenn Sie diese Konfigurationsdatei zum Starten eines Milvus-Clusters verwenden, werden die Konfigurationen der privaten Ressourcen auf Root-Coord und Proxy angewendet, während die übrigen Komponenten der Konfiguration der globalen Ressourcen folgen.
+
Führen Sie den folgenden Befehl aus, um die neuen Konfigurationen anzuwenden:
kubectl apply -f milvuscluster.yaml
-
What’s next
+
Wie geht es weiter?
-
Learn how to manage the following Milvus dependencies with Milvus Operator:
-
This guide lists several ways to connect Milvus to Kafka, from the simplest one without SASL/SSL to the fully secured one with SASL/SSL.
-
Connect Milvus to Kafka Without SASL/SSL
+
Dieser Leitfaden listet mehrere Möglichkeiten auf, Milvus mit Kafka zu verbinden, von der einfachsten ohne SASL/SSL bis zur vollständig gesicherten mit SASL/SSL.
To start Milvus and Kafka without SASL/SSL, you disable authentication and encryption for both Kafka and Milvus. Use them only in a trusted environment.
-
1. Start a Kafka service without SASL/SSL
You can use the following docker-compose.yaml file to start a Kafka service without SASL/SSL:
+
Um Milvus und Kafka ohne SASL/SSL zu starten, deaktivieren Sie die Authentifizierung und Verschlüsselung sowohl für Kafka als auch für Milvus. Verwenden Sie diese nur in einer vertrauenswürdigen Umgebung.
+
1. Starten Sie einen Kafka-Dienst ohne SASL/SSL
Sie können die folgende docker-compose.yaml Datei verwenden, um einen Kafka-Dienst ohne SASL/SSL zu starten:
Then you can start the Kafka service with the following command:
+
Anschließend können Sie den Kafka-Dienst mit dem folgenden Befehl starten:
$ docker-compose up -d
-
2. Start Milvus and Connect to Kafka
Once the Kafka service is started, you can start Milvus and connect to it. Use the following docker-compose.yaml file to start Milvus and connect to Kafka without SASL/SSL:
+
2. Milvus starten und mit Kafka verbinden
Sobald der Kafka-Dienst gestartet ist, können Sie Milvus starten und sich mit ihm verbinden. Verwenden Sie die folgende docker-compose.yaml Datei, um Milvus zu starten und eine Verbindung zu Kafka ohne SASL/SSL herzustellen:
Then you can start the Kafka service with the following command:
+
Dann können Sie den Kafka-Dienst mit dem folgenden Befehl starten:
$ docker-compose up -d
-
2. Start Milvus and Connect to Kafka
Once the Kafka service is started, you can start Milvus and connect to it. Use the following docker-compose.yaml file to start Milvus and connect to Kafka with SASL/PLAIN:
+
2. Starten Sie Milvus und verbinden Sie sich mit Kafka
Sobald der Kafka-Dienst gestartet ist, können Sie Milvus starten und sich mit ihm verbinden. Verwenden Sie die folgende docker-compose.yaml Datei, um Milvus zu starten und eine Verbindung zu Kafka mit SASL/PLAIN herzustellen:
mq:
type: kafka
@@ -207,10 +208,10 @@ kafka:
tlsCACert: # file or directory path to CA certificate
tlsKeyPassword: # private key passphrase for use with private key, if any
-
Then you can start Milvus with the following command:
+
Dann können Sie Milvus mit dem folgenden Befehl starten:
$ docker-compose up -d
-
Connect Milvus to Kafka with SSL Alone
+
Verbinden Sie Milvus mit Kafka mit SSL Alleine
-
To start Kafka with SSL authentication, you need to obtain some certificates files or generate self-signed ones. In this example, we use self-signed certificates.
-
1. Generate Self-Signed Certificates
Create a folder named my_secrets, add a bash script named gen-ssl-certs.sh in it, and paste the following content into it:
+
Um Kafka mit SSL-Authentifizierung zu starten, müssen Sie einige Zertifikatsdateien erhalten oder selbstsignierte Zertifikate generieren. In diesem Beispiel verwenden wir selbstsignierte Zertifikate.
+
1. Selbstsignierte Zertifikate generieren
Erstellen Sie einen Ordner mit dem Namen my_secrets, fügen Sie darin ein Bash-Skript mit dem Namen gen-ssl-certs.sh ein und fügen Sie den folgenden Inhalt darin ein:
#!/bin/bash##
@@ -392,23 +393,23 @@ EOF
exit 1
fi
-
In the above script, a default password abcdefgh applies. To change the password, create a text file named cert_creds and input the password in the first line.
-
Then run the following command to generate the certificates:
+
Im obigen Skript gilt ein Standardpasswort abcdefgh. Um das Passwort zu ändern, erstellen Sie eine Textdatei mit dem Namen cert_creds und geben Sie das Passwort in der ersten Zeile ein.
+
Führen Sie dann den folgenden Befehl aus, um die Zertifikate zu erzeugen:
-
Generate CA certificate:
-
The following assumes the CA certificate file is named ca-cert and the hostname of the broker is kafka-ssl:
+
CA-Zertifikat generieren:
+
Im Folgenden wird davon ausgegangen, dass die CA-Zertifikatsdatei den Namen ca-cert trägt und der Hostname des Brokers kafka-ssl ist:
$ ./gen-ssl-certs.sh ca ca-cert kafka-ssl
-
Generate server certificate and keystore:
-
The following assumes the CA certificate file is named ca-cert, the prefix for all output files is kafka_, and the hostname of the broker is kafka-ssl:
+
Serverzertifikat und Schlüsselspeicher generieren:
+
Im Folgenden wird davon ausgegangen, dass die CA-Zertifikatsdatei den Namen ca-cert trägt, das Präfix für alle Ausgabedateien kafka_ lautet und der Hostname des Brokers kafka-ssl ist:
$ ./gen-ssl-certs.sh -k server ca-cert kafka_ kafka-ssl
-
Generate client keys:
-
The following assumes the CA certificate file is named ca-cert, the prefix for all output files is kafka_, and the client name is kafka-client:
+
Erzeugen von Client-Schlüsseln:
+
Im Folgenden wird davon ausgegangen, dass die CA-Zertifikatsdatei den Namen ca-cert hat, das Präfix für alle Ausgabedateien kafka_ lautet und der Client-Name kafka-client ist:
Then start the Kafka service with the following command:
+
Starten Sie dann den Kafka-Dienst mit dem folgenden Befehl:
$ docker-compose up -d
-
3. Start Milvus and Connect to Kafka with SSL
Once the Kafka service is started, you can start Milvus and connect to it. Use the following docker-compose.yaml file to start Milvus and connect to Kafka with SSL:
+
3. Starten Sie Milvus und verbinden Sie sich mit Kafka mit SSL
Sobald der Kafka-Dienst gestartet ist, können Sie Milvus starten und sich mit ihm verbinden. Verwenden Sie die folgende docker-compose.yaml Datei, um Milvus zu starten und eine Verbindung zu Kafka mit SSL herzustellen:
mq:
type: kafka
@@ -505,10 +506,10 @@ kafka:
tlsCACert: /milvus/secrets/ca-cert # file or directory path to CA certificate
tlsKeyPassword: abcdefgh # private key passphrase for use with private key, if any
-
Then start Milvus with the following command:
+
Starten Sie dann Milvus mit dem folgenden Befehl:
$ docker-compose up -d
-
Connect Milvus to Kafka with SASL/PLAIN and SSL
+
Verbinden von Milvus mit Kafka mit SASL/PLAIN und SSL
-
Then start the Kafka service with the following command:
+
Starten Sie dann den Kafka-Dienst mit dem folgenden Befehl:
$ docker-compose up -d
-
2. Start Milvus and Connect to Kafka with SASL/PLAIN and SSL
Once the Kafka service is started, you can start Milvus and connect to it. Use the following docker-compose.yaml file to start Milvus and connect to Kafka with SASL/PLAIN and SSL:
+
2. Starten Sie Milvus und verbinden Sie sich mit Kafka mit SASL/PLAIN und SSL
Sobald der Kafka-Dienst gestartet ist, können Sie Milvus starten und sich mit ihm verbinden. Verwenden Sie die folgende docker-compose.yaml Datei, um Milvus zu starten und eine Verbindung zu Kafka mit SASL/PLAIN und SSL herzustellen:
mq:
type: kafka
diff --git a/localization/v2.5.x/site/de/adminGuide/deploy_etcd.json b/localization/v2.5.x/site/de/adminGuide/deploy_etcd.json
index 44ee6e60e..1f9be3db1 100644
--- a/localization/v2.5.x/site/de/adminGuide/deploy_etcd.json
+++ b/localization/v2.5.x/site/de/adminGuide/deploy_etcd.json
@@ -1 +1 @@
-{"codeList":["etcd:\n endpoints:\n - localhost:2379\n rootPath: by-dev # The root path where data are stored in etcd\n metaSubPath: meta # metaRootPath = rootPath + '/' + metaSubPath\n kvSubPath: kv # kvRootPath = rootPath + '/' + kvSubPath\n log:\n # path is one of:\n # - \"default\" as os.Stderr,\n # - \"stderr\" as os.Stderr,\n # - \"stdout\" as os.Stdout,\n # - file path to append server logs to.\n # please adjust in embedded Milvus: /tmp/milvus/logs/etcd.log\n path: stdout\n level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.\n use:\n # please adjust in embedded Milvus: true\n embed: false # Whether to enable embedded Etcd (an in-process EtcdServer).\n data:\n # Embedded Etcd only.\n # please adjust in embedded Milvus: /tmp/milvus/etcdData/\n dir: default.etcd\n","docker compose up\n","etcd:\n enabled: false\n","externalEtcd:\n enabled: true\n ## the endpoints of the external etcd\n endpoints:\n - :2379\n","helm install milvus/milvus -f values.yaml\n","helm install milvus/milvus --set cluster.enabled=true --set etcd.enabled=false --set externaletcd.enabled=true --set externalEtcd.endpoints={:2379}\n"],"headingContent":"Configure Meta Storage with Docker Compose or Helm","anchorList":[{"label":"Configure Meta Storage with Docker Compose or Helm","href":"Configure-Meta-Storage-with-Docker-Compose-or-Helm","type":1,"isActive":false},{"label":"Configure etcd with Docker Compose","href":"Configure-etcd-with-Docker-Compose","type":2,"isActive":false},{"label":"Configure etcd on K8s","href":"Configure-etcd-on-K8s","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["etcd:\n endpoints:\n - localhost:2379\n rootPath: by-dev # The root path where data are stored in etcd\n metaSubPath: meta # metaRootPath = rootPath + '/' + metaSubPath\n kvSubPath: kv # kvRootPath = rootPath + '/' + kvSubPath\n log:\n # path is one of:\n # - \"default\" as os.Stderr,\n # - \"stderr\" as os.Stderr,\n # - \"stdout\" as os.Stdout,\n # - file path to append server logs to.\n # please adjust in embedded Milvus: /tmp/milvus/logs/etcd.log\n path: stdout\n level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.\n use:\n # please adjust in embedded Milvus: true\n embed: false # Whether to enable embedded Etcd (an in-process EtcdServer).\n data:\n # Embedded Etcd only.\n # please adjust in embedded Milvus: /tmp/milvus/etcdData/\n dir: default.etcd\n","docker compose up\n","etcd:\n enabled: false\n","externalEtcd:\n enabled: true\n ## the endpoints of the external etcd\n endpoints:\n - :2379\n","helm install milvus/milvus -f values.yaml\n","helm install milvus/milvus --set cluster.enabled=true --set etcd.enabled=false --set externaletcd.enabled=true --set externalEtcd.endpoints={:2379}\n"],"headingContent":"Configure Meta Storage with Docker Compose or Helm","anchorList":[{"label":"Konfigurieren Sie den Metaspeicher mit Docker Compose oder Helm","href":"Configure-Meta-Storage-with-Docker-Compose-or-Helm","type":1,"isActive":false},{"label":"Konfigurieren von etcd mit Docker Compose","href":"Configure-etcd-with-Docker-Compose","type":2,"isActive":false},{"label":"Konfigurieren Sie etcd auf K8s","href":"Configure-etcd-on-K8s","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/deploy_etcd.md b/localization/v2.5.x/site/de/adminGuide/deploy_etcd.md
index 4ea3888f9..4551a3ffa 100644
--- a/localization/v2.5.x/site/de/adminGuide/deploy_etcd.md
+++ b/localization/v2.5.x/site/de/adminGuide/deploy_etcd.md
@@ -1,10 +1,12 @@
---
id: deploy_etcd.md
-title: Configure Meta Storage with Docker Compose or Helm
+title: Konfigurieren Sie den Metaspeicher mit Docker Compose oder Helm
related_key: 'S3, storage'
-summary: Learn how to configure meta storage for Milvus with Docker Compose/Helm.
+summary: >-
+ Erfahren Sie, wie Sie Metaspeicher für Milvus mit Docker Compose/Helm
+ konfigurieren.
---
-
Configure Meta Storage with Docker Compose or Helm
+
Konfigurieren Sie den Metaspeicher mit Docker Compose oder Helm
-
Milvus uses etcd for storing metadata. This topic introduces how to configure etcd with Docker Compose or Helm.
-
Configure etcd with Docker Compose
+
Milvus verwendet etcd zum Speichern von Metadaten. In diesem Thema wird erläutert, wie Sie etcd mit Docker Compose oder Helm konfigurieren.
+
Konfigurieren von etcd mit Docker Compose
-
1. Configure etcd
To configure etcd with Docker Compose, provide your values for the etcd section in the milvus.yaml file on the milvus/configs path.
+
1. Konfigurieren von etcd
Um etcd mit Docker Compose zu konfigurieren, geben Sie Ihre Werte für den Abschnitt etcd in der Datei milvus.yaml im Pfad milvus/configs an.
etcd:
endpoints:
- localhost:2379
@@ -59,12 +61,12 @@ summary: Learn how to configure meta storage for Milvus with Docker Compose/Helm
# please adjust in embedded Milvus: /tmp/milvus/etcdData/dir: default.etcd
Führen Sie den folgenden Befehl aus, um Milvus zu starten, das die etcd-Konfigurationen verwendet.
docker compose up
-
Configurations only take effect after Milvus starts. See Start Milvus for more information.
-
Configure etcd on K8s
+
Die Konfigurationen werden erst nach dem Start von Milvus wirksam. Siehe Starten von Milvus für weitere Informationen.
+
Konfigurieren Sie etcd auf K8s
-
For Milvus clusters on K8s, you can configure etcd in the same command that starts Milvus. Alternatively, you can configure etcd using the values.yml file on the /charts/milvus path in the milvus-helm repository before you start Milvus.
-
The following table lists the keys for configuring etcd in the YAML file.
+
Für Milvus-Cluster auf K8s können Sie etcd mit demselben Befehl konfigurieren, mit dem Milvus gestartet wird. Alternativ können Sie etcd mithilfe der Datei values.yml im Pfad /charts/milvus im milvus-helm-Repository konfigurieren, bevor Sie Milvus starten.
+
In der folgenden Tabelle sind die Schlüssel für die Konfiguration von etcd in der YAML-Datei aufgeführt.
-
Key
Description
Value
+
Schlüssel
Beschreibung
Wert
-
etcd.enabled
Enables or disables etcd.
true/false
-
externalEtcd.enabled
Enables or disables external etcd.
true/false
-
externalEtcd.endpoints
The endpoint to access etcd.
+
etcd.enabled
Aktiviert oder deaktiviert etcd.
true/false
+
externalEtcd.enabled
Aktiviert oder deaktiviert externes etcd.
true/false
+
externalEtcd.endpoints
Der Endpunkt für den Zugriff auf etcd.
-
Using the YAML file
-
Configure the etcd section using your values in the values.yaml file.
+
Verwendung der YAML-Datei
+
Konfigurieren Sie den Abschnitt etcd mit Ihren Werten aus der Datei values.yaml.
etcd:
enabled: false
-
Configure the externaletcd section using your values in the values.yaml file.
+
Konfigurieren Sie den Abschnitt externaletcd unter Verwendung Ihrer Werte aus der Datei values.yaml.
externalEtcd:
enabled: true
@@ -107,14 +109,14 @@ summary: Learn how to configure meta storage for Milvus with Docker Compose/Helm
- <your_etcd_IP>:2379
-
After configuring the preceding sections and saving the values.yaml file, run the following command to install Milvus that uses the etcd configurations.
+
Nachdem Sie die vorangegangenen Abschnitte konfiguriert und die Datei values.yaml gespeichert haben, führen Sie den folgenden Befehl aus, um Milvus zu installieren, das die etcd-Konfigurationen verwendet.
diff --git a/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.json b/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.json
index 9837df14a..a7c06ab24 100644
--- a/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.json
+++ b/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.json
@@ -1 +1 @@
-{"codeList":["pulsar:\n address: localhost # Address of pulsar\n port: 6650 # Port of pulsar\n maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.\n","docker compose up\n","extraConfigFiles:\n user.yaml: |+\n pulsar:\n address: localhost # Address of pulsar\n port: 6650 # Port of Pulsar\n webport: 80 # Web port of pulsar, if you connect direcly without proxy, should use 8080\n maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.\n tenant: public\n namespace: default \n","helm install milvus/milvus -f values.yaml\n","extraConfigFiles:\n user.yaml: |+\n kafka:\n brokerList:\n - :\n saslUsername:\n saslPassword:\n saslMechanisms: PLAIN\n securityProtocol: SASL_SSL \n","helm install milvus/milvus -f values.yaml\n","extraConfigFiles:\n user.yaml: |+\n rocksmq:\n # The path where the message is stored in rocksmq\n # please adjust in embedded Milvus: /tmp/milvus/rdb_data\n path: /var/lib/milvus/rdb_data\n lrucacheratio: 0.06 # rocksdb cache memory ratio\n rocksmqPageSize: 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq\n retentionTimeInMinutes: 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq.\n retentionSizeInMB: 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.\n compactionInterval: 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data\n # compaction compression type, only support use 0,7.\n # 0 means not compress, 7 will use zstd\n # len of types means num of rocksdb level.\n compressionTypes: [0, 0, 7, 7, 7] \n","extraConfigFiles:\n user.yaml: |+\n mq:\n type: natsmq\n natsmq:\n # server side configuration for natsmq.\n server: \n # 4222 by default, Port for nats server listening.\n port: 4222 \n # /var/lib/milvus/nats by default, directory to use for JetStream storage of nats.\n storeDir: /var/lib/milvus/nats \n # (B) 16GB by default, Maximum size of the 'file' storage.\n maxFileStore: 17179869184 \n # (B) 8MB by default, Maximum number of bytes in a message payload.\n maxPayload: 8388608 \n # (B) 64MB by default, Maximum number of bytes buffered for a connection applies to client connections.\n maxPending: 67108864 \n # (√ms) 4s by default, waiting for initialization of natsmq finished.\n initializeTimeout: 4000 \n monitor:\n # false by default, If true enable debug log messages.\n debug: false \n # true by default, If set to false, log without timestamps.\n logTime: true \n # no log file by default, Log file path relative to.. .\n logFile: \n # (B) 0, unlimited by default, Size in bytes after the log file rolls over to a new one.\n logSizeLimit: 0 \n retention:\n # (min) 3 days by default, Maximum age of any message in the P-channel.\n maxAge: 4320 \n # (B) None by default, How many bytes the single P-channel may contain. Removing oldest messages if the P-channel exceeds this size.\n maxBytes:\n # None by default, How many message the single P-channel may contain. Removing oldest messages if the P-channel exceeds this limit. \n maxMsgs: \n"],"headingContent":"Configure Message Storage with Docker Compose or Helm","anchorList":[{"label":"Configure Message Storage with Docker Compose or Helm","href":"Configure-Message-Storage-with-Docker-Compose-or-Helm","type":1,"isActive":false},{"label":"Configure Pulsar with Docker Compose","href":"Configure-Pulsar-with-Docker-Compose","type":2,"isActive":false},{"label":"Configure Pulsar with Helm","href":"Configure-Pulsar-with-Helm","type":2,"isActive":false},{"label":"Configure Kafka with Helm","href":"Configure-Kafka-with-Helm","type":2,"isActive":false},{"label":"Configure RocksMQ with Helm","href":"Configure-RocksMQ-with-Helm","type":2,"isActive":false},{"label":"Configure NATS with Helm","href":"Configure-NATS-with-Helm","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["pulsar:\n address: localhost # Address of pulsar\n port: 6650 # Port of pulsar\n maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.\n","docker compose up\n","extraConfigFiles:\n user.yaml: |+\n pulsar:\n address: localhost # Address of pulsar\n port: 6650 # Port of Pulsar\n webport: 80 # Web port of pulsar, if you connect direcly without proxy, should use 8080\n maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.\n tenant: public\n namespace: default \n","helm install milvus/milvus -f values.yaml\n","extraConfigFiles:\n user.yaml: |+\n kafka:\n brokerList:\n - :\n saslUsername:\n saslPassword:\n saslMechanisms: PLAIN\n securityProtocol: SASL_SSL \n","helm install milvus/milvus -f values.yaml\n","extraConfigFiles:\n user.yaml: |+\n rocksmq:\n # The path where the message is stored in rocksmq\n # please adjust in embedded Milvus: /tmp/milvus/rdb_data\n path: /var/lib/milvus/rdb_data\n lrucacheratio: 0.06 # rocksdb cache memory ratio\n rocksmqPageSize: 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq\n retentionTimeInMinutes: 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq.\n retentionSizeInMB: 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.\n compactionInterval: 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data\n # compaction compression type, only support use 0,7.\n # 0 means not compress, 7 will use zstd\n # len of types means num of rocksdb level.\n compressionTypes: [0, 0, 7, 7, 7] \n","extraConfigFiles:\n user.yaml: |+\n mq:\n type: natsmq\n natsmq:\n # server side configuration for natsmq.\n server: \n # 4222 by default, Port for nats server listening.\n port: 4222 \n # /var/lib/milvus/nats by default, directory to use for JetStream storage of nats.\n storeDir: /var/lib/milvus/nats \n # (B) 16GB by default, Maximum size of the 'file' storage.\n maxFileStore: 17179869184 \n # (B) 8MB by default, Maximum number of bytes in a message payload.\n maxPayload: 8388608 \n # (B) 64MB by default, Maximum number of bytes buffered for a connection applies to client connections.\n maxPending: 67108864 \n # (√ms) 4s by default, waiting for initialization of natsmq finished.\n initializeTimeout: 4000 \n monitor:\n # false by default, If true enable debug log messages.\n debug: false \n # true by default, If set to false, log without timestamps.\n logTime: true \n # no log file by default, Log file path relative to.. .\n logFile: \n # (B) 0, unlimited by default, Size in bytes after the log file rolls over to a new one.\n logSizeLimit: 0 \n retention:\n # (min) 3 days by default, Maximum age of any message in the P-channel.\n maxAge: 4320 \n # (B) None by default, How many bytes the single P-channel may contain. Removing oldest messages if the P-channel exceeds this size.\n maxBytes:\n # None by default, How many message the single P-channel may contain. Removing oldest messages if the P-channel exceeds this limit. \n maxMsgs: \n"],"headingContent":"Configure Message Storage with Docker Compose or Helm","anchorList":[{"label":"Konfigurieren Sie den Nachrichtenspeicher mit Docker Compose oder Helm","href":"Configure-Message-Storage-with-Docker-Compose-or-Helm","type":1,"isActive":false},{"label":"Konfigurieren von Pulsar mit Docker Compose","href":"Configure-Pulsar-with-Docker-Compose","type":2,"isActive":false},{"label":"Konfigurieren Sie Pulsar mit Helm","href":"Configure-Pulsar-with-Helm","type":2,"isActive":false},{"label":"Konfigurieren Sie Kafka mit Helm","href":"Configure-Kafka-with-Helm","type":2,"isActive":false},{"label":"Konfigurieren Sie RocksMQ mit Helm","href":"Configure-RocksMQ-with-Helm","type":2,"isActive":false},{"label":"Konfigurieren Sie NATS mit Helm","href":"Configure-NATS-with-Helm","type":2,"isActive":false},{"label":"Was kommt als nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.md b/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.md
index 679426e11..d964ac90e 100644
--- a/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.md
+++ b/localization/v2.5.x/site/de/adminGuide/deploy_pulsar.md
@@ -1,10 +1,12 @@
---
id: deploy_pulsar.md
-title: Configure Message Storage with Docker Compose or Helm
+title: Konfigurieren Sie den Nachrichtenspeicher mit Docker Compose oder Helm
related_key: 'Pulsar, storage'
-summary: Learn how to configure message storage with Docker Compose or Helm.
+summary: >-
+ Erfahren Sie, wie Sie den Nachrichtenspeicher mit Docker Compose oder Helm
+ konfigurieren.
---
-
Configure Message Storage with Docker Compose or Helm
+
Konfigurieren Sie den Nachrichtenspeicher mit Docker Compose oder Helm
-
Milvus uses Pulsar or Kafka for managing logs of recent changes, outputting stream logs, and providing log subscriptions. Pulsar is the default message storage system. This topic introduces how to configure message storage with Docker Compose or Helm.
-
You can configure Pulsar with Docker Compose or on K8s and configure Kafka on K8s.
-
Configure Pulsar with Docker Compose
+
Milvus verwendet Pulsar oder Kafka für die Verwaltung von Protokollen der letzten Änderungen, die Ausgabe von Stream-Protokollen und die Bereitstellung von Protokollabonnements. Pulsar ist das standardmäßige Nachrichtenspeichersystem. In diesem Thema wird beschrieben, wie Sie den Nachrichtenspeicher mit Docker Compose oder Helm konfigurieren.
+
Sie können Pulsar mit Docker Compose oder auf K8s konfigurieren und Kafka auf K8s konfigurieren.
+
Konfigurieren von Pulsar mit Docker Compose
-
1. Configure Pulsar
To configure Pulsar with Docker Compose, provide your values for the pulsar section in the milvus.yaml file on the milvus/configs path.
+
1. Pulsar konfigurieren
Um Pulsar mit Docker Compose zu konfigurieren, geben Sie Ihre Werte für den Abschnitt pulsar in der Datei milvus.yaml im Pfad milvus/configs an.
pulsar:
address: localhost # Address of pulsar
port: 6650# Port of pulsar
maxMessageSize: 5242880# 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
Führen Sie den folgenden Befehl aus, um Milvus zu starten, das die Pulsar-Konfigurationen verwendet.
docker compose up
-
Configurations only take effect after Milvus starts. See Start Milvus for more information.
-
Configure Pulsar with Helm
+
Die Konfigurationen werden erst nach dem Start von Milvus wirksam. Siehe Starten von Milvus für weitere Informationen.
+
Konfigurieren Sie Pulsar mit Helm
-
For Milvus clusters on K8s, you can configure Pulsar in the same command that starts Milvus. Alternatively, you can configure Pulsar using the values.yml file on the /charts/milvus path in the milvus-helm repository before you start Milvus.
Configure the externalConfigFiles section in the values.yaml file.
+
Für Milvus-Cluster auf K8s können Sie Pulsar mit demselben Befehl konfigurieren, mit dem Milvus gestartet wird. Alternativ können Sie Pulsar mit der Datei values.yml im Pfad /charts/milvus im milvus-helm-Repository konfigurieren, bevor Sie Milvus starten.
Konfigurieren Sie den Abschnitt externalConfigFiles in der Datei values.yaml.
extraConfigFiles:
user.yaml: |+
@@ -79,11 +80,11 @@ summary: Learn how to configure message storage with Docker Compose or Helm.
namespace: default
-
After configuring the preceding sections and saving the values.yaml file, run the following command to install Milvus which uses the Pulsar configurations.
+
Nachdem Sie die vorangegangenen Abschnitte konfiguriert und die Datei values.yaml gespeichert haben, führen Sie den folgenden Befehl aus, um Milvus zu installieren, das die Pulsar-Konfigurationen verwendet.
For Milvus clusters on K8s, you can configure Kafka in the same command that starts Milvus. Alternatively, you can configure Kafka using the values.yml file on the /charts/milvus path in the milvus-helm repository before you start Milvus.
Configure the externalConfigFiles section in the values.yaml file if you want to use Kafka as the message storage system.
+
Für Milvus-Cluster auf K8s können Sie Kafka mit demselben Befehl konfigurieren, mit dem Milvus gestartet wird. Alternativ können Sie Kafka mit der Datei values.yml unter dem Pfad /charts/milvus im milvus-helm-Repository konfigurieren, bevor Sie Milvus starten.
Konfigurieren Sie den Abschnitt externalConfigFiles in der Datei values.yaml, wenn Sie Kafka als Nachrichtenspeichersystem verwenden möchten.
extraConfigFiles:
user.yaml: |+
@@ -114,11 +115,11 @@ summary: Learn how to configure message storage with Docker Compose or Helm.
securityProtocol: SASL_SSL
-
After configuring the preceding sections and saving the values.yaml file, run the following command to install Milvus that uses the Kafka configurations.
+
Nachdem Sie die vorangegangenen Abschnitte konfiguriert und die Datei values.yaml gespeichert haben, führen Sie den folgenden Befehl aus, um Milvus zu installieren, das die Kafka-Konfigurationen verwendet.
Milvus standalone uses RocksMQ as the default message storage. For detailed steps on how to configure Milvus with Helm, refer to Configure Milvus with Helm Charts. For details on RocksMQ-related configuration items, refer to RocksMQ-related configurations.
If you start Milvus with RocksMQ and want to change its settings, you can run helm upgrade -f with the changed settings in the following YAML file.
-
If you have installed Milvus standalone using Helm with a message store other than RocksMQ and want to change it back to RocksMQ, run helm upgrade -f with the following YAML file after you have flushed all collections and stopped Milvus.
+
Wenn Sie Milvus mit RocksMQ starten und seine Einstellungen ändern möchten, können Sie helm upgrade -f mit den geänderten Einstellungen in der folgenden YAML-Datei ausführen.
+
Wenn Sie Milvus eigenständig mit Helm mit einem anderen Nachrichtenspeicher als RocksMQ installiert haben und wieder zu RocksMQ wechseln möchten, führen Sie helm upgrade -f mit der folgenden YAML-Datei aus, nachdem Sie alle Sammlungen geleert und Milvus gestoppt haben.
extraConfigFiles:
user.yaml: |+
@@ -155,9 +156,9 @@ summary: Learn how to configure message storage with Docker Compose or Helm.
compressionTypes: [0, 0, 7, 7, 7]
-
Changing the message store is not recommended. If this is you want to do this, stop all DDL operations, then call the FlushAll API to flush all collections, and finally stop Milvus in the end before you actually change the message store.
+
Das Ändern des Nachrichtenspeichers wird nicht empfohlen. Wenn Sie dies tun möchten, stoppen Sie alle DDL-Vorgänge, rufen Sie dann die FlushAll-API auf, um alle Sammlungen zu flushen, und stoppen Sie schließlich Milvus, bevor Sie den Nachrichtenspeicher tatsächlich ändern.
-
Configure NATS with Helm
+
Konfigurieren Sie NATS mit Helm
-
NATS is an experimental message store alternative to RocksMQ. For detailed steps on how to configure Milvus with Helm, refer to Configure Milvus with Helm Charts. For details on RocksMQ-related configuration items, refer to NATS-related configurations.
+
NATS ist eine experimentelle Nachrichtenspeicher-Alternative zu RocksMQ. Detaillierte Schritte zur Konfiguration von Milvus mit Helm finden Sie unter Konfigurieren von Milvus mit Helm-Diagrammen. Einzelheiten zu RocksMQ-bezogenen Konfigurationselementen finden Sie unter NATS-bezogene Konfigurationen.
-
If you start Milvus with NATS and want to change its settings, you can run helm upgrade -f with the changed settings in the following YAML file.
-
If you have installed Milvus standalone with a message store other than NATS and want to change it to NATS, run helm upgrade -f with the following YAML file after you flushed all collections and stopped Milvus.
+
Wenn Sie Milvus mit NATS starten und seine Einstellungen ändern möchten, können Sie helm upgrade -f mit den geänderten Einstellungen in der folgenden YAML-Datei ausführen.
+
Wenn Sie Milvus standalone mit einem anderen Nachrichtenspeicher als NATS installiert haben und diesen auf NATS umstellen wollen, führen Sie helm upgrade -f mit der folgenden YAML-Datei aus, nachdem Sie alle Collections geleert und Milvus gestoppt haben.
extraConfigFiles:
user.yaml: |+
@@ -214,12 +215,12 @@ summary: Learn how to configure message storage with Docker Compose or Helm.
maxMsgs:
-
Choose between RocksMQ and NATS?
-
RockMQ uses CGO to interact with RocksDB and manages the memory by itself, while the pure-GO NATS embedded in the Milvus installation delegates its memory management to Go’s garbage collector (GC).
-
In the scenario where the data packet is smaller than 64 kb, RocksDB outperforms in terms of memory usage, CPU usage, and response time. On the other hand, if the data packet is greater than 64 kb, NATS excels in terms of response time with sufficient memory and ideal GC scheduling.
-
Currently, you are advised to use NATS only for experiments.
+
Zwischen RocksMQ und NATS wählen?
+
RockMQ verwendet CGO für die Interaktion mit RocksDB und verwaltet den Speicher selbst, während das in die Milvus-Installation eingebettete reine Go-NATS die Speicherverwaltung an den Garbage Collector (GC) von Go delegiert.
+
In dem Szenario, in dem das Datenpaket kleiner als 64 kb ist, schneidet RocksDB in Bezug auf Speicherverbrauch, CPU-Nutzung und Antwortzeit besser ab. Ist das Datenpaket hingegen größer als 64 kb, so ist NATS bei ausreichendem Speicher und idealer GC-Planung in Bezug auf die Antwortzeit überlegen.
+
Derzeit wird empfohlen, NATS nur für Experimente zu verwenden.
-
What’s next
+
Was kommt als nächstes?
-
Learn how to configure other Milvus dependencies with Docker Compose or Helm:
+
Erfahren Sie, wie Sie andere Milvus-Abhängigkeiten mit Docker Compose oder Helm konfigurieren können:
diff --git a/localization/v2.5.x/site/de/adminGuide/deploy_s3.json b/localization/v2.5.x/site/de/adminGuide/deploy_s3.json
index 3bca6be78..89cc1ad17 100644
--- a/localization/v2.5.x/site/de/adminGuide/deploy_s3.json
+++ b/localization/v2.5.x/site/de/adminGuide/deploy_s3.json
@@ -1 +1 @@
-{"codeList":["minio:\n address: \n port: \n accessKeyID: \n secretAccessKey: \n useSSL: \n bucketName: \"\"\n","docker compose up\n","minio:\n enabled: false\n","externalS3:\n enabled: true\n host: \"\"\n port: \"\"\n accessKey: \"\"\n secretKey: \"\"\n useSSL: \n bucketName: \"\"\n","helm install milvus/milvus -f values.yaml\n","helm install milvus/milvus --set cluster.enabled=true --set minio.enabled=false --set externalS3.enabled=true --set externalS3.host= --set externalS3.port= --set externalS3.accessKey= --set externalS3.secretKey= --set externalS3.bucketName=\n"],"headingContent":"Configure Object Storage with Docker Compose or Helm","anchorList":[{"label":"Configure Object Storage with Docker Compose or Helm","href":"Configure-Object-Storage-with-Docker-Compose-or-Helm","type":1,"isActive":false},{"label":"Configure S3 with Docker Compose","href":"Configure-S3-with-Docker-Compose","type":2,"isActive":false},{"label":"Configure S3 on K8s","href":"Configure-S3-on-K8s","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["minio:\n address: \n port: \n accessKeyID: \n secretAccessKey: \n useSSL: \n bucketName: \"\"\n","docker compose up\n","minio:\n enabled: false\n","externalS3:\n enabled: true\n host: \"\"\n port: \"\"\n accessKey: \"\"\n secretKey: \"\"\n useSSL: \n bucketName: \"\"\n","helm install milvus/milvus -f values.yaml\n","helm install milvus/milvus --set cluster.enabled=true --set minio.enabled=false --set externalS3.enabled=true --set externalS3.host= --set externalS3.port= --set externalS3.accessKey= --set externalS3.secretKey= --set externalS3.bucketName=\n"],"headingContent":"Configure Object Storage with Docker Compose or Helm","anchorList":[{"label":"Konfigurieren der Objektspeicherung mit Docker Compose oder Helm","href":"Configure-Object-Storage-with-Docker-Compose-or-Helm","type":1,"isActive":false},{"label":"Konfigurieren von S3 mit Docker Compose","href":"Configure-S3-with-Docker-Compose","type":2,"isActive":false},{"label":"Konfigurieren Sie S3 auf K8s","href":"Configure-S3-on-K8s","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/deploy_s3.md b/localization/v2.5.x/site/de/adminGuide/deploy_s3.md
index 060bad0a2..66f11d991 100644
--- a/localization/v2.5.x/site/de/adminGuide/deploy_s3.md
+++ b/localization/v2.5.x/site/de/adminGuide/deploy_s3.md
@@ -1,10 +1,12 @@
---
id: deploy_s3.md
-title: Configure Object Storage with Docker Compose or Helm
+title: Konfigurieren der Objektspeicherung mit Docker Compose oder Helm
related_key: 'S3, storage'
-summary: Learn how to set up S3 storage for Milvus with Docker Compose or Helm.
+summary: >-
+ Erfahren Sie, wie Sie S3-Speicher für Milvus mit Docker Compose oder Helm
+ einrichten.
---
-
Configure Object Storage with Docker Compose or Helm
+
Konfigurieren der Objektspeicherung mit Docker Compose oder Helm
-
Milvus uses MinIO for object storage by default, but it also supports using Amazon Simple Storage Service (S3) as persistent object storage for log and index files. This topic describes how to configure S3 for Milvus. You can skip this topic if you are satisfied with MinIO.
Milvus verwendet standardmäßig MinIO für die Objektspeicherung, aber es unterstützt auch die Verwendung von Amazon Simple Storage Service (S3) als persistenten Objektspeicher für Protokoll- und Indexdateien. Dieses Thema beschreibt, wie Sie S3 für Milvus konfigurieren. Sie können dieses Thema überspringen, wenn Sie mit MinIO zufrieden sind.
+
Sie können S3 mit Docker Compose oder auf K8s konfigurieren.
+
Konfigurieren von S3 mit Docker Compose
-
1. Configure S3
MinIO is compatible with S3. To configure S3 with Docker Compose, provide your values for the minio section in the milvus.yaml file on the milvus/configs path.
+
1. S3 konfigurieren
MinIO ist mit S3 kompatibel. Um S3 mit Docker Compose zu konfigurieren, geben Sie Ihre Werte für den Abschnitt minio in der Datei milvus.yaml im Pfad milvus/configs an.
minio:
address: <your_s3_endpoint>
port: <your_s3_port>
@@ -45,13 +47,13 @@ summary: Learn how to set up S3 storage for Milvus with Docker Compose or Helm.
useSSL: <true/false>
bucketName: "<your_bucket_name>"
You’d also remove the MINIO_ADDRESS environment variable for milvus service at docker-compose.yaml. By default milvus will use local minio instead of external S3.
-
3. Run Milvus
Run the following command to start Milvus that uses the S3 configurations.
Entfernen Sie auch die Umgebungsvariable MINIO_ADDRESS für den milvus-Dienst unter docker-compose.yaml. Standardmäßig verwendet milvus lokales Minio anstelle von externem S3.
+
3. Milvus starten
Führen Sie den folgenden Befehl aus, um Milvus zu starten, das die S3-Konfigurationen verwendet.
docker compose up
-
Configurations only take effect after Milvus starts. See Start Milvus for more information.
-
Configure S3 on K8s
+
Die Konfigurationen werden erst nach dem Start von Milvus wirksam. Weitere Informationen finden Sie unter Starten von Milvus.
+
Konfigurieren Sie S3 auf K8s
-
For Milvus clusters on K8s, you can configure S3 in the same command that starts Milvus. Alternatively, you can configure S3 using the values.yml file on the /charts/milvus path in the milvus-helm repository before you start Milvus.
-
The following table lists the keys for configuring S3 in the YAML file.
+
Für Milvus-Cluster auf K8s können Sie S3 mit demselben Befehl konfigurieren, mit dem Milvus gestartet wird. Alternativ können Sie S3 mithilfe der Datei values.yml im Pfad /charts/milvus im milvus-helm-Repository konfigurieren, bevor Sie Milvus starten.
+
In der folgenden Tabelle sind die Schlüssel für die Konfiguration von S3 in der YAML-Datei aufgeführt.
-
Key
Description
Value
+
Schlüssel
Beschreibung
Wert
-
minio.enabled
Enables or disables MinIO.
true/false
-
externalS3.enabled
Enables or disables S3.
true/false
-
externalS3.host
The endpoint to access S3.
-
externalS3.port
The port to access S3.
-
externalS3.rootPath
The root path of the S3 storage.
An emtpy string by default.
-
externalS3.accessKey
The access key ID for S3.
-
externalS3.secretKey
The secret access key for S3.
-
externalS3.bucketName
The name of the S3 bucket.
-
externalS3.useSSL
Whether to use SSL when connecting
The values defaults to false
+
minio.enabled
Aktiviert oder deaktiviert MinIO.
true/false
+
externalS3.enabled
Aktiviert oder deaktiviert S3.
true/false
+
externalS3.host
Der Endpunkt für den Zugriff auf S3.
+
externalS3.port
Der Port für den Zugriff auf S3.
+
externalS3.rootPath
Der Wurzelpfad des S3-Speichers.
Standardmäßig eine emtpy-Zeichenkette.
+
externalS3.accessKey
Die Zugriffsschlüssel-ID für S3.
+
externalS3.secretKey
Der geheime Zugriffsschlüssel für S3.
+
externalS3.bucketName
Der Name des S3-Buckets.
+
externalS3.useSSL
Ob bei der Verbindung SSL verwendet werden soll
Die Werte sind standardmäßig auf false
-
Using the YAML file
-
Configure the minio section in the values.yaml file.
+
Verwendung der YAML-Datei
+
Konfigurieren Sie den Abschnitt minio in der Datei values.yaml.
minio:
enabled: false
-
Configure the externalS3 section using your values in the values.yaml file.
+
Konfigurieren Sie den Abschnitt externalS3 mit Ihren Werten in der Datei values.yaml.
externalS3:
enabled: true
@@ -103,14 +105,14 @@ summary: Learn how to set up S3 storage for Milvus with Docker Compose or Helm.
bucketName: "<your_bucket_name>"
-
After configuring the preceding sections and saving the values.yaml file, run the following command to install Milvus that uses the S3 configurations.
+
Nachdem Sie die vorangegangenen Abschnitte konfiguriert und die Datei values.yaml gespeichert haben, führen Sie den folgenden Befehl aus, um Milvus unter Verwendung der S3-Konfigurationen zu installieren.
diff --git a/localization/v2.5.x/site/de/adminGuide/dynamic_config.json b/localization/v2.5.x/site/de/adminGuide/dynamic_config.json
index 15fef6e8c..2121a9c1d 100644
--- a/localization/v2.5.x/site/de/adminGuide/dynamic_config.json
+++ b/localization/v2.5.x/site/de/adminGuide/dynamic_config.json
@@ -1 +1 @@
-{"codeList":["$ etcdctl put by-dev/config/proxy/minPasswordLength 8\n# or\n$ birdwatcher -olc \"#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,set config-etcd --key by-dev/config/proxy/minPasswordLength --value 8\"\n","$ etcdctl get by-dev/config/proxy/minPasswordLength\n","$ etcdctl del by-dev/config/proxy/minPasswordLength \n# or \n$ birdwatcher -olc \"#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,remove config-etcd --key by-dev/config/proxy/minPasswordLength\"\n","$ etcdctl get by-dev/config/proxy/minPasswordLength\n","$ etcdctl get --prefix by-dev/config\n# or\n$ birdwatcher -olc \"#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,show config-etcd\"\n","Offline > connect --etcd ip:port \nMilvus(by-dev) > show session # List all nodes with their server ID\nMilvus(by-dev) > visit querycoord 1 # Visit a node by server ID\nQueryCoord-1(ip:port) > configuration # List the configuration of the node\n"],"headingContent":"Configure Milvus on the Fly","anchorList":[{"label":"Configure Milvus on the Fly","href":"Configure-Milvus-on-the-Fly","type":1,"isActive":false},{"label":"Before you start","href":"Before-you-start","type":2,"isActive":false},{"label":"Change configurations","href":"Change-configurations","type":2,"isActive":false},{"label":"Roll back configurations","href":"Roll-back-configurations","type":2,"isActive":false},{"label":"View configurations","href":"View-configurations","type":2,"isActive":false},{"label":"Applicable configuration items","href":"Applicable-configuration-items","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ etcdctl put by-dev/config/proxy/minPasswordLength 8\n# or\n$ birdwatcher -olc \"#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,set config-etcd --key by-dev/config/proxy/minPasswordLength --value 8\"\n","$ etcdctl get by-dev/config/proxy/minPasswordLength\n","$ etcdctl del by-dev/config/proxy/minPasswordLength \n# or \n$ birdwatcher -olc \"#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,remove config-etcd --key by-dev/config/proxy/minPasswordLength\"\n","$ etcdctl get by-dev/config/proxy/minPasswordLength\n","$ etcdctl get --prefix by-dev/config\n# or\n$ birdwatcher -olc \"#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,show config-etcd\"\n","Offline > connect --etcd ip:port \nMilvus(by-dev) > show session # List all nodes with their server ID\nMilvus(by-dev) > visit querycoord 1 # Visit a node by server ID\nQueryCoord-1(ip:port) > configuration # List the configuration of the node\n"],"headingContent":"Configure Milvus on the Fly","anchorList":[{"label":"Konfigurieren Sie Milvus während der Fahrt","href":"Configure-Milvus-on-the-Fly","type":1,"isActive":false},{"label":"Bevor Sie beginnen","href":"Before-you-start","type":2,"isActive":false},{"label":"Konfigurationen ändern","href":"Change-configurations","type":2,"isActive":false},{"label":"Konfigurationen zurücksetzen","href":"Roll-back-configurations","type":2,"isActive":false},{"label":"Konfigurationen anzeigen","href":"View-configurations","type":2,"isActive":false},{"label":"Anwendbare Konfigurationselemente","href":"Applicable-configuration-items","type":2,"isActive":false},{"label":"Was kommt als Nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/dynamic_config.md b/localization/v2.5.x/site/de/adminGuide/dynamic_config.md
index 3c774571c..2d32fbbe3 100644
--- a/localization/v2.5.x/site/de/adminGuide/dynamic_config.md
+++ b/localization/v2.5.x/site/de/adminGuide/dynamic_config.md
@@ -1,10 +1,10 @@
---
id: dynamic_config.md
related_key: configure
-summary: Learn about the dynamic configuration of Milvus.
-title: Configure Milvus on the Fly
+summary: Erfahren Sie mehr über die dynamische Konfiguration von Milvus.
+title: Konfigurieren Sie Milvus während der Fahrt
---
-
Configure Milvus on the Fly
+
Konfigurieren Sie Milvus während der Fahrt
-
Milvus allows you to change some of its configurations on the fly.
-
Before you start
+
Milvus erlaubt es Ihnen, einige seiner Konfigurationen während des Betriebs zu ändern.
Sie haben etcdctl installiert. Details dazu finden Sie unter Interaktion mit etcd, oder
+
Sie haben andere etcd-Clients, wie z.B. den Python-Client, installiert.
-
Examples in this guide change the value of proxy.minPasswordLength to 8. You can replace the key with the applicable ones listed in Applicable configuration items.
-
Examples in this guide assume that the root path of your Milvus is by-dev. All configurations are listed under the path by-dev/config. The Milvus root path varies with the way you install it. For the instances installed using the Helm charts, the root path defaults to by-dev. If you do not know the root path, refer to Connect to etcd.
+
Die Beispiele in diesem Handbuch ändern den Wert von proxy.minPasswordLength in 8. Sie können den Schlüssel durch die in Anwendbare Konfigurationselemente aufgeführten Schlüssel ersetzen.
+
Die Beispiele in diesem Handbuch gehen davon aus, dass der Wurzelpfad Ihres Milvus by-dev lautet. Alle Konfigurationen werden unter dem Pfad by-dev/config aufgeführt. Der Stammverzeichnispfad von Milvus variiert je nach Art der Installation. Für die Instanzen, die mit den Helm-Charts installiert werden, lautet der Root-Pfad standardmäßig by-dev. Wenn Sie den Root-Pfad nicht kennen, lesen Sie den Abschnitt Verbindung mit etcd.
-
Change configurations
+
Konfigurationen ändern
-
On Milvus, proxy.minPasswordLength is set to 6 by default. To change this value, you can do as follows:
+
Auf Milvus ist proxy.minPasswordLength standardmäßig auf 6 eingestellt. Um diesen Wert zu ändern, können Sie wie folgt vorgehen:
$ etcdctl put by-dev/config/proxy/minPasswordLength 8
# or
$ birdwatcher -olc "#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,set config-etcd --key by-dev/config/proxy/minPasswordLength --value 8"
-
Then you can check the configurations as follows:
+
Dann können Sie die Konfigurationen wie folgt überprüfen:
Instead of viewing the value of a specific configuration item, you can also list all of them.
+
Anstatt den Wert einer bestimmten Konfiguration anzuzeigen, können Sie auch alle Konfigurationen auflisten.
$ etcdctl get --prefix by-dev/config
# or
$ birdwatcher -olc "#connect --etcd 127.0.0.1:2379 --rootPath=by-dev,show config-etcd"
-
To view the configurations of a specific node:
+
So zeigen Sie die Konfigurationen eines bestimmten Knotens an:
Offline > connect --etcd ip:port
Milvus(by-dev) > show session # List all nodes with their server ID
Milvus(by-dev) > visit querycoord 1# Visit a node by server ID
QueryCoord-1(ip:port) > configuration # List the configuration of the node
diff --git a/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.json b/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.json
index 495ca80ad..97217f1a2 100644
--- a/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.json
+++ b/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.json
@@ -1 +1 @@
-{"codeList":["rootCoord:\n maxGeneralCapacity: 65536\n","60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960\n","failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:\n"],"headingContent":"Limit Collection Counts","anchorList":[{"label":"Limit Collection Counts","href":"Limit-Collection-Counts","type":1,"isActive":false},{"label":"Configuration options","href":"Configuration-options","type":2,"isActive":false},{"label":"Calculating the number of collections","href":"Calculating-the-number-of-collections","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["rootCoord:\n maxGeneralCapacity: 65536\n","60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960\n","failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:\n"],"headingContent":"Limit Collection Counts","anchorList":[{"label":"Begrenzung der Anzahl der Sammlungen","href":"Limit-Collection-Counts","type":1,"isActive":false},{"label":"Konfigurationsoptionen","href":"Configuration-options","type":2,"isActive":false},{"label":"Berechnen der Anzahl der Sammlungen","href":"Calculating-the-number-of-collections","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.md b/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.md
index 43e913457..812a3b562 100644
--- a/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.md
+++ b/localization/v2.5.x/site/de/adminGuide/limit_collection_counts.md
@@ -1,8 +1,8 @@
---
id: limit_collection_counts.md
-title: Set Limits on Collection Number
+title: Begrenzung der Erfassungsanzahl festlegen
---
-
Limit Collection Counts
+
Begrenzung der Anzahl der Sammlungen
-
A Milvus instance allows up to 65,536 collections. However, too many collections may result in performance issues. Therefore, it is recommended to limit the number of collections created in a Milvus instance.
-
This guide provides instructions on how to set limits on the number of collections in a Milvus instance.
-
Configuration varies with the way you install the Milvus instance.
+
Eine Milvus-Instanz erlaubt bis zu 65.536 Sammlungen. Zu viele Sammlungen können jedoch zu Leistungsproblemen führen. Daher ist es empfehlenswert, die Anzahl der in einer Milvus-Instanz erstellten Sammlungen zu begrenzen.
+
Dieser Leitfaden enthält Anweisungen, wie Sie die Anzahl der Sammlungen in einer Milvus-Instanz begrenzen können.
+
Die Konfiguration hängt von der Art und Weise ab, wie Sie die Milvus-Instanz installieren.
Für Milvus-Instanzen, die mit Docker Compose installiert wurden
+
Fügen Sie die Konfiguration in die Datei milvus.yaml ein, die Sie zum Starten der Milvus-Instanz verwendet haben. Einzelheiten finden Sie unter Konfigurieren von Milvus mit Docker Compose.
+
Für Milvus-Instanzen, die mit Operator installiert wurden
+
Fügen Sie die Konfiguration in den Abschnitt spec.components der benutzerdefinierten Ressource Milvus ein. Weitere Informationen finden Sie unter Konfigurieren von Milvus mit Operator.
-
Configuration options
+
Konfigurationsoptionen
rootCoord:
maxGeneralCapacity: 65536
-
The maxGeneralCapacity parameter sets the maximum number of collections that the current Milvus instance can hold. The default value is 65536.
-
Calculating the number of collections
+
Der Parameter maxGeneralCapacity legt die maximale Anzahl von Sammlungen fest, die die aktuelle Milvus-Instanz enthalten kann. Der Standardwert ist 65536.
+
Berechnen der Anzahl der Sammlungen
-
In a collection, you can set up multiple shards and partitions. Shards are logical units used to distribute data write operations among multiple data nodes. Partitions are logical units used to improve data retrieval efficiency by loading only a subset of collection data. When calculating the number of collections in the current Milvus instance, you also need to count the shards and partitions.
-
For example, let’s assume you have already created 100 collections, with 2 shards and 4 partitions in 60 of them and with 1 shard and 12 partitions in the rest 40 collections. The current number of collections can be calculated as:
+
In einer Sammlung können Sie mehrere Shards und Partitionen einrichten. Shards sind logische Einheiten, die verwendet werden, um Datenschreiboperationen auf mehrere Datenknoten zu verteilen. Partitionen sind logische Einheiten, die dazu dienen, die Effizienz der Datenabfrage zu verbessern, indem nur eine Teilmenge der Sammlungsdaten geladen wird. Wenn Sie die Anzahl der Sammlungen in der aktuellen Milvus-Instanz berechnen, müssen Sie auch die Shards und Partitionen zählen.
+
Nehmen wir zum Beispiel an, Sie haben bereits 100 Sammlungen angelegt, von denen 60mit 2 Shards und 4 Partitionen und die restlichen 40 mit 1 Shard und 12 Partitionen ausgestattet sind. Die aktuelle Anzahl der Sammlungen kann wie folgt berechnet werden:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
-
In the above example, you have already used 960 out of the default limits. Now if you want to create a new collection with 4 shards and 20 partitions, you will receive the following error prompt because the total number of collections exceeds the maximum capacity:
+
Im obigen Beispiel haben Sie bereits 960 der Standardgrenzen genutzt. Wenn Sie nun eine neue Sammlung mit 4 Shards und 20 Partitionen erstellen möchten, erhalten Sie folgende Fehlermeldung, da die Gesamtzahl der Sammlungen die maximale Kapazität überschreitet:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
-
To avoid this error, you can either reduce the number of shards or partitions in existing or new collections, delete some collections, or increase the maxGeneralCapacity value.
+
Um diesen Fehler zu vermeiden, können Sie entweder die Anzahl der Shards oder Partitionen in bestehenden oder neuen Sammlungen reduzieren, einige Sammlungen löschen oder den Wert maxGeneralCapacity erhöhen.
diff --git a/localization/v2.5.x/site/de/adminGuide/message_storage_operator.json b/localization/v2.5.x/site/de/adminGuide/message_storage_operator.json
index e5db94e39..9eed54356 100644
--- a/localization/v2.5.x/site/de/adminGuide/message_storage_operator.json
+++ b/localization/v2.5.x/site/de/adminGuide/message_storage_operator.json
@@ -1 +1 @@
-{"codeList":["kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: milvus\nspec:\n dependencies: {}\n components: {}\n config: {}\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: milvus\nspec:\n dependencies: \n msgStreamType: 'natsmq'\n natsmq:\n # server side configuration for natsmq.\n server: \n # 4222 by default, Port for nats server listening.\n port: 4222 \n # /var/lib/milvus/nats by default, directory to use for JetStream storage of nats.\n storeDir: /var/lib/milvus/nats \n # (B) 16GB by default, Maximum size of the 'file' storage.\n maxFileStore: 17179869184 \n # (B) 8MB by default, Maximum number of bytes in a message payload.\n maxPayload: 8388608 \n # (B) 64MB by default, Maximum number of bytes buffered for a connection applies to client connections.\n maxPending: 67108864 \n # (√ms) 4s by default, waiting for initialization of natsmq finished.\n initializeTimeout: 4000 \n monitor:\n # false by default, If true enable debug log messages.\n debug: false \n # true by default, If set to false, log without timestamps.\n logTime: true \n # no log file by default, Log file path relative to.. .\n logFile: \n # (B) 0, unlimited by default, Size in bytes after the log file rolls over to a new one.\n logSizeLimit: 0 \n retention:\n # (min) 3 days by default, Maximum age of any message in the P-channel.\n maxAge: 4320 \n # (B) None by default, How many bytes the single P-channel may contain. Removing oldest messages if the P-channel exceeds this size.\n maxBytes:\n # None by default, How many message the single P-channel may contain. Removing oldest messages if the P-channel exceeds this limit. \n maxMsgs: \n components: {}\n config: {}\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies: # Optional\n pulsar: # Optional\n # Whether (=true) to use an existed external pulsar as specified in the field endpoints or \n # (=false) create a new pulsar inside the same kubernetes cluster for milvus.\n external: true # Optional default=false\n # The external pulsar endpoints if external=true\n endpoints:\n - 192.168.1.1:6650\n components: {}\n config: {} \n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies:\n pulsar:\n inCluster:\n values:\n components:\n autorecovery: false\n zookeeper:\n replicaCount: 1\n bookkeeper:\n replicaCount: 1\n resoureces:\n limit:\n cpu: '4'\n memory: 8Gi\n requests:\n cpu: 200m\n memory: 512Mi\n broker:\n replicaCount: 1\n configData:\n ## Enable `autoSkipNonRecoverableData` since bookkeeper is running\n ## without persistence\n autoSkipNonRecoverableData: \"true\"\n managedLedgerDefaultEnsembleSize: \"1\"\n managedLedgerDefaultWriteQuorum: \"1\"\n managedLedgerDefaultAckQuorum: \"1\"\n proxy:\n replicaCount: 1\n components: {}\n config: {} \n","kubectl apply -f milvuscluster.yaml\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n config:\n kafka:\n # securityProtocol supports: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL \n securityProtocol: PLAINTEXT\n # saslMechanisms supports: PLAIN, SCRAM-SHA-256, SCRAM-SHA-512\n saslMechanisms: PLAIN\n saslUsername: \"\"\n saslPassword: \"\"\n # Omit other fields ...\n dependencies:\n # Omit other fields ...\n msgStreamType: \"kafka\"\n kafka:\n external: true\n brokerList: \n - \"kafkaBrokerAddr1:9092\"\n - \"kafkaBrokerAddr2:9092\"\n # ...\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec: \n dependencies:\n msgStreamType: \"kafka\"\n kafka:\n inCluster: \n values: {} # values can be found in https://artifacthub.io/packages/helm/bitnami/kafka\n components: {}\n config: {}\n","kubectl apply -f milvuscluster.yaml\n"],"headingContent":"Configure Message Storage with Milvus Operator","anchorList":[{"label":"Configure Message Storage with Milvus Operator","href":"Configure-Message-Storage-with-Milvus-Operator","type":1,"isActive":false},{"label":"Before you begin","href":"Before-you-begin","type":2,"isActive":false},{"label":"Configure RocksMQ","href":"Configure-RocksMQ","type":2,"isActive":false},{"label":"Configure NATS","href":"Configure-NATS","type":2,"isActive":false},{"label":"Configure Pulsar","href":"Configure-Pulsar","type":2,"isActive":false},{"label":"Configure Kafka","href":"Configure-Kafka","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: milvus\nspec:\n dependencies: {}\n components: {}\n config: {}\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: milvus\nspec:\n dependencies: \n msgStreamType: 'natsmq'\n natsmq:\n # server side configuration for natsmq.\n server: \n # 4222 by default, Port for nats server listening.\n port: 4222 \n # /var/lib/milvus/nats by default, directory to use for JetStream storage of nats.\n storeDir: /var/lib/milvus/nats \n # (B) 16GB by default, Maximum size of the 'file' storage.\n maxFileStore: 17179869184 \n # (B) 8MB by default, Maximum number of bytes in a message payload.\n maxPayload: 8388608 \n # (B) 64MB by default, Maximum number of bytes buffered for a connection applies to client connections.\n maxPending: 67108864 \n # (√ms) 4s by default, waiting for initialization of natsmq finished.\n initializeTimeout: 4000 \n monitor:\n # false by default, If true enable debug log messages.\n debug: false \n # true by default, If set to false, log without timestamps.\n logTime: true \n # no log file by default, Log file path relative to.. .\n logFile: \n # (B) 0, unlimited by default, Size in bytes after the log file rolls over to a new one.\n logSizeLimit: 0 \n retention:\n # (min) 3 days by default, Maximum age of any message in the P-channel.\n maxAge: 4320 \n # (B) None by default, How many bytes the single P-channel may contain. Removing oldest messages if the P-channel exceeds this size.\n maxBytes:\n # None by default, How many message the single P-channel may contain. Removing oldest messages if the P-channel exceeds this limit. \n maxMsgs: \n components: {}\n config: {}\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies: # Optional\n pulsar: # Optional\n # Whether (=true) to use an existed external pulsar as specified in the field endpoints or \n # (=false) create a new pulsar inside the same kubernetes cluster for milvus.\n external: true # Optional default=false\n # The external pulsar endpoints if external=true\n endpoints:\n - 192.168.1.1:6650\n components: {}\n config: {} \n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies:\n pulsar:\n inCluster:\n values:\n components:\n autorecovery: false\n zookeeper:\n replicaCount: 1\n bookkeeper:\n replicaCount: 1\n resoureces:\n limit:\n cpu: '4'\n memory: 8Gi\n requests:\n cpu: 200m\n memory: 512Mi\n broker:\n replicaCount: 1\n configData:\n ## Enable `autoSkipNonRecoverableData` since bookkeeper is running\n ## without persistence\n autoSkipNonRecoverableData: \"true\"\n managedLedgerDefaultEnsembleSize: \"1\"\n managedLedgerDefaultWriteQuorum: \"1\"\n managedLedgerDefaultAckQuorum: \"1\"\n proxy:\n replicaCount: 1\n components: {}\n config: {} \n","kubectl apply -f milvuscluster.yaml\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n config:\n kafka:\n # securityProtocol supports: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL \n securityProtocol: PLAINTEXT\n # saslMechanisms supports: PLAIN, SCRAM-SHA-256, SCRAM-SHA-512\n saslMechanisms: PLAIN\n saslUsername: \"\"\n saslPassword: \"\"\n # Omit other fields ...\n dependencies:\n # Omit other fields ...\n msgStreamType: \"kafka\"\n kafka:\n external: true\n brokerList: \n - \"kafkaBrokerAddr1:9092\"\n - \"kafkaBrokerAddr2:9092\"\n # ...\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec: \n dependencies:\n msgStreamType: \"kafka\"\n kafka:\n inCluster: \n values: {} # values can be found in https://artifacthub.io/packages/helm/bitnami/kafka\n components: {}\n config: {}\n","kubectl apply -f milvuscluster.yaml\n"],"headingContent":"Configure Message Storage with Milvus Operator","anchorList":[{"label":"Konfigurieren der Nachrichtenspeicherung mit Milvus Operator","href":"Configure-Message-Storage-with-Milvus-Operator","type":1,"isActive":false},{"label":"Bevor Sie beginnen","href":"Before-you-begin","type":2,"isActive":false},{"label":"RocksMQ konfigurieren","href":"Configure-RocksMQ","type":2,"isActive":false},{"label":"NATS konfigurieren","href":"Configure-NATS","type":2,"isActive":false},{"label":"Pulsar konfigurieren","href":"Configure-Pulsar","type":2,"isActive":false},{"label":"Konfigurieren Sie Kafka","href":"Configure-Kafka","type":2,"isActive":false},{"label":"Was kommt als nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/message_storage_operator.md b/localization/v2.5.x/site/de/adminGuide/message_storage_operator.md
index ad0db8f00..1ab064c38 100644
--- a/localization/v2.5.x/site/de/adminGuide/message_storage_operator.md
+++ b/localization/v2.5.x/site/de/adminGuide/message_storage_operator.md
@@ -1,10 +1,12 @@
---
id: message_storage_operator.md
-title: Configure Message Storage with Milvus Operator
+title: Konfigurieren der Nachrichtenspeicherung mit Milvus Operator
related_key: 'minio, s3, storage, etcd, pulsar'
-summary: Learn how to configure message storage with Milvus Operator.
+summary: >-
+ Erfahren Sie, wie Sie die Nachrichtenspeicherung mit Milvus Operator
+ konfigurieren.
---
-
Configure Message Storage with Milvus Operator
+
Konfigurieren der Nachrichtenspeicherung mit Milvus Operator
-
Milvus uses RocksMQ, Pulsar or Kafka for managing logs of recent changes, outputting stream logs, and providing log subscriptions. This topic introduces how to configure message storage dependencies when you install Milvus with Milvus Operator. For more details, refer to Configure Message Storage with Milvus Operator in the Milvus Operator repository.
-
This topic assumes that you have deployed Milvus Operator.
You need to specify a configuration file for using Milvus Operator to start a Milvus cluster.
+
Milvus verwendet RocksMQ, Pulsar oder Kafka für die Verwaltung von Protokollen der letzten Änderungen, die Ausgabe von Stream-Protokollen und die Bereitstellung von Protokollabonnements. In diesem Thema wird erläutert, wie Sie die Abhängigkeiten für den Nachrichtenspeicher konfigurieren, wenn Sie Milvus mit Milvus Operator installieren. Weitere Details finden Sie unter Konfigurieren des Nachrichtenspeichers mit Milvus Operator im Milvus Operator Repository.
+
Dieses Thema setzt voraus, dass Sie Milvus Operator installiert haben.
You only need to edit the code template in milvus_cluster_default.yaml to configure third-party dependencies. The following sections introduce how to configure object storage, etcd, and Pulsar respectively.
-
Before you begin
+
Sie müssen nur die Codevorlage in milvus_cluster_default.yaml bearbeiten, um die Abhängigkeiten von Dritten zu konfigurieren. In den folgenden Abschnitten wird beschrieben, wie Sie Objektspeicher, etcd und Pulsar konfigurieren.
+
Bevor Sie beginnen
-
The table below shows whether RocksMQ, NATS, Pulsar, and Kafka are supported in Milvus standalone and cluster mode.
+
Die folgende Tabelle zeigt, ob RocksMQ, NATS, Pulsar und Kafka im Standalone- und Clustermodus von Milvus unterstützt werden.
RocksMQ
NATS
Pulsar
Kafka
-
Standalone mode
✔️
✔️
✔️
✔️
-
Cluster mode
✖️
✖️
✔️
✔️
+
Eigenständiger Modus
✔️
✔️
✔️
✔️
+
Cluster-Modus
✖️
✖️
✔️
✔️
-
There are also other limitations for specifying the message storage:
+
Es gibt noch weitere Einschränkungen bei der Angabe des Nachrichtenspeichers:
-
Only one message storage for one Milvus instance is supported. However we still have backward compatibility with multiple message storages set for one instance. The priority is as follows:
-
Nats introduced in 2.3 do not participate in these priority rules for backward compatibility.
+
Es wird nur ein Nachrichtenspeicher für eine Milvus-Instanz unterstützt. Es besteht jedoch Abwärtskompatibilität mit mehreren Nachrichtenspeichern für eine Instanz. Die Priorität ist wie folgt:
To migrate the message storage from RocksMQ to NATS, do as follows:
+
Um den Nachrichtenspeicher von RocksMQ zu NATS zu migrieren, gehen Sie wie folgt vor:
-
Stop all DDL operations.
-
Call the FlushAll API and then stop Milvus once the API call finishes executing.
-
Change msgStreamType to natsmq and make necessary changes to NATS settings in spec.dependencies.natsmq.
-
Start Milvus again and check whether:
+
Stoppen Sie alle DDL-Vorgänge.
+
Rufen Sie die FlushAll-API auf und stoppen Sie Milvus, sobald die Ausführung des API-Aufrufs beendet ist.
+
Ändern Sie msgStreamType in natsmq und nehmen Sie die erforderlichen Änderungen an den NATS-Einstellungen in spec.dependencies.natsmq vor.
+
Starten Sie Milvus erneut und überprüfen Sie, ob:
-
A log entry that reads mqType=natsmq is present in the logs.
-
A directory named jetstream is present in the directory specified in spec.dependencies.natsmq.server.storeDir.
+
Ein Protokolleintrag, der mqType=natsmq lautet, ist in den Protokollen vorhanden.
+
Ein Verzeichnis mit dem Namen jetstream in dem in spec.dependencies.natsmq.server.storeDir angegebenen Verzeichnis vorhanden ist.
-
(Optional) Back up and clean up the data files in the RocksMQ storage directory.
+
(Optional) Sichern und bereinigen Sie die Datendateien im RocksMQ-Speicherverzeichnis.
-
Choose between RocksMQ and NATS?
-
RockMQ uses CGO to interact with RocksDB and manages the memory by itself, while the pure-GO NATS embedded in the Milvus installation delegates its memory management to Go’s garbage collector (GC).
-
In the scenario where the data packet is smaller than 64 kb, RocksDB outperforms in terms of memory usage, CPU usage, and response time. On the other hand, if the data packet is greater than 64 kb, NATS excels in terms of response time with sufficient memory and ideal GC scheduling.
-
Currently, you are advised to use NATS only for experiments.
+
Zwischen RocksMQ und NATS wählen?
+
RockMQ verwendet CGO für die Interaktion mit RocksDB und verwaltet den Speicher selbst, während das in die Milvus-Installation eingebettete reine Go-NATS seine Speicherverwaltung an den Garbage Collector (GC) von Go delegiert.
+
In dem Szenario, in dem das Datenpaket kleiner als 64 kb ist, schneidet RocksDB in Bezug auf Speicherverbrauch, CPU-Nutzung und Antwortzeit besser ab. Ist das Datenpaket hingegen größer als 64 kb, so ist NATS bei ausreichendem Speicher und idealer GC-Planung in Bezug auf die Antwortzeit überlegen.
+
Derzeit wird empfohlen, NATS nur für Experimente zu verwenden.
-
Configure Pulsar
+
Pulsar konfigurieren
-
Pulsar manages logs of recent changes, outputs stream logs, and provides log subscriptions. Configuring Pulsar for message storage is supported in both Milvus standalone and Milvus cluster. However, with Milvus Operator, you can only configure Pulsar as message storage for Milvus cluster. Add required fields under spec.dependencies.pulsar to configure Pulsar.
-
pulsar supports external and inCluster.
-
External Pulsar
external indicates using an external Pulsar service.
-Fields used to configure an external Pulsar service include:
+
Pulsar verwaltet Protokolle der letzten Änderungen, gibt Stream-Protokolle aus und bietet Protokollabonnements. Die Konfiguration von Pulsar für die Nachrichtenspeicherung wird sowohl in Milvus standalone als auch in Milvus cluster unterstützt. Mit Milvus Operator können Sie Pulsar jedoch nur als Nachrichtenspeicher für Milvus-Cluster konfigurieren. Fügen Sie die erforderlichen Felder unter spec.dependencies.pulsar hinzu, um Pulsar zu konfigurieren.
+
pulsar unterstützt external und inCluster.
+
Externer Pulsar
external gibt die Verwendung eines externen Pulsar-Dienstes an. Die Felder zur Konfiguration eines externen Pulsar-Dienstes umfassen:
-
external: A true value indicates that Milvus uses an external Pulsar service.
-
endpoints: The endpoints of Pulsar.
+
external: Ein true Wert zeigt an, dass Milvus einen externen Pulsar-Dienst verwendet.
+
endpoints: Die Endpunkte von Pulsar.
-
Example
The following example configures an external Pulsar service.
+
Beispiel
Das folgende Beispiel konfiguriert einen externen Pulsar-Dienst.
This example specifies the numbers of replicas of each component of Pulsar, the compute resources of Pulsar BookKeeper, and other configurations.
-
Find the complete configuration items to configure an internal Pulsar service in values.yaml. Add configuration items as needed under pulsar.inCluster.values as shown in the preceding example.
-
Assuming that the configuration file is named milvuscluster.yaml, run the following command to apply the configuration.
+
Dieses Beispiel gibt die Anzahl der Replikate jeder Komponente von Pulsar, die Rechenressourcen von Pulsar BookKeeper und andere Konfigurationen an.
+
Die vollständigen Konfigurationseinträge zur Konfiguration eines internen Pulsar-Dienstes finden Sie in values.yaml. Fügen Sie die Konfigurationselemente nach Bedarf unter pulsar.inCluster.values hinzu, wie im vorangegangenen Beispiel gezeigt.
+
Unter der Annahme, dass die Konfigurationsdatei den Namen milvuscluster.yaml trägt, führen Sie den folgenden Befehl aus, um die Konfiguration anzuwenden.
kubectl apply -f milvuscluster.yaml
-
Configure Kafka
+
Konfigurieren Sie Kafka
-
Pulsar is the default message storage in a Milvus cluster. If you want to use Kafka, add the optional field msgStreamType to configure Kafka.
-
kafka supports external and inCluster.
-
External Kafka
external indicates using an external Kafka service.
-
Fields used to configure an external Kafka service include:
+
Pulsar ist der Standardspeicher für Nachrichten in einem Milvus-Cluster. Wenn Sie Kafka verwenden möchten, fügen Sie das optionale Feld msgStreamType hinzu, um Kafka zu konfigurieren.
+
kafka unterstützt external und inCluster.
+
Externes Kafka
external gibt die Verwendung eines externen Kafka-Dienstes an.
+
Folgende Felder werden zur Konfiguration eines externen Kafka-Dienstes verwendet:
-
external: A true value indicates that Milvus uses an external Kafka service.
-
brokerList: The list of brokers to send the messages to.
+
external: Der Wert true zeigt an, dass Milvus einen externen Kafka-Dienst verwendet.
+
brokerList: Die Liste der Makler, an die die Nachrichten gesendet werden sollen.
-
Example
The following example configures an external Kafka service.
+
Beispiel
Das folgende Beispiel konfiguriert einen externen Kafka-Dienst.
Find the complete configuration items to configure an internal Kafka service here. Add configuration items as needed under kafka.inCluster.values.
-
Assuming that the configuration file is named milvuscluster.yaml, run the following command to apply the configuration.
+
Hier finden Sie die vollständige Konfiguration für einen internen Kafka-Dienst. Fügen Sie die Konfigurationselemente nach Bedarf unter kafka.inCluster.values hinzu.
+
Unter der Annahme, dass die Konfigurationsdatei den Namen milvuscluster.yaml trägt, führen Sie den folgenden Befehl aus, um die Konfiguration anzuwenden.
kubectl apply -f milvuscluster.yaml
-
What’s next
+
Was kommt als nächstes?
-
Learn how to configure other Milvus dependencies with Milvus Operator:
+
Erfahren Sie, wie Sie andere Milvus-Abhängigkeiten mit Milvus Operator konfigurieren können:
diff --git a/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.json b/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.json
index 466c05f3d..636716435 100644
--- a/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.json
+++ b/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.json
@@ -1 +1 @@
-{"codeList":["kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","kind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies: # Optional\n etcd: # Optional\n # Whether (=true) to use an existed external etcd as specified in the field endpoints or \n # (=false) create a new etcd inside the same kubernetes cluster for milvus.\n external: true # Optional default=false\n # The external etcd endpoints if external=true\n endpoints:\n - 192.168.1.1:2379\n components: {}\n config: {}\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies:\n etcd:\n inCluster:\n values:\n replicaCount: 5\n resources:\n limits: \n cpu: '4'\n memory: 8Gi\n requests:\n cpu: 200m\n memory: 512Mi\n components: {}\n config: {} \n","kubectl apply -f milvuscluster.yaml\n"],"headingContent":"Configure Meta Storage with Milvus Operator","anchorList":[{"label":"Configure Meta Storage with Milvus Operator","href":"Configure-Meta-Storage-with-Milvus-Operator","type":1,"isActive":false},{"label":"Configure etcd","href":"Configure-etcd","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","kind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies: # Optional\n etcd: # Optional\n # Whether (=true) to use an existed external etcd as specified in the field endpoints or \n # (=false) create a new etcd inside the same kubernetes cluster for milvus.\n external: true # Optional default=false\n # The external etcd endpoints if external=true\n endpoints:\n - 192.168.1.1:2379\n components: {}\n config: {}\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n dependencies:\n etcd:\n inCluster:\n values:\n replicaCount: 5\n resources:\n limits: \n cpu: '4'\n memory: 8Gi\n requests:\n cpu: 200m\n memory: 512Mi\n components: {}\n config: {} \n","kubectl apply -f milvuscluster.yaml\n"],"headingContent":"Configure Meta Storage with Milvus Operator","anchorList":[{"label":"Metaspeicher mit Milvus Operator konfigurieren","href":"Configure-Meta-Storage-with-Milvus-Operator","type":1,"isActive":false},{"label":"Konfigurieren von etcd","href":"Configure-etcd","type":2,"isActive":false},{"label":"Was kommt als nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.md b/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.md
index 95c354c01..76597167e 100644
--- a/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.md
+++ b/localization/v2.5.x/site/de/adminGuide/meta_storage_operator.md
@@ -1,10 +1,10 @@
---
id: meta_storage_operator.md
-title: Configure Meta Storage with Milvus Operator
+title: Metaspeicher mit Milvus Operator konfigurieren
related_key: 'minio, s3, storage, etcd, pulsar'
-summary: Learn how to configure meta storage with Milvus Operator.
+summary: 'Erfahren Sie, wie Sie Metaspeicher mit Milvus Operator konfigurieren können.'
---
-
Configure Meta Storage with Milvus Operator
+
Metaspeicher mit Milvus Operator konfigurieren
-
Milvus uses etcd for storing metadata. This topic introduces how to configure meta storage dependency when you install Milvus with Milvus Operator. For more details, refer to Configure Meta Storage with Milvus Operator in the Milvus Operator repository.
-
This topic assumes that you have deployed Milvus Operator.
You need to specify a configuration file for using Milvus Operator to start a Milvus cluster.
+
Milvus verwendet etcd zum Speichern von Metadaten. In diesem Thema wird beschrieben, wie Sie die Metaspeicher-Abhängigkeit konfigurieren, wenn Sie Milvus mit Milvus Operator installieren. Weitere Details finden Sie unter Konfigurieren des Metaspeichers mit Milvus Operator im Milvus Operator Repository.
+
Dieses Thema setzt voraus, dass Sie Milvus Operator installiert haben.
You only need to edit the code template in milvus_cluster_default.yaml to configure third-party dependencies. The following sections introduce how to configure object storage, etcd, and Pulsar respectively.
-
Configure etcd
+
Sie müssen nur die Codevorlage in milvus_cluster_default.yaml bearbeiten, um die Abhängigkeiten von Dritten zu konfigurieren. In den folgenden Abschnitten wird beschrieben, wie Objektspeicher, etcd und Pulsar konfiguriert werden.
+
Konfigurieren von etcd
-
Add required fields under spec.dependencies.etcd to configure etcd.
-
etcd supports external and inCluster.
-
Fields used to configure an external etcd service include:
+
Fügen Sie die erforderlichen Felder unter spec.dependencies.etcd hinzu, um etcd zu konfigurieren.
+
etcd unterstützt external und inCluster.
+
Zu den Feldern, die zur Konfiguration eines externen etcd-Dienstes verwendet werden, gehören:
-
external: A true value indicates that Milvus uses an external etcd service.
-
endpoints: The endpoints of etcd.
+
external: Der Wert true zeigt an, dass Milvus einen externen etcd-Dienst verwendet.
+
endpoints: Die Endpunkte von etcd.
-
External etcd
Example
The following example configures an external etcd service.
+
Externer etcd
Beispiel
Das folgende Beispiel konfiguriert einen externen etcd-Dienst.
The preceding example specifies the number of replicas as 5 and limits the compute resources for etcd.
-
Find the complete configuration items to configure an internal etcd service in values.yaml. Add configuration items as needed under etcd.inCluster.values as shown in the preceding example.
-
Assuming that the configuration file is named milvuscluster.yaml, run the following command to apply the configuration.
+
Das vorangehende Beispiel gibt die Anzahl der Replikate als 5 an und begrenzt die Rechenressourcen für etcd.
+
Die vollständigen Konfigurationselemente zur Konfiguration eines internen etcd-Dienstes finden Sie in values.yaml. Fügen Sie unter etcd.inCluster.values die erforderlichen Konfigurationseinträge hinzu, wie im vorangegangenen Beispiel gezeigt.
+
Unter der Annahme, dass die Konfigurationsdatei den Namen milvuscluster.yaml trägt, führen Sie den folgenden Befehl aus, um die Konfiguration anzuwenden.
kubectl apply -f milvuscluster.yaml
-
What’s next
+
Was kommt als nächstes?
-
Learn how to configure other Milvus dependencies with Milvus Operator:
+
Erfahren Sie, wie Sie andere Milvus-Abhängigkeiten mit Milvus Operator konfigurieren können:
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/alert.json b/localization/v2.5.x/site/de/adminGuide/monitor/alert.json
index 841bacd19..efb6b72e0 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/alert.json
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/alert.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"Create an Alert for Milvus Services","anchorList":[{"label":"Create an Alert for Milvus Services","href":"Create-an-Alert-for-Milvus-Services","type":1,"isActive":false},{"label":"Scenarios for creating alerts","href":"Scenarios-for-creating-alerts","type":2,"isActive":false},{"label":"Set up alerts","href":"Set-up-alerts","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"Create an Alert for Milvus Services","anchorList":[{"label":"Eine Warnung für Milvus-Dienste erstellen","href":"Create-an-Alert-for-Milvus-Services","type":1,"isActive":false},{"label":"Szenarien für die Erstellung von Alarmen","href":"Scenarios-for-creating-alerts","type":2,"isActive":false},{"label":"Alarme einrichten","href":"Set-up-alerts","type":2,"isActive":false},{"label":"Was kommt als Nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/alert.md b/localization/v2.5.x/site/de/adminGuide/monitor/alert.md
index c5f273515..20fe663cc 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/alert.md
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/alert.md
@@ -1,10 +1,10 @@
---
id: alert.md
-title: Create an alert
+title: Einen Alarm erstellen
related_key: monitor and alert.
-summary: Learn how to create an alert for Milvus services in Grafana.
+summary: 'Erfahren Sie, wie Sie einen Alarm für Milvus-Dienste in Grafana erstellen.'
---
-
Create an Alert for Milvus Services
+
Eine Warnung für Milvus-Dienste erstellen
-
This topic introduces the alert mechanism for Milvus services and explains why, when, and how to create alerts in Milvus.
-
By creating alerts, you can receive notifications when the value of a specific metric exceeds the threshold you have predefined.
-
For example, you create an alert and set 80 MB as the maximum value for memory usage by Milvus components. If the actual usage exceeds the predefined number, you will receive alerts reminding you that the memory usage by Milvus component surpasses 80 MB. Upon the alert, you can then adjust the allocation of resources accordingly and timely to ensure service availability.
-
Scenarios for creating alerts
+
In diesem Thema wird der Alert-Mechanismus für Milvus-Dienste vorgestellt und erklärt, warum, wann und wie man Alerts in Milvus erstellt.
+
Durch das Erstellen von Alerts können Sie Benachrichtigungen erhalten, wenn der Wert einer bestimmten Metrik den von Ihnen vordefinierten Schwellenwert überschreitet.
+
Beispiel: Sie erstellen einen Alert und legen 80 MB als Höchstwert für die Speichernutzung durch Milvus-Komponenten fest. Wenn die tatsächliche Nutzung den vordefinierten Wert übersteigt, erhalten Sie Warnungen, die Sie daran erinnern, dass die Speichernutzung durch die Milvus-Komponente 80 MB übersteigt. Nach der Warnung können Sie die Ressourcenzuweisung entsprechend und rechtzeitig anpassen, um die Verfügbarkeit des Dienstes sicherzustellen.
+
Szenarien für die Erstellung von Alarmen
-
Below are some common scenarios where you need to create an alert for.
+
Im Folgenden sind einige häufige Szenarien aufgeführt, für die Sie eine Warnung erstellen müssen.
-
CPU or memory usage by Milvus components is too high.
-
Milvus component pods are running low on disk space.
-
Milvus component pods are restarting too frequently.
+
Die CPU- oder Speichernutzung durch Milvus-Komponenten ist zu hoch.
+
Der Festplattenspeicher der Milvus-Komponenten-Pods wird knapp.
+
Milvus-Komponenten-Pods werden zu häufig neu gestartet.
-
The following metrics are available for alerting configuration:
+
Die folgenden Metriken sind für die Alarmierungskonfiguration verfügbar:
-
Metric
Description
Unit of measure
+
Metrik
Beschreibung
Maßeinheit
-
CPU Usage
CPU usage by Milvus components that is indicated by the running time of CPU.
Second
-
Memory
Memory resources consumed by Milvus components.
MB
-
Goroutines
Concurrent executing activities in GO language.
/
-
OS Threads
Threads, or lightweight processes in an operating system.
/
-
Process Opened Fds
The current number of used file descriptors.
/
+
CPU-Auslastung
CPU-Nutzung durch Milvus-Komponenten, die durch die Laufzeit der CPU angezeigt wird.
Sekunde
+
Speicher
Von den Milvus-Komponenten verbrauchte Speicherressourcen.
MB
+
Goroutinen
Gleichzeitig ausgeführte Aktivitäten in der Sprache GO.
/
+
OS-Threads
Threads, oder leichtgewichtige Prozesse in einem Betriebssystem.
/
+
Prozess Geöffnete Fds
Die aktuelle Anzahl der verwendeten Dateideskriptoren.
/
-
Set up alerts
+
Alarme einrichten
-
This guide takes the example of creating an alert for the memory usage of Milvus components. To create other types of alerts, please adjust your commands accordingly. If you encounter any problems during the process, feel free to ask in the Milvus forum or initiate a discussion on Slack.
-
Prerequisites
This tutorial assumes that you have Grafana installed and configured. If not, we recommend reading the monitoring guide.
-
1. Add a new query
To add an alert for the memory usage of Milvus components, edit the Memory panel. Then, add a new query with the metric: process_resident_memory_bytes{app_kubernetes_io_name="milvus", app_kubernetes_io_instance=~"my-release", namespace="default"}
+
In dieser Anleitung wird als Beispiel die Erstellung eines Alerts für die Speichernutzung von Milvus-Komponenten verwendet. Um andere Arten von Alarmen zu erstellen, passen Sie bitte Ihre Befehle entsprechend an. Sollten Sie während des Prozesses auf Probleme stoßen, fragen Sie bitte im Milvus-Forum oder starten Sie eine Diskussion auf Slack.
+
Voraussetzungen
Dieses Tutorial geht davon aus, dass Sie Grafana installiert und konfiguriert haben. Falls nicht, empfehlen wir die Lektüre des Monitoring-Guides.
+
1. Fügen Sie eine neue Abfrage hinzu
Um einen Alarm für die Speichernutzung von Milvus-Komponenten hinzuzufügen, bearbeiten Sie das Panel Speicher. Fügen Sie dann eine neue Abfrage mit der Metrik hinzu: process_resident_memory_bytes{app_kubernetes_io_name="milvus", app_kubernetes_io_instance=~"my-release", namespace="default"}
-
-
- Alert_metric
-
-
-
2. Save the dashboard
Save the dashboard, and wait for a few minutes to see the alert.
+
+
+ Alert_metric
+
2. Speichern Sie das Dashboard
Speichern Sie das Dashboard und warten Sie ein paar Minuten, um den Alarm zu sehen.
-
-
- Alert_dashboard
-
-
-
Grafana alert query does not support template variables. Therefore, you should add a second query without any template variables in the labels. The second query is named as “A” by default. You can rename it by clicking on the dropdown.
+
+
+ Alert_dashboard
+
Die Grafana Alert-Abfrage unterstützt keine Template-Variablen. Daher sollten Sie eine zweite Abfrage ohne Template-Variablen in den Labels hinzufügen. Die zweite Abfrage wird standardmäßig als "A" benannt. Sie können sie umbenennen, indem Sie auf das Dropdown klicken.
-
-
- Alert_query
-
-
-
3. Add alert notifications
To receive alert notifications, add a "notification channel". Then, specify the channel in the field "Send to".
+
+
+ Warnung_Abfrage
+
3. Hinzufügen von Warnmeldungen
Um Warnmeldungen zu erhalten, fügen Sie einen "Benachrichtigungskanal" hinzu. Geben Sie dann den Kanal im Feld "Senden an" an.
-
-
- Alert_notification
-
-
-
If the alert is successfully created and triggered, you will receive the notification as shown in the screenshot below.
+
+
+ Warnung_Benachrichtigung
+
Wenn die Warnmeldung erfolgreich erstellt und ausgelöst wurde, erhalten Sie eine Benachrichtigung wie in der folgenden Abbildung dargestellt.
-
-
- Notification_message
-
-
-
To delete an alert, go to the “Alert” panel and click the delete button.
+
+
+ Benachrichtigung_Nachricht
+
Um eine Benachrichtigung zu löschen, gehen Sie zum Bereich "Benachrichtigung" und klicken Sie auf die Schaltfläche "Löschen".
-
-
- Delete_alert
-
-
-
What’s next
+
+
+ Warnung_löschen
+
Was kommt als Nächstes?
-
If you need to start monitoring services for Milvus:
-
This guide provides instructions on how to configure Loki to collect logs and Grafana to query and display logs for a Milvus cluster.
-
In this guide, you will learn how to:
+
Dieser Leitfaden enthält Anweisungen zur Konfiguration von Loki zum Sammeln von Protokollen und Grafana zum Abfragen und Anzeigen von Protokollen für einen Milvus-Cluster.
+
In diesem Leitfaden erfahren Sie, wie Sie:
-
Deploy Loki and Promtail on a Milvus cluster using Helm.
-
Configure object storage for Loki.
-
Query logs using Grafana.
+
Loki und Promtail auf einem Milvus-Cluster mit Helm bereitstellen.
Loki is a log aggregation system inspired by Prometheus. Deploy Loki using Helm to collect logs from your Milvus cluster.
-
1. Add Grafana’s Helm Chart Repository
Add Grafana’s chart repository to Helm and update it:
+
Loki ist ein von Prometheus inspiriertes System zur Protokollaggregation. Setzen Sie Loki mit Helm ein, um Protokolle von Ihrem Milvus-Cluster zu sammeln.
+
1. Hinzufügen des Grafana Helm Chart Repository
Fügen Sie das Chart-Repository von Grafana zu Helm hinzu und aktualisieren Sie es:
In the following example, replace <accessKey> and <keyId> with your own S3 access key and ID, s3.endpoint with the S3 endpoint, and s3.region with the S3 region.
+
Option 2: Verwendung von AWS S3 für die Speicherung
+
Im folgenden Beispiel ersetzen Sie <accessKey> und <keyId> durch Ihren eigenen S3-Zugangsschlüssel und Ihre ID, s3.endpoint durch den S3-Endpunkt und s3.region durch die S3-Region.
Milvus outputs a list of detailed time-series metrics during runtime. You can use Prometheus and Grafana to visualize the metrics. This topic introduces the monitoring metrics displayed in the Grafana Milvus Dashboard.
-
The time unit in this topic is milliseconds. And “99th percentile” in this topic refers to the fact that 99 percent of the time statistics are controlled within a certain value.
Milvus gibt während der Laufzeit eine Liste mit detaillierten Zeitreihenmetriken aus. Sie können Prometheus und Grafana verwenden, um die Metriken zu visualisieren. In diesem Thema werden die Überwachungsmetriken vorgestellt, die im Grafana Milvus Dashboard angezeigt werden.
+
Die Zeiteinheit in diesem Thema ist Millisekunden. Und "99. Perzentil" in diesem Thema bezieht sich auf die Tatsache, dass 99 Prozent der Zeitstatistiken innerhalb eines bestimmten Wertes kontrolliert werden.
The average number of vectors queried per second by each proxy within the past two minutes.
sum(increase(milvus_proxy_search_vectors_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_proxy_search_vectors_count
The accumulated number of vectors queried.
-
Insert Vector Count Rate
The average number of vectors inserted per second by each proxy within the past two minutes.
sum(increase(milvus_proxy_insert_vectors_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_proxy_insert_vectors_count
The accumulated number of vectors inserted.
-
Search Latency
The average latency and the 99th percentile of the latency of receiving search and query requests by each proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_latency
The latency of search and query requests.
-
Collection Search Latency
The average latency and the 99th percentile of the latency of receiving search and query requests to a specific collection by each proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_collection_sq_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m]))) avg: sum(increase(milvus_proxy_collection_sq_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_collection_sq_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type)
milvus_proxy_collection_sq_latency_sum
The latency of search and query requests to a specific collection
-
Mutation Latency
The average latency and the 99th percentile of the latency of receiving mutation requests by each proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, msg_type, pod, node_id) (rate(milvus_proxy_mutation_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_mutation_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type) / sum(increase(milvus_proxy_mutation_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type)
milvus_proxy_mutation_latency_sum
The latency of mutation requests.
-
Collection Mutation Latency
The average latency and the 99th percentile of the latency of receiving mutation requests to a specific collection by each proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_collection_sq_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m]))) avg: sum(increase(milvus_proxy_collection_sq_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_collection_sq_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type)
milvus_proxy_collection_sq_latency_sum
The latency of mutation requests to a specific collection
-
Wait Search Result Latency
The average latency and the 99th percentile of the latency between sending search and query requests and receiving results by proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_wait_result_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_wait_result_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_wait_result_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_wait_result_latency
The latency between sending search and query requests and receiving results.
-
Reduce Search Result Latency
The average latency and the 99th percentile of the latency of aggregating search and query results by proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_reduce_result_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_reduce_result_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_reduce_result_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_reduce_result_latency
The latency of aggregating search and query results returned by each query node.
-
Decode Search Result Latency
The average latency and the 99th percentile of the latency of decoding search and query results by proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_decode_result_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_decode_result_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_decode_resultlatency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_decode_result_latency
The latency of decoding each search and query result.
-
Msg Stream Object Num
The average, maximum, and minimum number of the msgstream objects created by each proxy on its corresponding physical topic within the past two minutes.
avg(milvus_proxy_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) max(milvus_proxy_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) min(milvus_proxy_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_proxy_msgstream_obj_num
The number of msgstream objects created on each physical topic.
-
Mutation Send Latency
The average latency and the 99th percentile of the latency of sending insertion or deletion requests by each proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, msg_type, pod, node_id) (rate(milvus_proxy_mutation_send_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_mutation_send_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type) / sum(increase(milvus_proxy_mutation_send_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type)
milvus_proxy_mutation_send_latency
The latency of sending insertion or deletion requests.
-
Cache Hit Rate
The average cache hit rate of operations including GeCollectionID, GetCollectionInfo, and GetCollectionSchema per second within the past two minutes.
The statistics of hit and failure rate of each cache reading operation.
-
Cache Update Latency
The average latency and the 99th percentile of cache update latency by proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, pod, node_id) (rate(milvus_proxy_cache_update_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_cache_update_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id) / sum(increase(milvus_proxy_cache_update_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id)
milvus_proxy_cache_update_latency
The latency of updating cache each time.
-
Sync Time
The average, maximum, and minimum number of epoch time synced by each proxy in its corresponding physical channel.
avg(milvus_proxy_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) max(milvus_proxy_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) min(milvus_proxy_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_proxy_sync_epoch_time
Each physical channel’s epoch time (Unix time, the milliseconds passed ever since January 1, 1970). There is a default ChannelName apart from the physical channels.
-
Apply PK Latency
The average latency and the 99th percentile of primary key application latency by each proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, pod, node_id) (rate(milvus_proxy_apply_pk_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_apply_pk_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id) / sum(increase(milvus_proxy_apply_pk_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id)
milvus_proxy_apply_pk_latency
The latency of applying primary key.
-
Apply Timestamp Latency
The average latency and the 99th percentile of timestamp application latency by each proxy within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, pod, node_id) (rate(milvus_proxy_apply_timestamp_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_apply_timestamp_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id) / sum(increase(milvus_proxy_apply_timestamp_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id)
milvus_proxy_apply_timestamp_latency
The latency of applying timestamp.
-
Request Success Rate
The number of successful requests received per second by each proxy, with a detailed breakdown of each request type. Possible request types are DescribeCollection, DescribeIndex, GetCollectionStatistics, HasCollection, Search, Query, ShowPartitions, Insert, etc.
The number of failed requests received per second by each proxy, with a detailed breakdown of each request type. Possible request types are DescribeCollection, DescribeIndex, GetCollectionStatistics, HasCollection, Search, Query, ShowPartitions, Insert, etc.
The number of bytes sent back to the client while each proxy is responding to search and query requests.
+
Suchvektor-Zählrate
Die durchschnittliche Anzahl der Vektoren, die pro Sekunde von jedem Proxy innerhalb der letzten zwei Minuten abgefragt wurden.
sum(increase(milvus_proxy_search_vectors_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_proxy_search_vectors_count
Die kumulierte Anzahl der abgefragten Vektoren.
+
Einfüge-Vektor-Zählrate
Die durchschnittliche Anzahl der Vektoren, die von jedem Proxy in den letzten zwei Minuten pro Sekunde eingefügt wurden.
sum(increase(milvus_proxy_insert_vectors_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_proxy_insert_vectors_count
Die kumulierte Anzahl der eingefügten Vektoren.
+
Suchlatenz
Die durchschnittliche Latenz und das 99. Perzentil der Latenz beim Empfang von Such- und Abfrageanfragen durch jeden Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_latency
Die Latenzzeit von Such- und Abfrageanfragen.
+
Sammlung Suchlatenz
Die durchschnittliche Latenzzeit und das 99. Perzentil der Latenzzeit für den Empfang von Such- und Abfrageanfragen an eine bestimmte Sammlung durch jeden Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_collection_sq_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m]))) avg: sum(increase(milvus_proxy_collection_sq_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_collection_sq_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type)
milvus_proxy_collection_sq_latency_sum
Die Latenzzeit von Such- und Abfrageanfragen an eine bestimmte Sammlung
+
Mutationslatenz
Die durchschnittliche Latenzzeit und das 99. Perzentil der Latenz für den Empfang von Mutationsanfragen durch jeden Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, msg_type, pod, node_id) (rate(milvus_proxy_mutation_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_mutation_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type) / sum(increase(milvus_proxy_mutation_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type)
milvus_proxy_mutation_latency_sum
Die Latenzzeit von Mutationsanfragen.
+
Sammlung Mutationslatenz
Die durchschnittliche Latenzzeit und das 99. Perzentil der Latenzzeit für den Empfang von Mutationsanforderungen an eine bestimmte Sammlung durch jeden Bevollmächtigten innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_collection_sq_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m]))) avg: sum(increase(milvus_proxy_collection_sq_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_collection_sq_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace", collection_name=~"$collection"}[2m])) by (pod, node_id, query_type)
milvus_proxy_collection_sq_latency_sum
Die Latenzzeit von Mutationsanfragen an eine bestimmte Sammlung
+
Latenzzeit für Suchergebnisse
Die durchschnittliche Latenz und das 99. Perzentil der Latenz zwischen dem Senden von Such- und Abfrageanfragen und dem Empfang von Ergebnissen durch den Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_wait_result_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_wait_result_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_wait_result_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_wait_result_latency
Die Latenzzeit zwischen dem Senden von Such- und Abfrageanfragen und dem Empfang von Ergebnissen.
+
Latenz der Suchergebnisse verringern
Die durchschnittliche Latenz und das 99. Perzentil der Latenz der Aggregation von Such- und Abfrageergebnissen durch Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_reduce_result_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_reduce_result_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_reduce_result_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_reduce_result_latency
Die Latenz der Aggregation von Such- und Abfrageergebnissen, die von jedem Abfrageknoten zurückgegeben werden.
+
Latenzzeit für die Dekodierung von Suchergebnissen
Die durchschnittliche Latenz und das 99. Perzentil der Latenz der Dekodierung von Such- und Abfrageergebnissen durch Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, query_type, pod, node_id) (rate(milvus_proxy_sq_decode_result_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_sq_decode_result_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type) / sum(increase(milvus_proxy_sq_decode_resultlatency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, query_type)
milvus_proxy_sq_decode_result_latency
Die Latenzzeit für die Dekodierung der einzelnen Such- und Abfrageergebnisse.
+
Msg Stream Object Num
Die durchschnittliche, maximale und minimale Anzahl der msgstream-Objekte, die von jedem Proxy auf dem entsprechenden physischen Topic innerhalb der letzten zwei Minuten erstellt wurden.
avg(milvus_proxy_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) max(milvus_proxy_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) min(milvus_proxy_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_proxy_msgstream_obj_num
Die Anzahl der msgstream-Objekte, die in jedem physischen Topic erstellt wurden.
+
Mutations-Sende-Latenzzeit
Die durchschnittliche Latenz und das 99. Perzentil der Latenz beim Senden von Einfüge- oder Löschanfragen durch jeden Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, msg_type, pod, node_id) (rate(milvus_proxy_mutation_send_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_mutation_send_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type) / sum(increase(milvus_proxy_mutation_send_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id, msg_type)
milvus_proxy_mutation_send_latency
Die Latenzzeit für das Senden von Einfüge- oder Löschanfragen.
+
Cache-Trefferrate
Die durchschnittliche Cache-Trefferrate von Operationen einschließlich GeCollectionID, GetCollectionInfo und GetCollectionSchema pro Sekunde innerhalb der letzten zwei Minuten.
Die Statistik der Treffer- und Fehlerrate der einzelnen Cache-Lesevorgänge.
+
Cache-Aktualisierungslatenz
Die durchschnittliche Latenzzeit und das 99. Perzentil der Cache-Aktualisierungslatenz nach Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, pod, node_id) (rate(milvus_proxy_cache_update_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_cache_update_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id) / sum(increase(milvus_proxy_cache_update_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id)
milvus_proxy_cache_update_latency
Die Latenzzeit für jede Cache-Aktualisierung.
+
Sync-Zeit
Die durchschnittliche, maximale und minimale Anzahl von Epochenzeiten, die von jedem Proxy in seinem entsprechenden physischen Kanal synchronisiert wurden.
avg(milvus_proxy_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) max(milvus_proxy_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) min(milvus_proxy_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_proxy_sync_epoch_time
Die Epochenzeit jedes physischen Kanals (Unix-Zeit, die seit dem 1. Januar 1970 vergangenen Millisekunden). Abgesehen von den physischen Kanälen gibt es einen Standard ChannelName.
+
PK-Latenz anwenden
Die durchschnittliche Latenz und das 99. Perzentil der Primärschlüssel-Anwendungslatenz durch jeden Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, pod, node_id) (rate(milvus_proxy_apply_pk_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_apply_pk_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id) / sum(increase(milvus_proxy_apply_pk_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id)
milvus_proxy_apply_pk_latency
Die Latenzzeit für die Anwendung des Primärschlüssels.
+
Latenz der Anwendung des Zeitstempels
Die durchschnittliche Latenz und das 99. Perzentil der Zeitstempel-Anwendungslatenz durch jeden Proxy innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, pod, node_id) (rate(milvus_proxy_apply_timestamp_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_proxy_apply_timestamp_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id) / sum(increase(milvus_proxy_apply_timestamp_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (pod, node_id)
milvus_proxy_apply_timestamp_latency
Die Latenzzeit für die Anwendung des Zeitstempels.
+
Anfrage-Erfolgsrate
Die Anzahl der erfolgreichen Anfragen, die pro Sekunde von jedem Proxy empfangen wurden, mit einer detaillierten Aufschlüsselung der einzelnen Anfragearten. Mögliche Anforderungstypen sind DescribeCollection, DescribeIndex, GetCollectionStatistics, HasCollection, Search, Query, ShowPartitions, Insert, usw.
Die Anzahl der fehlgeschlagenen Anfragen, die pro Sekunde von jedem Proxy empfangen wurden, mit einer detaillierten Aufschlüsselung der einzelnen Anfragearten. Mögliche Anforderungstypen sind DescribeCollection, DescribeIndex, GetCollectionStatistics, HasCollection, Search, Query, ShowPartitions, Insert, usw.
Die Anzahl der Bytes, die pro Sekunde an den Client zurückgesendet werden, während jeder Proxy innerhalb der letzten zwei Minuten auf Such- und Abfrageanfragen antwortet.
Die Anzahl der Bytes, die an den Client zurückgesendet werden, während jeder Proxy auf Such- und Abfrageanfragen antwortet.
-
Root coordinator
+
Root-Koordinator
-
Panel
Panel description
PromQL (Prometheus query language)
The Milvus metrics used
Milvus metrics description
+
Bereich
Beschreibung des Panels
PromQL (Prometheus-Abfragesprache)
Die verwendeten Milvus-Metriken
Milvus-Metriken Beschreibung
-
Proxy Node Num
The number of proxies created.
sum(milvus_rootcoord_proxy_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_proxy_num
The number of proxies.
-
Sync Time
The average, maximum, and minimum number of epoch time synced by each root coord in each physical channel (PChannel).
avg(milvus_rootcoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) max(milvus_rootcoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) min(milvus_rootcoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_sync_epoch_time
Each physical channel’s epoch time (Unix time, the milliseconds passed ever since January 1, 1970).
-
DDL Request Rate
The status and number of DDL requests per second within the past two minutes.
sum(increase(milvus_rootcoord_ddl_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status, function_name)
milvus_rootcoord_ddl_req_count
The total number of DDL requests including CreateCollection, DescribeCollection, DescribeSegments, HasCollection, ShowCollections, ShowPartitions, and ShowSegments.
-
DDL Request Latency
The average latency and the 99th percentile of DDL request latency within the past two minutes.
p99: histogram_quantile(0.99, sum by (le, function_name) (rate(milvus_rootcoord_ddl_req_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_rootcoord_ddl_req_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (function_name) / sum(increase(milvus_rootcoord_ddl_req_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (function_name)
milvus_rootcoord_ddl_req_latency
The latency of all types of DDL requests.
-
Sync Timetick Latency
The average latency and the 99th percentile of the time used by root coord to sync all timestamp to PChannel within the past two minutes.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_rootcoord_sync_timetick_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_rootcoord_sync_timetick_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_rootcoord_sync_timetick_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))
milvus_rootcoord_sync_timetick_latency
the time used by root coord to sync all timestamp to pchannel.
-
ID Alloc Rate
The number of IDs assigned by root coord per second within the past two minutes.
The pre-assigned timestamps that root coord saves in meta storage. The timestamps are assigned 3 seconds earlier. And the timestamp is updated and saved in meta storage every 50 millisecond.
-
Collection Num
The total number of collections.
sum(milvus_rootcoord_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_collection_num
The total number of collections existing in Milvus currently.
-
Partition Num
The total number of partitions.
sum(milvus_rootcoord_partition_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_partition_num
The total number of partitions existing in Milvus currently.
-
DML Channel Num
The total number of DML channels.
sum(milvus_rootcoord_dml_channel_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_dml_channel_num
The total number of DML channels existing in Milvus currently.
-
Msgstream Num
The total number of msgstreams.
sum(milvus_rootcoord_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_msgstream_obj_num
The total number of msgstreams in Milvus currently.
-
Credential Num
The total number of credentials.
sum(milvus_rootcoord_credential_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_credential_num
The total number of credentials in Milvus currently.
-
Time Tick Delay
The sum of the maximum time tick delay of the flow graphs on all DataNodes and QueryNodes.
sum(milvus_rootcoord_time_tick_delay{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_time_tick_delay
The maximum time tick delay of the flow graphs on each DataNode and QueryNode.
+
Proxy-Knoten-Anzahl
Die Anzahl der erstellten Proxies.
sum(milvus_rootcoord_proxy_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_proxy_num
Die Anzahl der Proxys.
+
Sync-Zeit
Die durchschnittliche, maximale und minimale Anzahl von Epochenzeiten, die von jedem Root-Koordinator in jedem physischen Kanal (PChannel) synchronisiert wurden.
avg(milvus_rootcoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) max(milvus_rootcoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) min(milvus_rootcoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_sync_epoch_time
Die Epochenzeit jedes physischen Kanals (Unix-Zeit, die seit dem 1. Januar 1970 vergangenen Millisekunden).
+
DDL-Anforderungsrate
Status und Anzahl der DDL-Anfragen pro Sekunde in den letzten zwei Minuten.
sum(increase(milvus_rootcoord_ddl_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status, function_name)
milvus_rootcoord_ddl_req_count
Die Gesamtzahl der DDL-Anfragen einschließlich CreateCollection, DescribeCollection, DescribeSegments, HasCollection, ShowCollections, ShowPartitions und ShowSegments.
+
Latenzzeit für DDL-Anfragen
Die durchschnittliche Latenz und das 99. Perzentil der DDL-Anfrage-Latenz innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le, function_name) (rate(milvus_rootcoord_ddl_req_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_rootcoord_ddl_req_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (function_name) / sum(increase(milvus_rootcoord_ddl_req_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) by (function_name)
milvus_rootcoord_ddl_req_latency
Die Latenz aller Arten von DDL-Anforderungen.
+
Sync Timetick Latenz
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die von Root Coord für die Synchronisierung aller Zeitstempel mit PChannel in den letzten zwei Minuten benötigt wurde.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_rootcoord_sync_timetick_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_rootcoord_sync_timetick_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_rootcoord_sync_timetick_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))
milvus_rootcoord_sync_timetick_latency
die Zeit, die von Root Coord für die Synchronisierung aller Zeitstempel mit PChannel verwendet wurde.
+
ID-Zuweisungsrate
Die Anzahl der von Root Coord zugewiesenen IDs pro Sekunde innerhalb der letzten zwei Minuten.
Die voreingestellten Zeitstempel, die Root-Coord im Metaspeicher speichert. Die Zeitstempel werden 3 Sekunden früher zugewiesen. Der Zeitstempel wird alle 50 Millisekunden aktualisiert und im Metaspeicher gespeichert.
+
Sammlung Num
Die Gesamtzahl der Sammlungen.
sum(milvus_rootcoord_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_collection_num
Die Gesamtzahl der derzeit in Milvus vorhandenen Sammlungen.
+
Partition Num
Die Gesamtzahl der Partitionen.
sum(milvus_rootcoord_partition_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_partition_num
Die Gesamtzahl der Partitionen, die derzeit in Milvus vorhanden sind.
+
DML-Kanal-Anzahl
Die Gesamtzahl der DML-Kanäle.
sum(milvus_rootcoord_dml_channel_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_dml_channel_num
Die Gesamtzahl der DML-Kanäle, die derzeit in Milvus vorhanden sind.
+
Msgstream Num
Die Gesamtzahl der Msgstreams.
sum(milvus_rootcoord_msgstream_obj_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_msgstream_obj_num
Die Gesamtzahl der derzeit in Milvus vorhandenen msgstreams.
+
Berechtigungsnachweis Num
Die Gesamtzahl der Credentials.
sum(milvus_rootcoord_credential_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_credential_num
Die Gesamtzahl der Credentials in Milvus derzeit.
+
Zeittick-Verzögerung
Die Summe der maximalen Zeittickverzögerung der Flussdiagramme auf allen DataNodes und QueryNodes.
sum(milvus_rootcoord_time_tick_delay{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_rootcoord_time_tick_delay
Die maximale Zeitverzögerung der Flussdiagramme auf jedem Datenknoten und Abfrageknoten.
-
Query coordinator
+
Abfragekoordinator
-
Panel
Panel description
PromQL (Prometheus query language)
The Milvus metrics used
Milvus metrics description
+
Bereich
Beschreibung des Panels
PromQL (Prometheus-Abfragesprache)
Die verwendeten Milvus-Metriken
Milvus-Metriken Beschreibung
-
Collection Loaded Num
The number of collections that are currently loaded into memory.
sum(milvus_querycoord_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_collection_num
The number of collections that are currently loaded by Milvus.
-
Entity Loaded Num
The number of entities that are currently loaded into memory.
sum(milvus_querycoord_entity_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_entitiy_num
The number of entities that are currently loaded by Milvus.
-
Load Request Rate
The number of load requests per second within the past two minutes.
sum(increase(milvus_querycoord_load_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])120) by (status)
milvus_querycoord_load_req_count
The accumulated number of load requests.
-
Release Request Rate
The number of release requests per second within the past two minutes.
sum(increase(milvus_querycoord_release_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status)
milvus_querycoord_release_req_count
The accumulated number of release requests.
-
Load Request Latency
The average latency and the 99th percentile of load request latency within the past two minutes.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_querycoord_load_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_querycoord_load_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_querycoord_load_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))
milvus_querycoord_load_latency
The time used to complete a load request.
-
Release Request Latency
The average latency and the 99th percentile of release request latency within the past two minutes.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_querycoord_release_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_querycoord_release_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_querycoord_release_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))
milvus_querycoord_release_latency
The time used to complete a release request.
-
Sub-Load Task
The number of sub load tasks.
sum(milvus_querycoord_child_task_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_child_task_num
The number of sub load tasks. A query coord splits a load request into multiple sub load tasks.
-
Parent Load Task
The number of parent load tasks.
sum(milvus_querycoord_parent_task_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_parent_task_num
The number of sub load tasks. Each load request corresponds to a parent task in the task queue.
-
Sub-Load Task Latency
The average latency and the 99th percentile of the latency of a sub load task within the past two minutes.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_querycoord_child_task_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_querycoord_child_task_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_querycoord_child_task_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) namespace"}[2m])))
milvus_querycoord_child_task_latency
The latency to complete a sub load task.
-
Query Node Num
The number of query nodes managed by query coord.
sum(milvus_querycoord_querynode_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_querynode_num
The number of query nodes managed by query coord.
+
Sammlung Geladen Num
Die Anzahl der Sammlungen, die derzeit in den Speicher geladen sind.
sum(milvus_querycoord_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_collection_num
Die Anzahl der Sammlungen, die derzeit von Milvus geladen werden.
+
Entity Loaded Num
Die Anzahl der Entitäten, die derzeit in den Speicher geladen sind.
sum(milvus_querycoord_entity_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_entitiy_num
Die Anzahl der Entitäten, die derzeit von Milvus geladen werden.
+
Load Request Rate
Die Anzahl der Ladeanfragen pro Sekunde innerhalb der letzten zwei Minuten.
sum(increase(milvus_querycoord_load_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])120) by (status)
milvus_querycoord_load_req_count
Die kumulierte Anzahl der Ladeanfragen.
+
Rate der Freigabeanfragen
Die Anzahl der Freigabeanfragen pro Sekunde innerhalb der letzten zwei Minuten.
sum(increase(milvus_querycoord_release_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status)
milvus_querycoord_release_req_count
Die kumulierte Anzahl der Freigabeanfragen.
+
Latenzzeit für Lastanforderungen
Die durchschnittliche Latenz und das 99. Perzentil der Lastanforderungslatenz innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_querycoord_load_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_querycoord_load_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_querycoord_load_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))
milvus_querycoord_load_latency
Die Zeit, die benötigt wird, um eine Lastanforderung abzuschließen.
+
Latenzzeit für Freigabeanforderung
Die durchschnittliche Latenzzeit und das 99. Perzentil der Latenzzeit für Freigabeanfragen innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_querycoord_release_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_querycoord_release_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_querycoord_release_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))
milvus_querycoord_release_latency
Die Zeit, die für den Abschluss einer Freigabeanforderung benötigt wird.
+
Sub-Load-Aufgabe
Die Anzahl der Sub-Load-Tasks.
sum(milvus_querycoord_child_task_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_child_task_num
Die Anzahl der Sub-Load-Tasks. Eine Abfragekoordinate teilt eine Ladeanforderung in mehrere Sub-Load-Tasks auf.
+
Übergeordnete Lastaufgabe
Die Anzahl der übergeordneten Lastaufgaben.
sum(milvus_querycoord_parent_task_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_parent_task_num
Die Anzahl der Unterlastaufgaben. Jede Lastanforderung entspricht einer übergeordneten Aufgabe in der Aufgabenwarteschlange.
+
Latenzzeit der Unter-Lastaufgabe
Die durchschnittliche Latenzzeit und das 99. Perzentil der Latenzzeit einer Sub-Load-Task innerhalb der letzten zwei Minuten.
p99: histogram_quantile(0.99, sum by (le) (rate(milvus_querycoord_child_task_latency_bucket{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m]))) avg: sum(increase(milvus_querycoord_child_task_latency_sum{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) / sum(increase(milvus_querycoord_child_task_latency_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])) namespace"}[2m])))
milvus_querycoord_child_task_latency
Die Latenzzeit für den Abschluss einer Subload-Aufgabe.
+
Abfrageknoten-Anzahl
Die Anzahl der Abfrageknoten, die von query coord verwaltet werden.
sum(milvus_querycoord_querynode_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_querycoord_querynode_num
Die Anzahl der Abfrageknoten, die von Query Coord verwaltet werden.
-
Query node
+
Abfrageknoten
-
Panel
Panel description
PromQL (Prometheus query language)
The Milvus metrics used
Milvus metrics description
+
Bereich
Beschreibung des Panels
PromQL (Prometheus-Abfragesprache)
Die verwendeten Milvus-Metriken
Milvus-Metriken Beschreibung
-
Collection Loaded Num
The number of collections loaded into memory by each query node.
sum(milvus_querynode_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_collection_num
The number of collection loaded by each query node.
-
Partition Loaded Num
The number of partitions loaded into memory by each query node.
sum(milvus_querynode_partition_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_partition_num
The number of partitions loaded by each query node.
-
Segment Loaded Num
The number of segments loaded into memory by each query node.
sum(milvus_querynode_segment_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_segment_num
The number of segments loaded by each query node.
-
Queryable Entity Num
The number of queryable and searchable entities on each query node.
sum(milvus_querynode_entity_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_entity_num
The number of queryable and searchable entities on each query node.
-
DML Virtual Channel
The number of DML virtual channels watched by each query node.
sum(milvus_querynode_dml_vchannel_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_dml_vchannel_num
The number of DML virtual channels watched by each query node.
-
Delta Virtual Channel
The number of delta channels watched by each query node.
sum(milvus_querynode_delta_vchannel_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_delta_vchannel_num
The number of delta channels watched by each query node.
-
Consumer Num
The number of consumers in each query node.
sum(milvus_querynode_consumer_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_consumer_num
The number of consumers in each query node.
-
Search Request Rate
The total number of search and query requests received per second by each query node and the number of successful search and query requests within the past two minutes.
sum(increase(milvus_querynode_sq_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (query_type, status, pod, node_id)
milvus_querynode_sq_req_count
The accumulated number of search and query requests.
-
Search Request Latency
The average latency and the 99th percentile of the time used in search and query requests by each query node within the past two minutes. This panel displays the latency of search and query requests whose status are “success” or "total".
The latency of the search and query requests received by query node.
-
Search Segment Latency
The average latency and the 99th percentile of the time each query node takes to search and query a segment within the past two minutes. The status of a segment can be sealed or growing.
The time each query node takes to search and query in segcore.
-
Search Reduce Latency
The average latency and the 99th percentile of the time used by each query node during the reduce stage of a search or query within the past two minutes.
sum(milvus_querynode_flowgraph_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_flowgraph_num
The number of flowgraphs in each query node.
-
Unsolved Read Task Length
The length of the queue of unsolved read requests in each query node.
sum(milvus_querynode_read_task_unsolved_len{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_read_task_unsolved_len
The length of the queue of unsolved read requests.
-
Ready Read Task Length
The length of the queue of read requests to be executed in each query node.
sum(milvus_querynode_read_task_ready_len{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_read_task_ready_len
The length of the queue of read requests to be executed.
-
Parallel Read Task Num
The number of concurrent read requests currently executed in each query node.
sum(milvus_querynode_read_task_concurrency{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_read_task_concurrency
The number of concurrent read requests currently executed.
-
Estimate CPU Usage
The CPU usage by each query node estimated by the scheduler.
sum(milvus_querynode_estimate_cpu_usage{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_estimate_cpu_usage
The CPU usage by each query node estimated by the scheduler. When the value is 100, this means a whole virtual CPU (vCPU) is used.
-
Search Group Size
The average number and the 99th percentile of the search group size (i.e. The total number of original search requests in the combined search requests executed by each query node) within the past two minutes.
The number of original search tasks among the combined search tasks from different buckets (i.e. The search group size).
-
Search NQ
The average number and the 99th percentile of the number of queries (NQ) done while each query node executes search requests within the past two minutes.
The Top_K of search requests combined from different buckets .
-
Evicted Read Requests Rate
The number of read requests evicted per second by each query node within the past two minutes.
sum(increase(milvus_querynode_read_evicted_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_querynode_sq_req_count
The accumulated number of read requests evicted by query node due to traffic restriction.
+
Sammlung Geladene Num
Die Anzahl der Sammlungen, die von jedem Abfrageknoten in den Speicher geladen wurden.
sum(milvus_querynode_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_collection_num
Die Anzahl der von jedem Abfrageknoten geladenen Sammlungen.
+
Partition Geladen Num
Die Anzahl der Partitionen, die von jedem Abfrageknoten in den Speicher geladen wurden.
sum(milvus_querynode_partition_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_partition_num
Die Anzahl der von jedem Abfrageknoten geladenen Partitionen.
+
Segment Geladen Num
Die Anzahl der von den einzelnen Abfrageknoten in den Speicher geladenen Segmente.
sum(milvus_querynode_segment_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_segment_num
Die Anzahl der von jedem Abfrageknoten geladenen Segmente.
+
Abfragbare Entität (Num)
Die Anzahl der abfragbaren und durchsuchbaren Entitäten auf jedem Abfrageknoten.
sum(milvus_querynode_entity_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_entity_num
Die Anzahl der abfragbaren und durchsuchbaren Entitäten auf jedem Abfrageknoten.
+
DML Virtueller Kanal
Die Anzahl der virtuellen DML-Kanäle, die von jedem Abfrageknoten überwacht werden.
sum(milvus_querynode_dml_vchannel_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_dml_vchannel_num
Die Anzahl der virtuellen DML-Kanäle, die von jedem Abfrageknoten überwacht werden.
+
Virtueller Delta-Kanal
Anzahl der Deltakanäle, die von jedem Abfrageknoten überwacht werden.
sum(milvus_querynode_delta_vchannel_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_delta_vchannel_num
Anzahl der Deltakanäle, die von jedem Abfrageknoten überwacht werden.
+
Verbraucheranzahl
Anzahl der Verbraucher in jedem Abfrageknoten.
sum(milvus_querynode_consumer_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_consumer_num
Die Anzahl der Verbraucher in jedem Abfrageknoten.
+
Suchanfrage-Rate
Die Gesamtzahl der Such- und Abfrageanfragen, die pro Sekunde von jedem Abfrageknoten empfangen werden, und die Anzahl der erfolgreichen Such- und Abfrageanfragen innerhalb der letzten zwei Minuten.
sum(increase(milvus_querynode_sq_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (query_type, status, pod, node_id)
milvus_querynode_sq_req_count
Die kumulierte Anzahl der Such- und Abfrageanfragen.
+
Latenzzeit der Suchanfragen
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die von jedem Abfrageknoten innerhalb der letzten zwei Minuten für Such- und Abfrageanfragen verwendet wurde. Dieses Panel zeigt die Latenz von Such- und Abfrageanfragen an, deren Status "Erfolg" oder "Total" ist.
Die Latenzzeit der vom Abfrageknoten empfangenen Such- und Abfrageanfragen.
+
Suchsegment-Latenz
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die jeder Abfrageknoten für die Suche und Abfrage eines Segments innerhalb der letzten zwei Minuten benötigt. Der Status eines Segments kann versiegelt oder wachsend sein.
Die Zeit, die jeder Abfrageknoten für die Suche und Abfrage jedes Segments benötigt.
+
Latenzzeit für Segcore-Anfragen
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die jeder Abfrageknoten für die Suche und Abfrage in Segcore innerhalb der letzten zwei Minuten benötigt.
Die Zeit, die jeder Abfrageknoten für die Suche und Abfrage in segcore benötigt.
+
Latenzzeit der Suche reduzieren
Die durchschnittliche Latenz und das 99. Perzentil der Zeit, die von jedem Abfrageknoten während der Reduktionsphase einer Suche oder Abfrage innerhalb der letzten zwei Minuten benötigt wurde.
Die Zeit, die jede Abfrage während der Reduktionsphase verbringt.
+
Lastsegment-Latenz
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die jeder Abfrageknoten in den letzten zwei Minuten zum Laden eines Segments benötigt.
Die Zeit, die jeder Abfrageknoten benötigt, um ein Segment zu laden.
+
Flussdiagramm Num
Die Anzahl der Flussgraphen in jedem Abfrageknoten.
sum(milvus_querynode_flowgraph_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_flowgraph_num
Die Anzahl der Flussgraphen in jedem Abfrageknoten.
+
Ungelöste Leseaufgabenlänge
Länge der Warteschlange der ungelösten Leseaufträge in jedem Abfrageknoten.
sum(milvus_querynode_read_task_unsolved_len{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_read_task_unsolved_len
Die Länge der Warteschlange der ungelösten Leseanforderungen.
+
Länge der fertigen Leseaufgaben
Länge der Warteschlange der Leseanforderungen, die in jedem Abfrageknoten ausgeführt werden sollen
sum(milvus_querynode_read_task_ready_len{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_read_task_ready_len
Länge der Warteschlange der auszuführenden Leseanforderungen.
+
Parallele Leseaufgabe Num
Die Anzahl der gleichzeitigen Leseanforderungen, die derzeit in jedem Abfrageknoten ausgeführt werden.
sum(milvus_querynode_read_task_concurrency{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_read_task_concurrency
Die Anzahl der derzeit ausgeführten gleichzeitigen Leseanforderungen.
+
Geschätzte CPU-Auslastung
Die vom Scheduler geschätzte CPU-Auslastung der einzelnen Abfrageknoten.
sum(milvus_querynode_estimate_cpu_usage{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_querynode_estimate_cpu_usage
Die vom Scheduler geschätzte CPU-Auslastung der einzelnen Abfrageknoten. Wenn der Wert 100 ist, bedeutet dies, dass eine ganze virtuelle CPU (vCPU) verwendet wird.
+
Größe der Suchgruppe
Die durchschnittliche Anzahl und das 99. Perzentil der Suchgruppengröße (d. h. die Gesamtzahl der ursprünglichen Suchanfragen in den von jedem Abfrageknoten ausgeführten kombinierten Suchanfragen) innerhalb der letzten zwei Minuten.
Die Anzahl der ursprünglichen Suchaufträge unter den kombinierten Suchaufträgen aus verschiedenen Buckets (d. h. die Größe der Suchgruppe).
+
Suche NQ
Die durchschnittliche Anzahl und das 99. Perzentil der Anzahl der Abfragen (NQ), die durchgeführt wurden, während jeder Abfrageknoten innerhalb der letzten zwei Minuten Suchanfragen ausführte.
Die durchschnittliche Anzahl und das 99. Perzentil der NQ der Suchanfragen, die von jedem Abfrageknoten innerhalb der letzten zwei Minuten kombiniert und ausgeführt wurden.
Die NQ der kombinierten Suchanfragen aus verschiedenen Buckets.
+
Suche Top_K
Die durchschnittliche Anzahl und das 99. Perzentil der Top_K der Suchanfragen, die von jedem Abfrageknoten innerhalb der letzten zwei Minuten ausgeführt wurden.
Die durchschnittliche Anzahl und das 99. Perzentil der Top_K der Suchanfragen, die von jedem Abfrageknoten innerhalb der letzten zwei Minuten kombiniert und ausgeführt wurden.
Die Top_K der kombinierten Suchanfragen aus verschiedenen Buckets.
+
Evicted Read Requests Rate
Die Anzahl der Leseanfragen, die von jedem Abfrageknoten innerhalb der letzten zwei Minuten pro Sekunde verdrängt wurden.
sum(increase(milvus_querynode_read_evicted_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_querynode_sq_req_count
Die kumulierte Anzahl der Leseanfragen, die von einem Abfrageknoten aufgrund von Verkehrsbeschränkungen verdrängt wurden.
-
Data coordinator
+
Datenkoordinator
-
Panel
Panel description
PromQL (Prometheus query language)
The Milvus metrics used
Milvus metrics description
+
Bereich
Beschreibung des Panels
PromQL (Prometheus-Abfragesprache)
Die verwendeten Milvus-Metriken
Beschreibung der Milvus-Metriken
-
Data Node Num
The number of data nodes managed by data coord.
sum(milvus_datacoord_datanode_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_datanode_num
The number of data nodes managed by data coord.
-
Segment Num
The number of all types of segments recorded in metadata by data coord.
sum(milvus_datacoord_segment_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (segment_state)
milvus_datacoord_segment_num
The number of all types of segments recorded in metadata by data coord. Types of segment include: dropped, flushed, flushing, growing, and sealed.
-
Collection Num
The number of collections recorded in metadata by data coord.
sum(milvus_datacoord_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_collection_num
The number of collections recorded in metadata by data coord.
-
Stored Rows
The accumulated number of rows of valid and flushed data in data coord.
sum(milvus_datacoord_stored_rows_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_stored_rows_num
The accumulated number of rows of valid and flushed data in data coord.
-
Stored Rows Rate
The average number of rows flushed per second within the past two minutes.
sum(increase(milvus_datacoord_stored_rows_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_datacoord_stored_rows_count
The accumulated number of rows flushed by data coord.
-
Sync Time
The average, maximum, and minimum number of epoch time synced by data coord in each physical channel.
avg(milvus_datacoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) max(milvus_datacoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) min(milvus_datacoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_sync_epoch_time
Each physical channel’s epoch time (Unix time, the milliseconds passed ever since January 1, 1970).
-
Stored Binlog Size
The total size of stored binlog.
sum(milvus_datacoord_stored_binlog_size{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_stored_binlog_size
The total size of binlog stored in Milvus.
+
Datenknoten-Anzahl
Die Anzahl der Datenknoten, die von data coord.
sum(milvus_datacoord_datanode_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_datanode_num
Die Anzahl der Datenknoten, die von data coord.
+
Segment-Anzahl
Die Anzahl aller Arten von Segmenten, die von data coord in den Metadaten aufgezeichnet wurden.
sum(milvus_datacoord_segment_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (segment_state)
milvus_datacoord_segment_num
Die Anzahl aller Arten von Segmenten, die von data coord in den Metadaten aufgezeichnet wurden. Zu den Segmenttypen gehören: dropped, flushed, flushing, growing und sealed.
+
Sammlung Num
Die Anzahl der in den Metadaten nach Datenkoordinaten aufgezeichneten Sammlungen.
sum(milvus_datacoord_collection_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_collection_num
Die Anzahl der in den Metadaten nach Datenkoordinaten aufgezeichneten Sammlungen.
+
Gespeicherte Zeilen
Die kumulierte Anzahl der Zeilen mit gültigen und gespülten Daten in data coord.
sum(milvus_datacoord_stored_rows_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_stored_rows_num
Die kumulierte Anzahl der Zeilen mit gültigen und geleerten Daten in der Datenkoordinate.
+
Stored Rows Rate
Die durchschnittliche Anzahl der Zeilen, die in den letzten zwei Minuten pro Sekunde geleert wurden.
sum(increase(milvus_datacoord_stored_rows_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (pod, node_id)
milvus_datacoord_stored_rows_count
Die akkumulierte Anzahl der geleerten Zeilen in der Datenkoordinate.
+
Sync-Zeit
Die durchschnittliche, maximale und minimale Anzahl von Epochenzeiten, die von data coord in jedem physischen Kanal synchronisiert wurden.
avg(milvus_datacoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) max(milvus_datacoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance) min(milvus_datacoord_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_sync_epoch_time
Die Epochenzeit jedes physischen Kanals (Unix-Zeit, die seit dem 1. Januar 1970 vergangenen Millisekunden).
+
Größe des gespeicherten Binlogs
Die Gesamtgröße des gespeicherten Binlogs.
sum(milvus_datacoord_stored_binlog_size{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_datacoord_stored_binlog_size
Die Gesamtgröße des in Milvus gespeicherten Binlogs.
-
Data node
+
Datenknoten
-
Panel
Panel description
PromQL (Prometheus query language)
The Milvus metrics used
Milvus metrics description
+
Bereich
Beschreibung des Panels
PromQL (Prometheus-Abfragesprache)
Die verwendeten Milvus-Metriken
Milvus-Metriken Beschreibung
-
Flowgraph Num
The number of flowgraph objects that correspond to each data node.
sum(milvus_datanode_flowgraph_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_flowgraph_num
The number of flowgraph objects. Each shard in a collection corresponds to a flowgraph object.
-
Msg Rows Consume Rate
The number of rows of streaming messages consumed per second by each data node within the past two minutes.
sum(increase(milvus_datanode_msg_rows_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (msg_type, pod, node_id)
milvus_datanode_msg_rows_count
The number of rows of streaming messages consumed. Currently, streaming messages counted by data node only include insertion and deletion messages.
-
Flush Data Size Rate
The size of each flushed message recorded per second by each data node within the past two minutes.
sum(increase(milvus_datanode_flushed_data_size{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (msg_type, pod, node_id)
milvus_datanode_flushed_data_size
The size of each flushed message. Currently, streaming messages counted by data node only include insertion and deletion messages.
-
Consumer Num
The number of consumers created on each data node.
sum(milvus_datanode_consumer_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_consumer_num
The number of consumers created on each data node. Each flowgraph corresponds to a consumer.
-
Producer Num
The number of producers created on each data node.
sum(milvus_datanode_producer_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_producer_num
The number of consumers created on each data node. Each shard in a collection corresponds to a delta channel producer and a timetick channel producer.
-
Sync Time
The average, maximum, and minimum number of epoch time synced by each data node in all physical topics.
avg(milvus_datanode_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) max(milvus_datanode_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) min(milvus_datanode_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_sync_epoch_time
The epoch time (Unix time, the milliseconds passed ever since January 1, 1970.) of each physical topic on a data node.
-
Unflushed Segment Num
The number of unflushed segments created on each data node.
sum(milvus_datanode_unflushed_segment_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_unflushed_segment_num
The number of unflushed segments created on each data node.
-
Encode Buffer Latency
The average latency and the 99th percentile of the time used to encode a buffer by each data node within the past two minutes.
The time each data node takes to execute a compaction task.
+
Flussdiagramm Num
Die Anzahl der Flowgraph-Objekte, die den einzelnen Datenknoten entsprechen.
sum(milvus_datanode_flowgraph_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_flowgraph_num
Die Anzahl der Flowgraph-Objekte. Jeder Shard in einer Sammlung entspricht einem Flowgraph-Objekt.
+
Msg-Zeilen-Verbrauchsrate
Die Anzahl der Zeilen von Streaming-Nachrichten, die pro Sekunde von jedem Datenknoten innerhalb der letzten zwei Minuten verbraucht wurden.
sum(increase(milvus_datanode_msg_rows_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (msg_type, pod, node_id)
milvus_datanode_msg_rows_count
Die Anzahl der verbrauchten Zeilen von Streaming-Nachrichten. Derzeit umfassen die von den Datenknoten gezählten Streaming-Nachrichten nur Einfügungs- und Löschungsnachrichten.
+
Flush-Datengrößenrate
Die Größe jeder Flush-Nachricht, die pro Sekunde von jedem Datenknoten in den letzten zwei Minuten aufgezeichnet wurde.
sum(increase(milvus_datanode_flushed_data_size{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (msg_type, pod, node_id)
milvus_datanode_flushed_data_size
Die Größe jeder geflushten Nachricht. Derzeit umfassen die nach Datenknoten gezählten Streaming-Nachrichten nur Einfügungs- und Löschungsnachrichten.
+
Verbraucher Num
Die Anzahl der auf jedem Datenknoten erstellten Verbraucher.
sum(milvus_datanode_consumer_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_consumer_num
Die Anzahl der Verbraucher, die auf jedem Datenknoten erstellt wurden. Jeder Flowgraph entspricht einem Consumer.
+
Erzeuger Num
Die Anzahl der Produzenten, die auf jedem Datenknoten angelegt wurden.
sum(milvus_datanode_producer_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_producer_num
Die Anzahl der Verbraucher, die auf jedem Datenknoten erstellt wurden. Jeder Shard in einer Sammlung entspricht einem Deltakanalproduzenten und einem Zeittickkanalproduzenten.
+
Sync-Zeit
Die durchschnittliche, maximale und minimale Anzahl von Epochenzeiten, die von jedem Datenknoten in allen physischen Themen synchronisiert wurden.
avg(milvus_datanode_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) max(milvus_datanode_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id) min(milvus_datanode_sync_epoch_time{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_sync_epoch_time
Die Epochenzeit (Unix-Zeit, die Millisekunden, die seit dem 1. Januar 1970 vergangen sind) jedes physischen Themas auf einem Datenknoten.
+
Nicht entleerte Segmente Num
Die Anzahl der nicht entleerten Segmente, die auf jedem Datenknoten erstellt wurden.
sum(milvus_datanode_unflushed_segment_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (pod, node_id)
milvus_datanode_unflushed_segment_num
Die Anzahl der nicht entnommenen Segmente, die auf jedem Datenknoten erstellt wurden.
+
Codierpuffer-Latenz
Die durchschnittliche Latenz und das 99. Perzentil der Zeit, die für die Codierung eines Puffers durch jeden Datenknoten innerhalb der letzten zwei Minuten benötigt wurde.
Die Zeit, die jeder Datenknoten für die Kodierung eines Puffers benötigt.
+
Daten speichern Latenzzeit
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die jeder Datenknoten innerhalb der letzten zwei Minuten für das Schreiben eines Puffers in die Speicherebene benötigt.
Die Zeit, die jeder Datenknoten benötigt, um einen Puffer in die Speicherebene zu schreiben.
+
Flush-Operate-Rate
Die Anzahl, wie oft jeder Datenknoten in den letzten zwei Minuten pro Sekunde einen Puffer leert.
sum(increase(milvus_datanode_flush_buffer_op_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status, pod, node_id)
milvus_datanode_flush_buffer_op_count
Die kumulierte Anzahl, wie oft ein Datenknoten einen Puffer leert.
+
Autoflush-Operate-Rate
Anzahl der automatischen Pufferentleerungen jedes Datenknotens pro Sekunde innerhalb der letzten zwei Minuten.
sum(increase(milvus_datanode_autoflush_buffer_op_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status, pod, node_id)
milvus_datanode_autoflush_buffer_op_count
Die kumulierte Anzahl, wie oft ein Datenknoten einen Puffer automatisch leert.
+
Flush-Anforderungsrate
Anzahl der Pufferentleerungsanfragen, die jeder Datenknoten in den letzten zwei Minuten pro Sekunde erhalten hat.
sum(increase(milvus_datanode_flush_req_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status, pod, node_id)
milvus_datanode_flush_req_count
Die kumulierte Anzahl der Male, die ein Datenknoten eine Flush-Anforderung von einem Datenkoordinator erhält.
+
Verdichtungs-Latenzzeit
Die durchschnittliche Latenzzeit und das 99-Perzentil der Zeit, die jeder Datenknoten für die Ausführung einer Verdichtungsaufgabe in den letzten zwei Minuten benötigt.
Die Zeit, die jeder Datenknoten für die Ausführung einer Verdichtungsaufgabe benötigt.
-
Index coordinator
+
Index-Koordinator
-
Panel
Panel description
PromQL (Prometheus query language)
The Milvus metrics used
Milvus metrics description
+
Bereich
Beschreibung des Panels
PromQL (Prometheus-Abfragesprache)
Die verwendeten Milvus-Metriken
Beschreibung der Milvus-Metriken
-
Index Request Rate
The average number of index building requests received per second within the past two minutes.
sum(increase(milvus_indexcoord_indexreq_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status)
milvus_indexcoord_indexreq_count
The number of index building requests received.
-
Index Task Count
The count of all indexing tasks recorded in index metadata.
sum(milvus_indexcoord_indextask_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (index_task_status)
milvus_indexcoord_indextask_count
The count of all indexing tasks recorded in index metadata.
-
Index Node Num
The number of managed index nodes.
sum(milvus_indexcoord_indexnode_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_indexcoord_indexnode_num
The number of managed index nodes.
+
Index-Anfrage-Rate
Die durchschnittliche Anzahl der Indexaufbauanfragen, die in den letzten zwei Minuten pro Sekunde eingegangen sind.
sum(increase(milvus_indexcoord_indexreq_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status)
milvus_indexcoord_indexreq_count
Die Anzahl der empfangenen Indexerstellungsanfragen.
+
Index Task Count
Die Anzahl aller in den Index-Metadaten aufgezeichneten Indizierungs-Tasks.
sum(milvus_indexcoord_indextask_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (index_task_status)
milvus_indexcoord_indextask_count
Die Anzahl aller in den Index-Metadaten aufgezeichneten Indizierungs-Tasks.
+
Index-Knoten-Anzahl
Die Anzahl der verwalteten Indexknoten.
sum(milvus_indexcoord_indexnode_num{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}) by (app_kubernetes_io_instance)
milvus_indexcoord_indexnode_num
Die Anzahl der verwalteten Indexknoten.
-
Index node
+
Index-Knoten
-
Panel
Panel description
PromQL (Prometheus query language)
The Milvus metrics used
Milvus metrics description
+
Bereich
Beschreibung des Panels
PromQL (Prometheus-Abfragesprache)
Die verwendeten Milvus-Metriken
Beschreibung der Milvus-Metriken
-
Index Task Rate
The average number of index building tasks received by each index node per second within the past two minutes.
sum(increase(milvus_indexnode_index_task_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status, pod, node_id)
milvus_indexnode_index_task_count
The number of index building tasks received.
-
Load Field Latency
The average latency and the 99th percentile of the time used by each index node to load segment field data each time within the past two minutes.
Die durchschnittliche Anzahl der Indexaufbau-Tasks, die von jedem Indexknoten pro Sekunde innerhalb der letzten zwei Minuten empfangen wurden.
sum(increase(milvus_indexnode_index_task_count{app_kubernetes_io_instance=~"$instance", app_kubernetes_io_name="$app_name", namespace="$namespace"}[2m])/120) by (status, pod, node_id)
milvus_indexnode_index_task_count
Die Anzahl der empfangenen Indexaufbau-Tasks.
+
Lastfeld-Latenzzeit
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die jeder Indexknoten in den letzten zwei Minuten zum Laden von Segmentfelddaten benötigt hat.
Die Zeit, die ein Indexknoten zum Laden von Segmentfelddaten benötigt.
+
Dekodierfeld-Latenzzeit
Die durchschnittliche Latenz und das 99. Perzentil der Zeit, die jeder Indexknoten in den letzten zwei Minuten für die Codierung von Felddaten benötigt hat.
Die für die Dekodierung von Felddaten verwendete Zeit.
+
Indexaufbau-Latenzzeit
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die jeder Indexknoten in den letzten zwei Minuten für den Aufbau von Indizes benötigt hat.
Die durchschnittliche Latenz und das 99. Perzentil der Zeit, die von jedem Indexknoten für die Codierung von Indexdateien in den letzten zwei Minuten benötigt wurde.
Die für die Kodierung von Indexdateien verwendete Zeit.
+
Index-Latenzzeit speichern
Die durchschnittliche Latenzzeit und das 99. Perzentil der Zeit, die von jedem Indexknoten zum Speichern von Indexdateien in den letzten zwei Minuten benötigt wurde.
Die Zeit, die zum Speichern von Indexdateien verwendet wurde.
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/monitor.json b/localization/v2.5.x/site/de/adminGuide/monitor/monitor.json
index 431803836..70d351c77 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/monitor.json
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/monitor.json
@@ -1 +1 @@
-{"codeList":["$ git clone https://github.com/prometheus-operator/kube-prometheus.git\n$ cd kube-prometheus\n$ kubectl apply --server-side -f manifests/setup\n$ kubectl wait \\\n --for condition=Established \\\n --all CustomResourceDefinition \\\n --namespace=monitoring\n$ kubectl apply -f manifests/\n","kubectl patch clusterrole prometheus-k8s --type=json -p='[{\"op\": \"add\", \"path\": \"/rules/-\", \"value\": {\"apiGroups\": [\"\"], \"resources\": [\"pods\", \"services\", \"endpoints\"], \"verbs\": [\"get\", \"watch\", \"list\"]}}]'\n","$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/prometheus-k8s 9090\n$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/grafana 3000\n","$ helm upgrade my-release milvus/milvus --set metrics.serviceMonitor.enabled=true --reuse-values\n","$ kubectl get servicemonitor\n","NAME AGE\nmy-release-milvus 54s\n"],"headingContent":"Deploying Monitoring Services on Kubernetes","anchorList":[{"label":"Deploying Monitoring Services on Kubernetes","href":"Deploying-Monitoring-Services-on-Kubernetes","type":1,"isActive":false},{"label":"Monitor metrics with Prometheus","href":"Monitor-metrics-with-Prometheus","type":2,"isActive":false},{"label":"Prerequisites","href":"Prerequisites","type":2,"isActive":false},{"label":"Deploy monitoring services on Kubernetes","href":"Deploy-monitoring-services-on-Kubernetes","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ git clone https://github.com/prometheus-operator/kube-prometheus.git\n$ cd kube-prometheus\n$ kubectl apply --server-side -f manifests/setup\n$ kubectl wait \\\n --for condition=Established \\\n --all CustomResourceDefinition \\\n --namespace=monitoring\n$ kubectl apply -f manifests/\n","kubectl patch clusterrole prometheus-k8s --type=json -p='[{\"op\": \"add\", \"path\": \"/rules/-\", \"value\": {\"apiGroups\": [\"\"], \"resources\": [\"pods\", \"services\", \"endpoints\"], \"verbs\": [\"get\", \"watch\", \"list\"]}}]'\n","$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/prometheus-k8s 9090\n$ kubectl --namespace monitoring --address 0.0.0.0 port-forward svc/grafana 3000\n","$ helm upgrade my-release milvus/milvus --set metrics.serviceMonitor.enabled=true --reuse-values\n","$ kubectl get servicemonitor\n","NAME AGE\nmy-release-milvus 54s\n"],"headingContent":"Deploying Monitoring Services on Kubernetes","anchorList":[{"label":"Bereitstellen von Überwachungsdiensten auf Kubernetes","href":"Deploying-Monitoring-Services-on-Kubernetes","type":1,"isActive":false},{"label":"Überwachen von Metriken mit Prometheus","href":"Monitor-metrics-with-Prometheus","type":2,"isActive":false},{"label":"Voraussetzungen","href":"Prerequisites","type":2,"isActive":false},{"label":"Bereitstellen von Überwachungsdiensten auf Kubernetes","href":"Deploy-monitoring-services-on-Kubernetes","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/monitor.md b/localization/v2.5.x/site/de/adminGuide/monitor/monitor.md
index 92f0483b1..01c58db41 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/monitor.md
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/monitor.md
@@ -1,10 +1,12 @@
---
id: monitor.md
-title: Deploy Monitoring Services
+title: Bereitstellung von Überwachungsdiensten
related_key: 'monitor, alert'
-summary: Learn how to deploy monitoring services for a Milvus cluster using Prometheus.
+summary: >-
+ Erfahren Sie, wie Sie mit Prometheus Überwachungsdienste für einen
+ Milvus-Cluster bereitstellen.
---
-
Deploying Monitoring Services on Kubernetes
+
Bereitstellen von Überwachungsdiensten auf Kubernetes
-
This topic describes how to use Prometheus to deploy monitoring services for a Milvus cluster on Kubernetes.
-
Monitor metrics with Prometheus
+
In diesem Thema wird beschrieben, wie Sie Prometheus verwenden, um Überwachungsdienste für einen Milvus-Cluster auf Kubernetes bereitzustellen.
+
Überwachen von Metriken mit Prometheus
-
Metrics are indicators providing information about the running status of your system. For example, with metrics, you can understand how much memory or CPU resources are consumed by a data node in Milvus. Being aware of the performance and status of the components in your Milvus cluster makes you well-informed and hence making better decisions and adjusting resource allocation in a more timely manner.
-
Generally, metrics are stored in a time series database (TSDB), like Prometheus, and the metrics are recorded with a timestamp. In the case of monitoring Milvus services, you can use Prometheus to pull data from endpoints set by exporters. Prometheus then exports metrics of each Milvus component at http://<component-host>:9091/metrics.
-
However, you might have several replicas for one component, which makes manual configuration of Prometheus too complicated. Therefore, you can use Prometheus Operator, an extension to Kubernetes, for automated and effective management of Prometheus monitoring instances. Using Prometheus Operator saves you the trouble of manually adding metric targets and service providers.
-
The ServiceMonitor Custom Resource Definition (CRD) enables you to declaratively define how a dynamic set of services are monitored. It also allows selecting which services to monitor with the desired configuration using label selections. With Prometheus Operator, you can introduce conventions specifying how metrics are exposed. New services can be automatically discovered following the convention you set without the need for manual reconfiguration.
-
The following image illustrates Prometheus workflow.
+
Metriken sind Indikatoren, die Informationen über den Betriebsstatus Ihres Systems liefern. Mit Metriken können Sie beispielsweise nachvollziehen, wie viel Arbeitsspeicher oder CPU-Ressourcen von einem Datenknoten in Milvus verbraucht werden. Wenn Sie die Leistung und den Status der Komponenten in Ihrem Milvus-Cluster kennen, sind Sie gut informiert und können daher bessere Entscheidungen treffen und die Ressourcenzuweisung rechtzeitig anpassen.
+
Im Allgemeinen werden die Metriken in einer Zeitseriendatenbank (TSDB) wie Prometheus gespeichert und mit einem Zeitstempel versehen. Bei der Überwachung von Milvus-Diensten können Sie Prometheus verwenden, um Daten von Endpunkten zu beziehen, die von Exporteuren festgelegt wurden. Prometheus exportiert dann die Metriken der einzelnen Milvus-Komponenten unter http://<component-host>:9091/metrics.
+
Es kann jedoch sein, dass Sie mehrere Repliken für eine Komponente haben, was die manuelle Konfiguration von Prometheus zu kompliziert macht. Daher können Sie Prometheus Operator, eine Erweiterung für Kubernetes, für die automatisierte und effektive Verwaltung von Prometheus-Überwachungsinstanzen verwenden. Die Verwendung von Prometheus Operator erspart Ihnen das manuelle Hinzufügen von metrischen Zielen und Dienstanbietern.
+
Mit der benutzerdefinierten Ressourcendefinition (CRD) von ServiceMonitor können Sie deklarativ festlegen, wie eine dynamische Gruppe von Diensten überwacht wird. Sie ermöglicht auch die Auswahl der zu überwachenden Dienste mit der gewünschten Konfiguration unter Verwendung von Labels. Mit Prometheus Operator können Sie Konventionen einführen, die festlegen, wie Metriken offengelegt werden. Neue Dienste können automatisch gemäß der von Ihnen festgelegten Konvention erkannt werden, ohne dass eine manuelle Neukonfiguration erforderlich ist.
+
Die folgende Abbildung veranschaulicht den Prometheus-Workflow.
-
-
- Prometheus_architecture
-
-
-
Prerequisites
+
+
+ Prometheus_Architektur
+
Voraussetzungen
-
This tutorial uses kube-prometheus to save you the trouble of installing and manually configuring each monitoring and alerting component.
-
Kube-prometheus collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts.
-
Before deploying monitoring services, you need to create a monitoring stack by using the configuration in the kube-prometheus manifests directory.
+
Dieses Tutorial verwendet kube-prometheus, um Ihnen die Installation und manuelle Konfiguration jeder Überwachungs- und Alarmierungskomponente zu ersparen.
Bevor Sie Überwachungsdienste bereitstellen, müssen Sie einen Überwachungsstapel erstellen, indem Sie die Konfiguration im Verzeichnis kube-prometheus manifests verwenden.
The ServiceMonitor is not enabled for Milvus Helm by default. After installing the Prometheus Operator in the Kubernetes cluster, you can enable it by adding the parameter metrics.serviceMonitor.enabled=true.
+
2. Aktivieren Sie den ServiceMonitor
Der ServiceMonitor ist für Milvus Helm standardmäßig nicht aktiviert. Nach der Installation des Prometheus Operator im Kubernetes-Cluster können Sie ihn durch Hinzufügen des Parameters metrics.serviceMonitor.enabled=true aktivieren.
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.json b/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.json
index e316552c0..1ef8d2663 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.json
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"Milvus monitoring framework overview","anchorList":[{"label":"Milvus monitoring framework overview","href":"Milvus-monitoring-framework-overview","type":1,"isActive":false},{"label":"Prometheus in Milvus","href":"Prometheus-in-Milvus","type":2,"isActive":false},{"label":"Grafana in Milvus","href":"Grafana-in-Milvus","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"Milvus monitoring framework overview","anchorList":[{"label":"Überblick über das Milvus-Überwachungs-Framework","href":"Milvus-monitoring-framework-overview","type":1,"isActive":false},{"label":"Prometheus in Milvus","href":"Prometheus-in-Milvus","type":2,"isActive":false},{"label":"Grafana in Milvus","href":"Grafana-in-Milvus","type":2,"isActive":false},{"label":"Was kommt als Nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.md b/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.md
index 99f28aafb..ab8c52791 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.md
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/monitor_overview.md
@@ -1,12 +1,12 @@
---
id: monitor_overview.md
-title: Monitor Overview
+title: Monitor-Übersicht
related_key: 'monitor, alert'
summary: >-
- Learn how Prometheus and Grafana are used in Milvus for montoring and alerting
- services.
+ Erfahren Sie, wie Prometheus und Grafana in Milvus für Überwachungs- und
+ Alarmierungsdienste eingesetzt werden.
---
-
This topic explains how Milvus uses Prometheus to monitor metrics and Grafana to visualize metrics and create alerts.
+
Dieses Thema erklärt, wie Milvus Prometheus zur Überwachung von Metriken und Grafana zur Visualisierung von Metriken und zur Erstellung von Alarmen verwendet.
Prometheus is an open-source monitoring and alerting toolkit for Kubernetes implementations. It collects and stores metrics as time-series data. This means that metrics are stored with timestamps when recorded, alongside with optional key-value pairs called labels.
-
Currently Milvus uses the following components of Prometheus:
+
Prometheus ist ein Open-Source-Überwachungs- und Alarmierungs-Toolkit für Kubernetes-Implementierungen. Es sammelt und speichert Metriken als Zeitseriendaten. Das bedeutet, dass die Metriken mit Zeitstempeln gespeichert werden, wenn sie aufgezeichnet werden, zusammen mit optionalen Schlüssel-Wert-Paaren, den so genannten Labels.
+
Derzeit verwendet Milvus die folgenden Komponenten von Prometheus:
-
Prometheus endpoint to pull data from endpoints set by exporters.
-
Prometheus operator to effectively manage Prometheus monitoring instances.
-
Kube-prometheus to provide easy to operate end-to-end Kubernetes cluster monitoring.
+
Prometheus-Endpunkt zum Abrufen von Daten von Endpunkten, die von Exporteuren festgelegt wurden.
+
Prometheus-Operator zur effektiven Verwaltung von Prometheus-Überwachungsinstanzen.
+
Kube-prometheus für eine einfach zu bedienende End-to-End-Überwachung von Kubernetes-Clustern.
-
Metric names
A valid metric name in Prometheus contains three elements: namespace, subsystem, and name. These three elements are connected with "_".
-
The namespace of Milvus metrics monitored by Prometheus is "milvus". Depending on the role that a metric belongs to, its subsystem should be one of the following eight roles: "rootcoord", "proxy", "querycoord", "querynode", "indexcoord", "indexnode", "datacoord", "datanode".
-
For instance, the Milvus metric that calculates the total number of vectors queried is named milvus_proxy_search_vectors_count.
-
Metric types
Prometheus supports four types of metrics:
+
Metrik-Namen
Ein gültiger Metrikname in Prometheus enthält drei Elemente: Namespace, Subsystem und Name. Diese drei Elemente sind mit "_" verbunden.
+
Der Namespace der Milvus-Metriken, die von Prometheus überwacht werden, ist "milvus". Je nach der Rolle, zu der eine Metrik gehört, sollte ihr Subsystem eine der folgenden acht Rollen sein: "rootcoord", "proxy", "querycoord", "querynode", "indexcoord", "indexnode", "datacoord", "datanode".
+
Die Milvus-Metrik, die die Gesamtzahl der abgefragten Vektoren berechnet, heißt zum Beispiel milvus_proxy_search_vectors_count.
+
Metrik-Typen
Prometheus unterstützt vier Arten von Metriken:
-
Counter: a type of cumulative metrics whose value can only increase or be reset to zero upon restart.
-
Gauge: a type of metrics whose value can either go up and down.
-
Histogram: a type of metrics that are counted based on configurable buckets. A common example is request duration.
-
Summary: a type of metrics similar to histogram that calculates configurable quantiles over a sliding time window.
+
Zähler: ein Typ kumulativer Metriken, deren Wert nur bei einem Neustart erhöht oder auf Null zurückgesetzt werden kann.
+
Gauge: ein Typ von Metriken, deren Wert entweder steigen oder fallen kann.
+
Histogramm: eine Art von Metriken, die auf der Grundlage von konfigurierbaren Bereichen gezählt werden. Ein gängiges Beispiel ist die Anfragedauer.
+
Zusammenfassung: Eine Art von Metrik, die dem Histogramm ähnelt und konfigurierbare Quantile über ein gleitendes Zeitfenster berechnet.
-
Metric labels
Prometheus differentiates samples with the same metric name by labeling them. A label is a certain attribute of a metric. Metrics with the same name must have the same value for the variable_labels field. The following table lists the names and meanings of common labels of Milvus metrics.
+
Metrik-Bezeichnungen
Prometheus unterscheidet Stichproben mit demselben Metriknamen, indem es sie beschriftet. Ein Label ist ein bestimmtes Attribut einer Metrik. Metriken mit demselben Namen müssen denselben Wert für das Feld variable_labels haben. In der folgenden Tabelle sind die Namen und Bedeutungen der gebräuchlichen Bezeichnungen von Milvus-Metriken aufgeführt.
-
Label name
Definition
Values
+
Name des Labels
Definition
Werte
-
“node_id”
The unique identity of a role.
A globally unique ID generated by milvus.
-
“status”
The status of a processed operation or request.
"abandon", "success", or "fail".
-
“query_type”
The type of a read request.
“search” or "query".
-
“msg_type”
The type of messages.
"insert", "delete", "search", or "query".
-
“segment_state”
The status of a segment.
"Sealed", "Growing", "Flushed", "Flushing", "Dropped", or "Importing".
-
“cache_state”
The status of a cached object.
“hit” or "miss".
-
“cache_name”
The name of a cached object. This label is used together with the label "cache_state".
Eg. "CollectionID", "Schema", etc.
-
“channel_name"
Physical topics in message storage (Pulsar or Kafka).
Eg."by-dev-rootcoord-dml_0", "by-dev-rootcoord-dml_255", etc.
-
“function_name”
The name of a function that handles certain requests.
Eg. "CreateCollection", "CreatePartition", "CreateIndex", etc.
-
“user_name”
The user name used for authentication.
A user name of your preference.
-
“index_task_status”
The status of an index task in meta storage.
"unissued", "in-progress", "failed", "finished", or "recycled".
+
"node_id"
Die eindeutige Identität einer Rolle.
Eine von milvus generierte, weltweit eindeutige ID.
+
"status"
Der Status einer verarbeiteten Operation oder Anfrage.
"abandon", "success", oder "fail".
+
"query_type"
Der Typ einer Leseanfrage.
"search" oder "query".
+
"msg_type"
Die Art der Meldungen.
"einfügen", "löschen", "suchen" oder "abfragen".
+
"segment_state"
Der Status eines Segments.
"Sealed", "Growing", "Flushed", "Flushing", "Dropped", oder "Importing".
+
"cache_state"
Der Status eines zwischengespeicherten Objekts.
"Hit" oder "Miss".
+
"cache_name"
Der Name eines zwischengespeicherten Objekts. Diese Bezeichnung wird zusammen mit der Bezeichnung "cache_state" verwendet.
Z.B. "CollectionID", "Schema", usw.
+
"kanal_name
Physische Themen im Nachrichtenspeicher (Pulsar oder Kafka).
Z. B. "by-dev-rootcoord-dml_0", "by-dev-rootcoord-dml_255", usw.
+
"funktion_name"
Der Name einer Funktion, die bestimmte Anfragen bearbeitet.
Z.B. "CreateCollection", "CreatePartition", "CreateIndex", usw.
+
"user_name"
Der für die Authentifizierung verwendete Benutzername.
Geben Sie einen Benutzernamen Ihrer Wahl an.
+
"index_task_status"
Der Status eines Index-Tasks im Metaspeicher.
"unissued", "in-progress", "failed", "finished", oder "recycled".
Grafana is an open-source visualizing stack that can connect with all data sources. By pulling up metrics, it helps users understand, analyze and monitor massive data.
-
Milvus uses Grafana’s customizable dashboards for metric visualization.
-
What’s next
+
Grafana ist ein Open-Source-Visualisierungs-Stack, der mit allen Datenquellen verbunden werden kann. Durch das Abrufen von Metriken hilft es Benutzern, große Datenmengen zu verstehen, zu analysieren und zu überwachen.
+
Milvus nutzt die anpassbaren Dashboards von Grafana für die Visualisierung von Metriken.
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/visualize.json b/localization/v2.5.x/site/de/adminGuide/monitor/visualize.json
index b1872551b..12eda9213 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/visualize.json
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/visualize.json
@@ -1 +1 @@
-{"codeList":["wget https://raw.githubusercontent.com/milvus-io/milvus/2.2.0/deployments/monitor/grafana/milvus-dashboard.json\n"],"headingContent":"Visualize Milvus Metrics in Grafana","anchorList":[{"label":"Visualize Milvus Metrics in Grafana","href":"Visualize-Milvus-Metrics-in-Grafana","type":1,"isActive":false},{"label":"Prerequisites","href":"Prerequisites","type":2,"isActive":false},{"label":"Visualize metrics using Grafana","href":"Visualize-metrics-using-Grafana","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["wget https://raw.githubusercontent.com/milvus-io/milvus/2.2.0/deployments/monitor/grafana/milvus-dashboard.json\n"],"headingContent":"Visualize Milvus Metrics in Grafana","anchorList":[{"label":"Visualisierung von Milvus-Metriken in Grafana","href":"Visualize-Milvus-Metrics-in-Grafana","type":1,"isActive":false},{"label":"Voraussetzungen","href":"Prerequisites","type":2,"isActive":false},{"label":"Visualisieren von Metriken mit Grafana","href":"Visualize-metrics-using-Grafana","type":2,"isActive":false},{"label":"Was kommt als nächstes","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/monitor/visualize.md b/localization/v2.5.x/site/de/adminGuide/monitor/visualize.md
index 9e0cb5fa6..c945f9ddf 100644
--- a/localization/v2.5.x/site/de/adminGuide/monitor/visualize.md
+++ b/localization/v2.5.x/site/de/adminGuide/monitor/visualize.md
@@ -1,10 +1,10 @@
---
id: visualize.md
-title: Visualize Metrics
+title: Metriken visualisieren
related_key: 'monitor, alert'
-summary: Learn how to visualize Milvus metrics in Grafana.
+summary: 'Erfahren Sie, wie Sie Milvus-Metriken in Grafana visualisieren können.'
---
-
Visualize Milvus Metrics in Grafana
+
Visualisierung von Milvus-Metriken in Grafana
-
This topic describes how to visualize Milvus metrics using Grafana.
-
As described in the monitoring guide, metrics contain useful information such as how much memory is used by a specific Milvus component. Monitoring metrics helps you better understand Milvus performance and its running status so that you can adjust resource allocation timely.
-
Visualization is a chart showing the change of resource usage across time, which makes it easier for you to quickly see and notice the changes to resource usage especially when an event occurs.
-
This tutorial uses Grafana, an open-source platform for time-series analytics, to visualize various performance metrics of a Milvus cluster deployed on Kubernetes (K8s).
-
Prerequisites
+
Dieses Thema beschreibt, wie man Milvus-Metriken mit Grafana visualisiert.
+
Wie im Überwachungshandbuch beschrieben, enthalten Metriken nützliche Informationen, wie z. B. wie viel Speicher von einer bestimmten Milvus-Komponente verwendet wird. Die Überwachung von Metriken hilft Ihnen, die Leistung von Milvus und seinen Betriebsstatus besser zu verstehen, so dass Sie die Ressourcenzuweisung rechtzeitig anpassen können.
+
Die Visualisierung ist ein Diagramm, das die Veränderung der Ressourcennutzung über die Zeit anzeigt, was es Ihnen erleichtert, die Veränderungen der Ressourcennutzung schnell zu sehen und zu bemerken, insbesondere wenn ein Ereignis eintritt.
+
In diesem Tutorial wird Grafana, eine Open-Source-Plattform für Zeitreihenanalysen, verwendet, um verschiedene Leistungsmetriken eines Milvus-Clusters zu visualisieren, der auf Kubernetes (K8s) bereitgestellt wird.
You need to configure Prometheus to monitor and collect metrics before using Grafana to visualize the metrics. If the setup is successful, you can access Grafana at http://localhost:3000. Or you can also access Grafana using the default Grafana user:password of admin:admin.
Sie müssen Prometheus für die Überwachung und Erfassung von Metriken konfigurieren, bevor Sie Grafana zur Visualisierung der Metriken verwenden können. Wenn die Einrichtung erfolgreich war, können Sie auf Grafana unter http://localhost:3000 zugreifen. Oder Sie können Grafana auch über die Standard-Grafana-Seite user:password von admin:admin aufrufen.
-
Visualize metrics using Grafana
+
Visualisieren von Metriken mit Grafana
-
1. Download and import dashboard
Download and import Milvus dashboard from the JSON file.
+
1. Herunterladen und Importieren des Dashboards
Laden Sie das Milvus Dashboard herunter und importieren Sie es aus der JSON-Datei.
diff --git a/localization/v2.5.x/site/de/adminGuide/object_storage_operator.json b/localization/v2.5.x/site/de/adminGuide/object_storage_operator.json
index 3a75e9799..15edbc83a 100644
--- a/localization/v2.5.x/site/de/adminGuide/object_storage_operator.json
+++ b/localization/v2.5.x/site/de/adminGuide/object_storage_operator.json
@@ -1 +1 @@
-{"codeList":["kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n dependencies:\n # Omit other fields ...\n storage:\n inCluster:\n values:\n mode: standalone\n resources:\n requests:\n memory: 100Mi\n deletionPolicy: Delete # Delete | Retain, default: Retain\n pvcDeletion: true # default: false\n","# # change the to match your environment\napiVersion: v1\nkind: Secret\nmetadata:\n name: my-release-s3-secret\ntype: Opaque\nstringData:\n accesskey: \n secretkey: \n","# # change the to match your environment\napiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n config:\n minio:\n # your bucket name\n bucketName: \n # Optional, config the prefix of the bucket milvus will use\n rootPath: milvus/my-release\n useSSL: true\n dependencies:\n storage:\n # enable external object storage\n external: true\n type: S3 # MinIO | S3\n # the endpoint of AWS S3\n endpoint: s3.amazonaws.com:443\n # the secret storing the access key and secret key\n secretRef: \"my-release-s3-secret\"\n","apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: my-release-sa\n annotations:\n eks.amazonaws.com/role-arn: \n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n components:\n # use the above ServiceAccount\n serviceAccountName: my-release-sa\n config:\n minio:\n # enable AssumeRole\n useIAM: true\n # Omit other fields ...\n dependencies:\n storage:\n # Omit other fields ...\n # Note: you must use regional endpoint here, otherwise the minio client that milvus uses will fail to connect\n endpoint: s3..amazonaws.com:443\n secretRef: \"\" # we don't need to specify the secret here\n","# # change the to match your environment\napiVersion: v1\nkind: Secret\nmetadata:\n name: my-release-gcp-secret\ntype: Opaque\nstringData:\n accesskey: \n secretkey: \n","# # change the to match your environment\napiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n config:\n minio:\n cloudProvider: gcp\n dependencies:\n storage:\n # Omit other fields ...\n endpoint: storage.googleapis.com:443\n","apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: my-release-sa\n annotations:\n iam.gke.io/gcp-service-account: \n","labels:\n app: milvus\nspec:\n # Omit other fields ...\n components:\n # use the above ServiceAccount\n serviceAccountName: my-release-sa\n config:\n minio:\n cloudProvider: gcp\n # enable AssumeRole\n useIAM: true\n # Omit other fields ... \n"],"headingContent":"Configure Object Storage with Milvus Operator","anchorList":[{"label":"Configure Object Storage with Milvus Operator","href":"Configure-Object-Storage-with-Milvus-Operator","type":1,"isActive":false},{"label":"Configure object storage","href":"Configure-object-storage","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n dependencies:\n # Omit other fields ...\n storage:\n inCluster:\n values:\n mode: standalone\n resources:\n requests:\n memory: 100Mi\n deletionPolicy: Delete # Delete | Retain, default: Retain\n pvcDeletion: true # default: false\n","# # change the to match your environment\napiVersion: v1\nkind: Secret\nmetadata:\n name: my-release-s3-secret\ntype: Opaque\nstringData:\n accesskey: \n secretkey: \n","# # change the to match your environment\napiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n config:\n minio:\n # your bucket name\n bucketName: \n # Optional, config the prefix of the bucket milvus will use\n rootPath: milvus/my-release\n useSSL: true\n dependencies:\n storage:\n # enable external object storage\n external: true\n type: S3 # MinIO | S3\n # the endpoint of AWS S3\n endpoint: s3.amazonaws.com:443\n # the secret storing the access key and secret key\n secretRef: \"my-release-s3-secret\"\n","apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: my-release-sa\n annotations:\n eks.amazonaws.com/role-arn: \n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n components:\n # use the above ServiceAccount\n serviceAccountName: my-release-sa\n config:\n minio:\n # enable AssumeRole\n useIAM: true\n # Omit other fields ...\n dependencies:\n storage:\n # Omit other fields ...\n # Note: you must use regional endpoint here, otherwise the minio client that milvus uses will fail to connect\n endpoint: s3..amazonaws.com:443\n secretRef: \"\" # we don't need to specify the secret here\n","# # change the to match your environment\napiVersion: v1\nkind: Secret\nmetadata:\n name: my-release-gcp-secret\ntype: Opaque\nstringData:\n accesskey: \n secretkey: \n","# # change the to match your environment\napiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\n name: my-release\n labels:\n app: milvus\nspec:\n # Omit other fields ...\n config:\n minio:\n cloudProvider: gcp\n dependencies:\n storage:\n # Omit other fields ...\n endpoint: storage.googleapis.com:443\n","apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: my-release-sa\n annotations:\n iam.gke.io/gcp-service-account: \n","labels:\n app: milvus\nspec:\n # Omit other fields ...\n components:\n # use the above ServiceAccount\n serviceAccountName: my-release-sa\n config:\n minio:\n cloudProvider: gcp\n # enable AssumeRole\n useIAM: true\n # Omit other fields ... \n"],"headingContent":"Configure Object Storage with Milvus Operator","anchorList":[{"label":"Konfigurieren Sie den Objektspeicher mit Milvus Operator","href":"Configure-Object-Storage-with-Milvus-Operator","type":1,"isActive":false},{"label":"Konfigurieren von Objektspeicher","href":"Configure-object-storage","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/object_storage_operator.md b/localization/v2.5.x/site/de/adminGuide/object_storage_operator.md
index 5a2427460..3cedf8464 100644
--- a/localization/v2.5.x/site/de/adminGuide/object_storage_operator.md
+++ b/localization/v2.5.x/site/de/adminGuide/object_storage_operator.md
@@ -1,10 +1,10 @@
---
id: object_storage_operator.md
-title: Configure Object Storage with Milvus Operator
+title: Konfigurieren Sie den Objektspeicher mit Milvus Operator
related_key: 'minio, s3, storage, etcd, pulsar'
-summary: Learn how to configure object storage with Milvus Operator.
+summary: 'Erfahren Sie, wie Sie Objektspeicher mit Milvus Operator konfigurieren.'
---
-
Configure Object Storage with Milvus Operator
+
Konfigurieren Sie den Objektspeicher mit Milvus Operator
-
Milvus uses MinIO or S3 as object storage to persist large-scale files, such as index files and binary logs. This topic introduces how to configure object storage dependencies when you install Milvus with Milvus Operator. For more details, refer to Configure Object Storage with Milvus Operator in the Milvus Operator repository.
-
This topic assumes that you have deployed Milvus Operator.
You need to specify a configuration file for using Milvus Operator to start a Milvus cluster.
+
Milvus verwendet MinIO oder S3 als Objektspeicher, um große Dateien, wie Indexdateien und binäre Protokolle, zu speichern. In diesem Thema wird beschrieben, wie Sie Objektspeicher-Abhängigkeiten konfigurieren, wenn Sie Milvus mit Milvus Operator installieren. Weitere Details finden Sie unter Konfigurieren von Objektspeicher mit Milvus Operator im Milvus Operator-Repository.
+
Dieses Thema setzt voraus, dass Sie Milvus Operator installiert haben.
You only need to edit the code template in milvus_cluster_default.yaml to configure third-party dependencies. The following sections introduce how to configure object storage, etcd, and Pulsar respectively.
-
Configure object storage
+
Sie müssen nur die Codevorlage in milvus_cluster_default.yaml bearbeiten, um die Abhängigkeiten von Dritten zu konfigurieren. In den folgenden Abschnitten wird beschrieben, wie Sie Objektspeicher, etcd und Pulsar konfigurieren.
+
Konfigurieren von Objektspeicher
-
A Milvus cluster uses MinIO or S3 as object storage to persist large-scale files, such as index files and binary logs. Add required fields under spec.dependencies.storage to configure object storage, possible options are external and inCluster.
-
Internal object storage
By default, Milvus Operator deploys an in-cluster MinIO for Milvus. The following is an example configuration to demonstrate how to use this MinIO as an internal object storage.
+
Ein Milvus-Cluster verwendet MinIO oder S3 als Objektspeicher, um große Dateien wie Indexdateien und binäre Protokolle aufzubewahren. Fügen Sie die erforderlichen Felder unter spec.dependencies.storage hinzu, um den Objektspeicher zu konfigurieren. Mögliche Optionen sind external und inCluster.
+
Interner Objektspeicher
Standardmäßig setzt Milvus Operator eine clusterinterne MinIO für Milvus ein. Im Folgenden wird anhand einer Beispielkonfiguration gezeigt, wie diese MinIO als interner Objektspeicher verwendet werden kann.
After the above configuration applies, the in-cluster MinIO will run in standalone mode with a memory limit of up to 100Mi. Note that
+
Nach der obigen Konfiguration läuft die In-Cluster-MinIO im Standalone-Modus mit einer Speicherbegrenzung von bis zu 100Mi. Beachten Sie Folgendes
-
The deletionPolicy field specifies the deletion policy of the in-cluster MinIO. It defaults to Delete and has Retain as the alternative option.
+
Das Feld deletionPolicy gibt die Löschrichtlinie für die clusterinterne MinIO an. Der Standardwert ist Delete und die alternative Option ist Retain.
-
Delete indicates that the in-cluster object storage is deleted when you stop your Milvus instance.
-
Retain indicates that the in-cluster object storage is retained as the dependency service for later startups of your Milvus instance.
+
Delete gibt an, dass der In-Cluster-Objektspeicher gelöscht wird, wenn Sie Ihre Milvus-Instanz stoppen.
+
Retain gibt an, dass der In-Cluster-Objektspeicher als Abhängigkeitsdienst für spätere Starts Ihrer Milvus-Instanz beibehalten wird.
-
The pvcDeletion field specifies whether to delete the PVC(Persistent Volume Claim) when the in-cluster MinIO is deleted.
+
Das Feld pvcDeletion gibt an, ob der PVC (Persistent Volume Claim) gelöscht werden soll, wenn der clusterinterne MinIO gelöscht wird.
-
The fields under inCluster.values are the same as those in Milvus Helm Chart, and you can find them here.
-
External object storage
Using external in the template YAML file indicates using an external object storage service. To use an external object storage, you need to properly set fields under spec.dependencies.storage and spec.config.minio in the Milvus CRD.
-
Use Amazon Web Service (AWS) S3 as external object storage
-
Configure AWS S3 Access by AK/SK
-
An S3 bucket can usually be accessed by a pair of an access key and an access secret key. You can create a Secret object to store them in your Kubernetes as follows:
+
Die Felder unter inCluster.values sind die gleichen wie die in Milvus Helm Chart, und Sie finden sie hier.
+
Externer Objektspeicher
Die Verwendung von external in der Vorlage YAML-Datei weist auf die Verwendung eines externen Objektspeicherdienstes hin. Um einen externen Objektspeicher zu verwenden, müssen Sie die Felder unter spec.dependencies.storage und spec.config.minio in der Milvus CRD richtig einstellen.
+
Verwenden Sie Amazon Web Service (AWS) S3 als externen Objektspeicher
+
Konfigurieren Sie den AWS S3-Zugriff durch AK/SK
+
Auf einen S3-Bucket kann in der Regel mit einem Paar aus einem Zugriffsschlüssel und einem Zugriffsgeheimnisschlüssel zugegriffen werden. Sie können ein Secret Objekt erstellen, um sie in Ihrer Kubernetes wie folgt zu speichern:
# # change the <parameters> to match your environment
apiVersion: v1
kind: Secret
@@ -87,7 +87,7 @@ stringData:
accesskey: <my-access-key>
secretkey: <my-secret-key>
-
Then you can configure an AWS S3 bucket as the external object storage:
+
Anschließend können Sie einen AWS S3-Bucket als externen Objektspeicher konfigurieren:
# # change the <parameters> to match your environment
apiVersion: milvus.io/v1beta1
kind: Milvus
@@ -114,10 +114,10 @@ spec:
# the secret storing the access key and secret key
secretRef: "my-release-s3-secret"
-
Configure AWS S3 Access by AssumeRole
-
Alternatively, you can make Milvus access your AWS S3 bucket using AssumeRole, so that only temporary credentials are involved instead of your actual AK/SK.
-
If this is what you prefer, you need to prepare a role on your AWS console and get its ARN, which is usually in the form of arn:aws:iam::<your account id>:role/<role-name>.
-
Then create a ServiceAccount object to store it in your Kubernetes as follows:
+
AWS S3-Zugriff durch AssumeRole konfigurieren
+
Alternativ können Sie Milvus mit AssumeRole auf Ihr AWS S3-Bucket zugreifen lassen, so dass nur temporäre Anmeldeinformationen anstelle Ihrer tatsächlichen AK/SK beteiligt sind.
+
Wenn Sie dies bevorzugen, müssen Sie eine Rolle in Ihrer AWS-Konsole vorbereiten und ihren ARN erhalten, der normalerweise die Form arn:aws:iam::<your account id>:role/<role-name> hat.
+
Erstellen Sie dann wie folgt ein ServiceAccount Objekt, um es in Ihrer Kubernetes zu speichern:
Once all set, reference the above ServiceAccount in the template YAML file, and set spec.config.minio.useIAM to true to enable AssumeRole.
+
Sobald alles eingerichtet ist, verweisen Sie in der YAML-Vorlagendatei auf das obige ServiceAccount und setzen spec.config.minio.useIAM auf true, um AssumeRole zu aktivieren.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
@@ -150,10 +150,10 @@ spec:
secretRef: ""# we don't need to specify the secret here
-
Use Google Cloud Storage (GCS) as external object storage
AWS S3 object storage is not the only choice. You can also use the object storage service from other public cloud providers, such as Google Cloud.
+
Google Cloud Storage (GCS) als externen Objektspeicher verwenden
AWS S3 Objektspeicher ist nicht die einzige Wahl. Sie können auch den Objektspeicherdienst von anderen öffentlichen Cloud-Anbietern, wie Google Cloud, verwenden.
-
Configure GCS Access by AK/SK
-
The configuration is mostly similar to that of using AWS S3. You still need to create a Secret object to store your credentials in your Kubernetes.
+
Konfigurieren des GCS-Zugriffs durch AK/SK
+
Die Konfiguration ist größtenteils ähnlich wie bei der Verwendung von AWS S3. Sie müssen immer noch ein Secret Objekt erstellen, um Ihre Anmeldeinformationen in Ihrer Kubernetes zu speichern.
# # change the <parameters> to match your environment
apiVersion: v1
kind: Secret
@@ -164,7 +164,7 @@ stringData:
accesskey: <my-access-key>
secretkey: <my-secret-key>
-
Then, you only need to change endpoint to storage.googleapis.com:443 and set spec.config.minio.cloudProvider to gcp as follows:
+
Dann müssen Sie nur endpoint in storage.googleapis.com:443 ändern und spec.config.minio.cloudProvider in gcp umwandeln:
# # change the <parameters> to match your environment
apiVersion: milvus.io/v1beta1
kind: Milvus
@@ -182,9 +182,9 @@ spec:
# Omit other fields ...
endpoint: storage.googleapis.com:443
-
Configure GCS Access by AssumeRole
-
Similar to AWS S3, you can also use Workload Identity to access GCS with temporary credentials if you are using GKE as your Kubernetes cluster.
-
The annotation of the ServiceAccount is different from that of AWS EKS. You need to specify the GCP service account name instead of the role ARN.
+
Konfigurieren des GCS-Zugriffs durch AssumeRole
+
Ähnlich wie bei AWS S3 können Sie auch Workload Identity verwenden, um mit temporären Anmeldeinformationen auf GCS zuzugreifen, wenn Sie GKE als Ihren Kubernetes-Cluster verwenden.
+
Die Beschriftung von ServiceAccount unterscheidet sich von der von AWS EKS. Sie müssen den Namen des GCP-Service-Kontos anstelle des ARN der Rolle angeben.
Then, you can configure your Milvus instance to use the above ServiceAccount and enable AssumeRole by setting spec.config.minio.useIAM to true as follows:
+
Anschließend können Sie Ihre Milvus-Instanz so konfigurieren, dass sie die oben genannte ServiceAccount verwendet und AssumeRole aktiviert, indem Sie spec.config.minio.useIAM wie folgt auf true setzen:
diff --git a/localization/v2.5.x/site/de/adminGuide/rbac.json b/localization/v2.5.x/site/de/adminGuide/rbac.json
index efe195a22..7788471ed 100644
--- a/localization/v2.5.x/site/de/adminGuide/rbac.json
+++ b/localization/v2.5.x/site/de/adminGuide/rbac.json
@@ -1 +1 @@
-{"codeList":["from pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri='http://localhost:19530', # replace with your own Milvus server address\n token='root:Milvus' # replace with your own Milvus server token\n)\n","client.create_user(\n user_name='user_1',\n password='P@ssw0rd'\n)\n","client.update_password(\n user_name='user_1',\n old_password='P@ssw0rd',\n new_password='P@ssw0rd123'\n)\n","client.list_users()\n\n# output:\n# ['root', 'user_1']\n","client.describe_user(user_name='user_1')\n\n# output:\n# {'user_name': 'user_1', 'roles': ()}\n","client.create_role(\n role_name=\"roleA\",\n)\n","client.list_roles()\n\n# output:\n# ['admin', 'public', 'roleA']\n","# grant privilege to a role\n\nclient.grant_privilege(\n role_name='roleA',\n object_type='User', # value here can be Global, Collection or User, object type also depends on the API defined in privilegeName\n object_name='user_1', # value here can be * or a specific user name if object type is 'User'\n privilege='SelectUser'\n)\n","client.describe_role(\n role_name='roleA'\n)\n\n# output:\n# {'role': 'roleA',\n# 'privileges': [{'object_type': 'User',\n# 'object_name': 'user_1',\n# 'db_name': 'default',\n# 'role_name': 'roleA',\n# 'privilege': 'SelectUser',\n# 'grantor_name': 'root'}]}\n","# grant a role to a user\n\nclient.grant_role(\n user_name='user_1',\n role_name='roleA'\n)\n","client.describe_user(\n user_name='user_1'\n)\n\n# output:\n# {'user_name': 'user_1', 'roles': ('roleA')}\n","client.revoke_privilege(\n role_name='roleA',\n object_type='User', # value here can be Global, Collection or User, object type also depends on the API defined in privilegeName\n object_name='user_1', # value here can be * or a specific user name if object type is 'User'\n privilege='SelectUser'\n)\n","client.revoke_role(\n user_name='user_1',\n role_name='roleA'\n)\n","client.drop_role(role_name='roleA')\n","client.drop_user(user_name='user_1')\n"],"headingContent":"Enable RBAC","anchorList":[{"label":"Enable RBAC","href":"Enable-RBAC","type":1,"isActive":false},{"label":"1. Initiate a Milvus client to establish a connection","href":"1-Initiate-a-Milvus-client-to-establish-a-connection","type":2,"isActive":false},{"label":"2. Create a user","href":"2-Create-a-user","type":2,"isActive":false},{"label":"3. Create a role","href":"3-Create-a-role","type":2,"isActive":false},{"label":"4. Grant a privilege to a role","href":"4-Grant-a-privilege-to-a-role","type":2,"isActive":false},{"label":"5. Grant a role to a user","href":"5-Grant-a-role-to-a-user","type":2,"isActive":false},{"label":"6. Revoke privileges","href":"6-Revoke-privileges","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["from pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri='http://localhost:19530', # replace with your own Milvus server address\n token='root:Milvus' # replace with your own Milvus server token\n)\n","client.create_user(\n user_name='user_1',\n password='P@ssw0rd'\n)\n","client.update_password(\n user_name='user_1',\n old_password='P@ssw0rd',\n new_password='P@ssw0rd123'\n)\n","client.list_users()\n\n# output:\n# ['root', 'user_1']\n","client.describe_user(user_name='user_1')\n\n# output:\n# {'user_name': 'user_1', 'roles': ()}\n","client.create_role(\n role_name=\"roleA\",\n)\n","client.list_roles()\n\n# output:\n# ['admin', 'public', 'roleA']\n","# grant privilege to a role\n\nclient.grant_privilege(\n role_name='roleA',\n object_type='User', # value here can be Global, Collection or User, object type also depends on the API defined in privilegeName\n object_name='user_1', # value here can be * or a specific user name if object type is 'User'\n privilege='SelectUser'\n)\n","client.describe_role(\n role_name='roleA'\n)\n\n# output:\n# {'role': 'roleA',\n# 'privileges': [{'object_type': 'User',\n# 'object_name': 'user_1',\n# 'db_name': 'default',\n# 'role_name': 'roleA',\n# 'privilege': 'SelectUser',\n# 'grantor_name': 'root'}]}\n","# grant a role to a user\n\nclient.grant_role(\n user_name='user_1',\n role_name='roleA'\n)\n","client.describe_user(\n user_name='user_1'\n)\n\n# output:\n# {'user_name': 'user_1', 'roles': ('roleA')}\n","client.revoke_privilege(\n role_name='roleA',\n object_type='User', # value here can be Global, Collection or User, object type also depends on the API defined in privilegeName\n object_name='user_1', # value here can be * or a specific user name if object type is 'User'\n privilege='SelectUser'\n)\n","client.revoke_role(\n user_name='user_1',\n role_name='roleA'\n)\n","client.drop_role(role_name='roleA')\n","client.drop_user(user_name='user_1')\n"],"headingContent":"Enable RBAC","anchorList":[{"label":"RBAC aktivieren","href":"Enable-RBAC","type":1,"isActive":false},{"label":"1. Initiieren Sie einen Milvus-Client, um eine Verbindung herzustellen","href":"1-Initiate-a-Milvus-client-to-establish-a-connection","type":2,"isActive":false},{"label":"2. Erstellen Sie einen Benutzer","href":"2-Create-a-user","type":2,"isActive":false},{"label":"3. Erstellen Sie eine Rolle","href":"3-Create-a-role","type":2,"isActive":false},{"label":"4. Einer Rolle ein Privileg erteilen","href":"4-Grant-a-privilege-to-a-role","type":2,"isActive":false},{"label":"5. Einem Benutzer eine Rolle gewähren","href":"5-Grant-a-role-to-a-user","type":2,"isActive":false},{"label":"6. Entziehen von Privilegien","href":"6-Revoke-privileges","type":2,"isActive":false},{"label":"Was kommt als nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/rbac.md b/localization/v2.5.x/site/de/adminGuide/rbac.md
index 9b48f6788..8244ee4c0 100644
--- a/localization/v2.5.x/site/de/adminGuide/rbac.md
+++ b/localization/v2.5.x/site/de/adminGuide/rbac.md
@@ -1,10 +1,10 @@
---
id: rbac.md
related_key: enable RBAC
-summary: 'Learn how to manage users, roles, and privileges.'
-title: Enable RBAC
+summary: 'Erfahren Sie, wie Sie Benutzer, Rollen und Berechtigungen verwalten können.'
+title: RBAC aktivieren
---
-
Enable RBAC
+
RBAC aktivieren
-
By enabling RBAC, you can control access to specific Milvus resources (Eg. a collection or a partition) or permissions based on user role and privileges. Currently, this feature is only available in Python and Java.
-
This topic describes how to enable RBAC and manage users and roles.
+
Wenn Sie RBAC aktivieren, können Sie den Zugriff auf bestimmte Milvus-Ressourcen (z. B. eine Sammlung oder eine Partition) oder Berechtigungen auf der Grundlage von Benutzerrollen und Privilegien steuern. Derzeit ist diese Funktion nur in Python und Java verfügbar.
+
Dieses Thema beschreibt, wie man RBAC aktiviert und Benutzer und Rollen verwaltet.
-
The code snippets on this page use new MilvusClient (Python) to interact with Milvus. New MilvusClient SDKs for other languages will be released in future updates.
+
Die Codeschnipsel auf dieser Seite verwenden den neuen MilvusClient (Python) zur Interaktion mit Milvus. Neue MilvusClient SDKs für andere Sprachen werden in zukünftigen Updates veröffentlicht.
-
1. Initiate a Milvus client to establish a connection
+
1. Initiieren Sie einen Milvus-Client, um eine Verbindung herzustellen
-
After you enable user authentication, connect to your Milvus instance using token that consists of a username and a password. By default, Milvus uses the root user with the password Milvus.
+
Nachdem Sie die Benutzerauthentifizierung aktiviert haben, verbinden Sie sich mit Ihrer Milvus-Instanz über token, das aus einem Benutzernamen und einem Passwort besteht. Standardmäßig verwendet Milvus den Benutzer root mit dem Passwort Milvus.
from pymilvus import MilvusClient
client = MilvusClient(
@@ -47,7 +47,7 @@ client = MilvusClient(
token='root:Milvus'# replace with your own Milvus server token
)
-
2. Create a user
+
2. Erstellen Sie einen Benutzer
-
Create a user named user_1 with the password P@ssw0rd:
+
Erstellen Sie einen Benutzer mit dem Namen user_1 und dem Passwort P@ssw0rd:
The following example demonstrates how to grant the permission of searching all collections to the role named roleA.
-
The object_type specifies the object type, which can also be understood as the resource type. Currently, valid values include Collection/User/Global, etc., where Global means that there is no specific resource type. The object_name is the resource name. If objecttype is Collection, then object name can be referred to a specific collection name, or you can use * to specify all collections. If objecttype is Global, then the object name can be only specified as *. See Users and Roles for other types of privileges you can grant.
-
Before managing role privileges, make sure you have enabled user authentication. Otherwise, an error may occur. For information on how to enable user authentication, refer to Authenticate User Access.
+
Das folgende Beispiel zeigt, wie Sie der Rolle roleA das Recht erteilen, alle Sammlungen zu durchsuchen.
+
Die object_type gibt den Objekttyp an, der auch als Ressourcentyp verstanden werden kann. Gültige Werte sind derzeit Sammlung/Benutzer/Global usw., wobei Global bedeutet, dass es keinen spezifischen Ressourcentyp gibt. Die object_name ist der Name der Ressource. Wenn objecttypeCollection ist, kann sich der Objektname auf einen bestimmten Sammlungsnamen beziehen, oder Sie können * verwenden, um alle Sammlungen anzugeben. Wenn objecttypeGlobal ist, kann der Objektname nur mit * angegeben werden. Unter Benutzer und Rollen finden Sie weitere Arten von Berechtigungen, die Sie vergeben können.
+
Vergewissern Sie sich vor der Verwaltung von Rollenberechtigungen, dass Sie die Benutzerauthentifizierung aktiviert haben. Andernfalls kann ein Fehler auftreten. Informationen zur Aktivierung der Benutzerauthentifizierung finden Sie unter Authentifizierung des Benutzerzugriffs.
# grant privilege to a role
client.grant_privilege(
@@ -150,9 +150,9 @@ client.grant_privilege(
privilege='SelectUser'
)
-
After granting a privilege to a role, you can:
+
Nachdem Sie einer Rolle eine Berechtigung gewährt haben, können Sie:
-
View the privileges granted to a role.
+
Die einer Rolle gewährten Berechtigungen anzeigen.
Erfahren Sie, wie Sie den TLS-Proxy in Milvus aktivieren können.
diff --git a/localization/v2.5.x/site/de/adminGuide/resource_group.json b/localization/v2.5.x/site/de/adminGuide/resource_group.json
index 614ae1917..99611838c 100644
--- a/localization/v2.5.x/site/de/adminGuide/resource_group.json
+++ b/localization/v2.5.x/site/de/adminGuide/resource_group.json
@@ -1 +1 @@
-{"codeList":["{\n \"requests\": { \"nodeNum\": 1 },\n \"limits\": { \"nodeNum\": 1 },\n \"transfer_from\": [{ \"resource_group\": \"rg1\" }],\n \"transfer_to\": [{ \"resource_group\": \"rg2\" }]\n}\n","import pymilvus\n\n# A resource group name should be a string of 1 to 255 characters, starting with a letter or an underscore (_) and containing only numbers, letters, and underscores (_).\nname = \"rg\"\nnode_num = 0\n\n# create a resource group that exactly hold no query node.\ntry:\n utility.create_resource_group(name, config=utility.ResourceGroupConfig(\n requests={\"node_num\": node_num},\n limits={\"node_num\": node_num},\n ), using='default')\n print(f\"Succeeded in creating resource group {name}.\")\nexcept Exception:\n print(\"Failed to create the resource group.\")\n","rgs = utility.list_resource_groups(using='default')\nprint(f\"Resource group list: {rgs}\")\n\n# Resource group list: ['__default_resource_group', 'rg']\n","info = utility.describe_resource_group(name, using=\"default\")\nprint(f\"Resource group description: {info}\")\n\n# Resource group description: \n# , // string, rg name\n# , // int, num_node which has been transfer to this rg\n# , // int, available node_num, some node may shutdown\n# , // map[string]int, from collection_name to loaded replica of each collecion in this rg\n# , // map[string]int, from collection_name to outgoging accessed node num by replica loaded in this rg \n# . // map[string]int, from collection_name to incoming accessed node num by replica loaded in other rg\n","source = '__default_resource_group'\ntarget = 'rg'\nexpected_num_nodes_in_default = 0\nexpected_num_nodes_in_rg = 1\n\ntry:\n utility.update_resource_groups({\n source: ResourceGroupConfig(\n requests={\"node_num\": expected_num_nodes_in_default},\n limits={\"node_num\": expected_num_nodes_in_default},\n ),\n target: ResourceGroupConfig(\n requests={\"node_num\": expected_num_nodes_in_rg},\n limits={\"node_num\": expected_num_nodes_in_rg},\n )\n }, using=\"default\")\n print(f\"Succeeded in move 1 node(s) from {source} to {target}.\")\nexcept Exception:\n print(\"Something went wrong while moving nodes.\")\n\n# After a while, succeeded in moving 1 node(s) from __default_resource_group to rg.\n","from pymilvus import Collection\n\ncollection = Collection('demo')\n\n# Milvus loads the collection to the default resource group.\ncollection.load(replica_number=2)\n\n# Or, you can ask Milvus load the collection to the desired resource group.\n# make sure that query nodes num should be greater or equal to replica_number\nresource_groups = ['rg']\ncollection.load(replica_number=2, _resource_groups=resource_groups) \n","collection = Collection(\"Books\")\n\n# Use the load method of a collection to load one of its partition\ncollection.load([\"Novels\"], replica_number=2, _resource_groups=resource_groups)\n\n# Or, you can use the load method of a partition directly\npartition = Partition(collection, \"Novels\")\npartition.load(replica_number=2, _resource_groups=resource_groups)\n","source = '__default_resource_group'\ntarget = 'rg'\ncollection_name = 'c'\nnum_replicas = 1\n\ntry:\n utility.transfer_replica(source, target, collection_name, num_replicas, using=\"default\")\n print(f\"Succeeded in moving {num_node} replica(s) of {collection_name} from {source} to {target}.\")\nexcept Exception:\n print(\"Something went wrong while moving replicas.\")\n\n# Succeeded in moving 1 replica(s) of c from __default_resource_group to rg.\n","try:\n utility.update_resource_groups({\n \"rg\": utility.ResourceGroupConfig(\n requests={\"node_num\": 0},\n limits={\"node_num\": 0},\n ),\n }, using=\"default\")\n utility.drop_resource_group(\"rg\", using=\"default\")\n print(f\"Succeeded in dropping {source}.\")\nexcept Exception:\n print(f\"Something went wrong while dropping {source}.\")\n","from pymilvus import utility\nfrom pymilvus.client.types import ResourceGroupConfig\n\n_PENDING_NODES_RESOURCE_GROUP=\"__pending_nodes\"\n\ndef init_cluster(node_num: int):\n print(f\"Init cluster with {node_num} nodes, all nodes will be put in default resource group\")\n # create a pending resource group, which can used to hold the pending nodes that do not hold any data.\n utility.create_resource_group(name=_PENDING_NODES_RESOURCE_GROUP, config=ResourceGroupConfig(\n requests={\"node_num\": 0}, # this resource group can hold 0 nodes, no data will be load on it.\n limits={\"node_num\": 10000}, # this resource group can hold at most 10000 nodes \n ))\n\n # update default resource group, which can used to hold the nodes that all initial node in it.\n utility.update_resource_groups({\n \"__default_resource_group\": ResourceGroupConfig(\n requests={\"node_num\": node_num},\n limits={\"node_num\": node_num},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], # recover missing node from pending resource group at high priority.\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], # recover redundant node to pending resource group at low priority.\n )})\n utility.create_resource_group(name=\"rg1\", config=ResourceGroupConfig(\n requests={\"node_num\": 0},\n limits={\"node_num\": 0},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], \n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ))\n utility.create_resource_group(name=\"rg2\", config=ResourceGroupConfig(\n requests={\"node_num\": 0},\n limits={\"node_num\": 0},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], \n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ))\n\ninit_cluster(1)\n","\ndef scale_to(node_num: int):\n # scale the querynode number in Milvus into node_num.\n pass\n","# scale rg1 into 3 nodes, rg2 into 1 nodes\nutility.update_resource_groups({\n \"rg1\": ResourceGroupConfig(\n requests={\"node_num\": 3},\n limits={\"node_num\": 3},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ),\n \"rg2\": ResourceGroupConfig(\n requests={\"node_num\": 1},\n limits={\"node_num\": 1},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ),\n})\nscale_to(5)\n# rg1 has 3 nodes, rg2 has 1 node, __default_resource_group has 1 node.\n","# scale rg1 from 3 nodes into 2 nodes\nutility.update_resource_groups({\n \"rg1\": ResourceGroupConfig(\n requests={\"node_num\": 2},\n limits={\"node_num\": 2},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ),\n})\n\n# rg1 has 2 nodes, rg2 has 1 node, __default_resource_group has 1 node, __pending_nodes has 1 node.\nscale_to(4)\n# scale the node in __pending_nodes\n"],"headingContent":"Manage Resource Groups","anchorList":[{"label":"Manage Resource Groups","href":"Manage-Resource-Groups","type":1,"isActive":false},{"label":"What is a resource group","href":"What-is-a-resource-group","type":2,"isActive":false},{"label":"Concepts of resource group","href":"Concepts-of-resource-group","type":2,"isActive":false},{"label":"Use declarative api to manage resource group","href":"Use-declarative-api-to-manage-resource-group","type":2,"isActive":false},{"label":"A good practice to manage cluster scaling","href":"A-good-practice-to-manage-cluster-scaling","type":2,"isActive":false},{"label":"How resource groups interacts with multiple replicas","href":"How-resource-groups-interacts-with-multiple-replicas","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":["{\n \"requests\": { \"nodeNum\": 1 },\n \"limits\": { \"nodeNum\": 1 },\n \"transfer_from\": [{ \"resource_group\": \"rg1\" }],\n \"transfer_to\": [{ \"resource_group\": \"rg2\" }]\n}\n","import pymilvus\n\n# A resource group name should be a string of 1 to 255 characters, starting with a letter or an underscore (_) and containing only numbers, letters, and underscores (_).\nname = \"rg\"\nnode_num = 0\n\n# create a resource group that exactly hold no query node.\ntry:\n utility.create_resource_group(name, config=utility.ResourceGroupConfig(\n requests={\"node_num\": node_num},\n limits={\"node_num\": node_num},\n ), using='default')\n print(f\"Succeeded in creating resource group {name}.\")\nexcept Exception:\n print(\"Failed to create the resource group.\")\n","rgs = utility.list_resource_groups(using='default')\nprint(f\"Resource group list: {rgs}\")\n\n# Resource group list: ['__default_resource_group', 'rg']\n","info = utility.describe_resource_group(name, using=\"default\")\nprint(f\"Resource group description: {info}\")\n\n# Resource group description: \n# , // string, rg name\n# , // int, num_node which has been transfer to this rg\n# , // int, available node_num, some node may shutdown\n# , // map[string]int, from collection_name to loaded replica of each collecion in this rg\n# , // map[string]int, from collection_name to outgoging accessed node num by replica loaded in this rg \n# . // map[string]int, from collection_name to incoming accessed node num by replica loaded in other rg\n","source = '__default_resource_group'\ntarget = 'rg'\nexpected_num_nodes_in_default = 0\nexpected_num_nodes_in_rg = 1\n\ntry:\n utility.update_resource_groups({\n source: ResourceGroupConfig(\n requests={\"node_num\": expected_num_nodes_in_default},\n limits={\"node_num\": expected_num_nodes_in_default},\n ),\n target: ResourceGroupConfig(\n requests={\"node_num\": expected_num_nodes_in_rg},\n limits={\"node_num\": expected_num_nodes_in_rg},\n )\n }, using=\"default\")\n print(f\"Succeeded in move 1 node(s) from {source} to {target}.\")\nexcept Exception:\n print(\"Something went wrong while moving nodes.\")\n\n# After a while, succeeded in moving 1 node(s) from __default_resource_group to rg.\n","from pymilvus import Collection\n\ncollection = Collection('demo')\n\n# Milvus loads the collection to the default resource group.\ncollection.load(replica_number=2)\n\n# Or, you can ask Milvus load the collection to the desired resource group.\n# make sure that query nodes num should be greater or equal to replica_number\nresource_groups = ['rg']\ncollection.load(replica_number=2, _resource_groups=resource_groups) \n","collection = Collection(\"Books\")\n\n# Use the load method of a collection to load one of its partition\ncollection.load([\"Novels\"], replica_number=2, _resource_groups=resource_groups)\n\n# Or, you can use the load method of a partition directly\npartition = Partition(collection, \"Novels\")\npartition.load(replica_number=2, _resource_groups=resource_groups)\n","source = '__default_resource_group'\ntarget = 'rg'\ncollection_name = 'c'\nnum_replicas = 1\n\ntry:\n utility.transfer_replica(source, target, collection_name, num_replicas, using=\"default\")\n print(f\"Succeeded in moving {num_node} replica(s) of {collection_name} from {source} to {target}.\")\nexcept Exception:\n print(\"Something went wrong while moving replicas.\")\n\n# Succeeded in moving 1 replica(s) of c from __default_resource_group to rg.\n","try:\n utility.update_resource_groups({\n \"rg\": utility.ResourceGroupConfig(\n requests={\"node_num\": 0},\n limits={\"node_num\": 0},\n ),\n }, using=\"default\")\n utility.drop_resource_group(\"rg\", using=\"default\")\n print(f\"Succeeded in dropping {source}.\")\nexcept Exception:\n print(f\"Something went wrong while dropping {source}.\")\n","from pymilvus import utility\nfrom pymilvus.client.types import ResourceGroupConfig\n\n_PENDING_NODES_RESOURCE_GROUP=\"__pending_nodes\"\n\ndef init_cluster(node_num: int):\n print(f\"Init cluster with {node_num} nodes, all nodes will be put in default resource group\")\n # create a pending resource group, which can used to hold the pending nodes that do not hold any data.\n utility.create_resource_group(name=_PENDING_NODES_RESOURCE_GROUP, config=ResourceGroupConfig(\n requests={\"node_num\": 0}, # this resource group can hold 0 nodes, no data will be load on it.\n limits={\"node_num\": 10000}, # this resource group can hold at most 10000 nodes \n ))\n\n # update default resource group, which can used to hold the nodes that all initial node in it.\n utility.update_resource_groups({\n \"__default_resource_group\": ResourceGroupConfig(\n requests={\"node_num\": node_num},\n limits={\"node_num\": node_num},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], # recover missing node from pending resource group at high priority.\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], # recover redundant node to pending resource group at low priority.\n )})\n utility.create_resource_group(name=\"rg1\", config=ResourceGroupConfig(\n requests={\"node_num\": 0},\n limits={\"node_num\": 0},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], \n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ))\n utility.create_resource_group(name=\"rg2\", config=ResourceGroupConfig(\n requests={\"node_num\": 0},\n limits={\"node_num\": 0},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}], \n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ))\n\ninit_cluster(1)\n","\ndef scale_to(node_num: int):\n # scale the querynode number in Milvus into node_num.\n pass\n","# scale rg1 into 3 nodes, rg2 into 1 nodes\nutility.update_resource_groups({\n \"rg1\": ResourceGroupConfig(\n requests={\"node_num\": 3},\n limits={\"node_num\": 3},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ),\n \"rg2\": ResourceGroupConfig(\n requests={\"node_num\": 1},\n limits={\"node_num\": 1},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ),\n})\nscale_to(5)\n# rg1 has 3 nodes, rg2 has 1 node, __default_resource_group has 1 node.\n","# scale rg1 from 3 nodes into 2 nodes\nutility.update_resource_groups({\n \"rg1\": ResourceGroupConfig(\n requests={\"node_num\": 2},\n limits={\"node_num\": 2},\n transfer_from=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n transfer_to=[{\"resource_group\": _PENDING_NODES_RESOURCE_GROUP}],\n ),\n})\n\n# rg1 has 2 nodes, rg2 has 1 node, __default_resource_group has 1 node, __pending_nodes has 1 node.\nscale_to(4)\n# scale the node in __pending_nodes\n"],"headingContent":"Manage Resource Groups","anchorList":[{"label":"Verwalten von Ressourcengruppen","href":"Manage-Resource-Groups","type":1,"isActive":false},{"label":"Was ist eine Ressourcengruppe?","href":"What-is-a-resource-group","type":2,"isActive":false},{"label":"Konzepte der Ressourcengruppe","href":"Concepts-of-resource-group","type":2,"isActive":false},{"label":"Verwendung der deklarativen API zur Verwaltung der Ressourcengruppe","href":"Use-declarative-api-to-manage-resource-group","type":2,"isActive":false},{"label":"Eine gute Praxis zur Verwaltung der Clusterskalierung","href":"A-good-practice-to-manage-cluster-scaling","type":2,"isActive":false},{"label":"Wie Ressourcengruppen mit mehreren Replikaten interagieren","href":"How-resource-groups-interacts-with-multiple-replicas","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/resource_group.md b/localization/v2.5.x/site/de/adminGuide/resource_group.md
index f7ea4e794..2e4eb91a2 100644
--- a/localization/v2.5.x/site/de/adminGuide/resource_group.md
+++ b/localization/v2.5.x/site/de/adminGuide/resource_group.md
@@ -1,10 +1,10 @@
---
id: resource_group.md
related_key: Manage Resource Groups
-summary: Learn how to manage resource groups.
-title: Manage Resource Groups
+summary: 'Lernen Sie, wie man Ressourcengruppen verwaltet.'
+title: Verwalten von Ressourcengruppen
---
-
Manage Resource Groups
+
Verwalten von Ressourcengruppen
-
In Milvus, you can use a resource group to physically isolate certain query nodes from others. This guide walks you through how to create and manage custom resource groups as well as transfer nodes between them.
-
What is a resource group
+
In Milvus können Sie eine Ressourcengruppe verwenden, um bestimmte Abfrageknoten physisch von anderen zu isolieren. Dieser Leitfaden zeigt Ihnen, wie Sie benutzerdefinierte Ressourcengruppen erstellen und verwalten sowie Knoten zwischen ihnen übertragen können.
+
Was ist eine Ressourcengruppe?
-
A resource group can hold several or all of the query nodes in a Milvus cluster. You decide how you want to allocate query nodes among resource groups based on what makes the most sense for you. For example, in a multi-collection scenario, you can allocate an appropriate number of query nodes to each resource group and load collections into different resource group, so that the operations within each collection are physically independent of those in other collections.
-
Note that a Milvus instance maintains a default resource group to hold all the query nodes at the start-up and names it __default_resource_group.
-
Starting from version 2.4.1, Milvus provides a declarative resource group API, while the old resource group API has been deprecated. The new declarative API enables users to achieve idempotency, to do secondary development in cloud-native environments easilier.
-
Concepts of resource group
+
Eine Ressourcengruppe kann mehrere oder alle Abfrageknoten in einem Milvus-Cluster enthalten. Sie entscheiden, wie Sie die Abfrageknoten zwischen den Ressourcengruppen zuweisen möchten, je nachdem, was für Sie am sinnvollsten ist. In einem Szenario mit mehreren Sammlungen können Sie zum Beispiel jeder Ressourcengruppe eine angemessene Anzahl von Abfrageknoten zuweisen und Sammlungen in verschiedene Ressourcengruppen laden, so dass die Operationen innerhalb jeder Sammlung physisch unabhängig von denen in anderen Sammlungen sind.
+
Beachten Sie, dass eine Milvus-Instanz eine Standard-Ressourcengruppe unterhält, um alle Abfrageknoten beim Start zu halten und sie __default_resource_group nennt.
+
Ab Version 2.4.1 bietet Milvus eine deklarative Ressourcengruppen-API, während die alte Ressourcengruppen-API veraltet ist. Die neue deklarative API ermöglicht es den Benutzern, Idempotenz zu erreichen, um sekundäre Entwicklung in Cloud-nativen Umgebungen einfacher zu machen.
+
Konzepte der Ressourcengruppe
-
A resource group is described by a resource group config:
+
Eine Ressourcengruppe wird durch eine Ressourcengruppenkonfiguration beschrieben:
The requests attribute specifies the conditions that a resource group must meet.
-
The limits attribute specifies the maximum limits for a resource group.
-
The transfer_from and transfer_to attributes describe from which resource groups a resource group should preferably acquire resources and to which resource groups it should transfer resources, respectively.
+
Das requests-Attribut legt die Bedingungen fest, die eine Ressourcengruppe erfüllen muss.
+
Das limits-Attribut legt die Höchstgrenzen für eine Ressourcengruppe fest.
+
Die Attribute transfer_from und transfer_to beschreiben, von welchen Ressourcengruppen eine Ressourcengruppe vorzugsweise Ressourcen beziehen bzw. an welche Ressourcengruppen sie Ressourcen übertragen soll.
-
Once the configuration of a resource group changes, the Milvus will adjust the current Query Node resources as much as possible according to the new configuration, ensuring that all resource groups eventually meet the following condition:
+
Sobald sich die Konfiguration einer Ressourcengruppe ändert, passt der Milvus die aktuellen Ressourcen des Abfrageknotens so weit wie möglich an die neue Konfiguration an, um sicherzustellen, dass alle Ressourcengruppen schließlich die folgende Bedingung erfüllen:
When the number of QueryNodes in the Milvus cluster is insufficient, i.e., NumOfQueryNode < sum(.requests.nodeNum), there will always be resource groups without enough QueryNodes.
-
When the number of QueryNodes in the Milvus cluster is excessive, i.e., NumOfQueryNode > sum(.limits.nodeNum), the redundant QueryNodes will always be placed in the __default_resource_group first.
+
Wenn die Anzahl der QueryNodes im Milvus-Cluster unzureichend ist, d. h. NumOfQueryNode < sum(.requests.nodeNum), wird es immer Ressourcengruppen ohne genügend QueryNodes geben.
+
Wenn die Anzahl der QueryNodes im Milvus-Cluster zu hoch ist, d.h. NumOfQueryNode > sum(.limits.nodeNum), werden die redundanten QueryNodes immer zuerst in der __default_resource_group platziert.
-
Of course, if the number of QueryNodes in the cluster changes, the Milvus will continuously attempt to adjust to meet the final conditions. Therefore, you can first apply the resource group configuration changes and then perform QueryNode scaling.
-
Use declarative api to manage resource group
+
Wenn sich die Anzahl der QueryNodes im Cluster ändert, wird Milvus natürlich ständig versuchen, die endgültigen Bedingungen zu erfüllen. Daher können Sie zuerst die Konfigurationsänderungen der Ressourcengruppe anwenden und dann die Skalierung der QueryNodes durchführen.
+
Verwendung der deklarativen API zur Verwaltung der Ressourcengruppe
-
All code samples on this page are in PyMilvus 2.5.0. Upgrade your PyMilvus installation before running them.
+
Alle Codebeispiele auf dieser Seite sind in PyMilvus 2.5.0. Aktualisieren Sie Ihre PyMilvus-Installation, bevor Sie sie ausführen.
-
Create a resource group.
-
To create a resource group, run the following after you connect to a Milvus instance. The following snippet assumes that default is the alias of your Milvus connection.
+
Erstellen Sie eine Ressourcengruppe.
+
Um eine Ressourcengruppe zu erstellen, führen Sie das Folgende aus, nachdem Sie sich mit einer Milvus-Instanz verbunden haben. Das folgende Snippet geht davon aus, dass default der Alias Ihrer Milvus-Verbindung ist.
import pymilvus
# A resource group name should be a string of 1 to 255 characters, starting with a letter or an underscore (_) and containing only numbers, letters, and underscores (_).
@@ -111,16 +111,16 @@ node_num = 0except Exception:
print("Failed to create the resource group.")
-
List resource groups.
-
Once you create a resource group, you can see it in the resource group list.
-
To view the list of resource groups in a Milvus instance, do as follows:
+
Ressourcengruppen auflisten.
+
Sobald Sie eine Ressourcengruppe erstellt haben, können Sie sie in der Ressourcengruppenliste sehen.
+
Um die Liste der Ressourcengruppen in einer Milvus-Instanz zu sehen, gehen Sie wie folgt vor:
rgs = utility.list_resource_groups(using='default')
print(f"Resource group list: {rgs}")
# Resource group list: ['__default_resource_group', 'rg']
-
Describe a resource group.
-
You can have Milvus describe a resource group in concern as follows:
+
Beschreiben Sie eine Ressourcengruppe.
+
Sie können Milvus eine Ressourcengruppe wie folgt beschreiben lassen:
info = utility.describe_resource_group(name, using="default")
print(f"Resource group description: {info}")
@@ -132,10 +132,8 @@ node_num = 0# <num_outgoing_node:{}>, // map[string]int, from collection_name to outgoging accessed node num by replica loaded in this rg # <num_incoming_node:{}>. // map[string]int, from collection_name to incoming accessed node num by replica loaded in other rg
-
Transfer nodes between resource groups.
-
You may notice that the described resource group does not have any query node yet. Move some nodes from the default resource group to the one you create as follows:
-Assuming there are currently 1 QueryNodes in the __default_resource_group of the cluster, and we want to transfer one node into created rg.
-update_resource_groups ensures atomicity for multiple configuration changes, so no intermediate states will be visible to Milvus.
+
Übertragen Sie Knoten zwischen Ressourcengruppen.
+
Sie werden feststellen, dass die beschriebene Ressourcengruppe noch keine Abfrageknoten hat. Verschieben Sie einige Knoten von der Standard-Ressourcengruppe in die von Ihnen erstellte wie folgt: Angenommen, es gibt derzeit 1 QueryNodes in der __default_resource_group des Clusters, und wir wollen einen Knoten in die erstellte rg übertragen.update_resource_groups gewährleistet Atomarität für mehrere Konfigurationsänderungen, so dass keine Zwischenzustände für Milvus sichtbar sind.
source = '__default_resource_group'
target = 'rg'
expected_num_nodes_in_default = 0
@@ -158,8 +156,8 @@ expected_num_nodes_in_rg = 1# After a while, succeeded in moving 1 node(s) from __default_resource_group to rg.
-
Load collections and partitions to a resource group.
-
Once there are query nodes in a resource group, you can load collections to this resource group. The following snippet assumes that a collection named demo already exists.
+
Sammlungen und Partitionen in eine Ressourcengruppe laden.
+
Sobald Abfrageknoten in einer Ressourcengruppe vorhanden sind, können Sie Sammlungen in diese Ressourcengruppe laden. Der folgende Ausschnitt geht davon aus, dass eine Sammlung namens demo bereits existiert.
Also, you can just load a partition into a resource group and have its replicas distributed among several resource groups. The following assumes that a collection named Books already exists and it has a partition named Novels.
+
Sie können auch einfach eine Partition in eine Ressourcengruppe laden und ihre Replikate auf mehrere Ressourcengruppen verteilen lassen. Im Folgenden wird davon ausgegangen, dass eine Sammlung mit dem Namen Books bereits vorhanden ist und eine Partition mit dem Namen Novels enthält.
collection = Collection("Books")
# Use the load method of a collection to load one of its partition
@@ -182,10 +180,10 @@ collection.load(["Novels"], replica_n
partition = Partition(collection, "Novels")
partition.load(replica_number=2, _resource_groups=resource_groups)
-
Note that _resource_groups is an optional parameter, and leaving it unspecified have Milvus load the replicas onto the query nodes in the default resource group.
-
To have Milus load each replica of a collection in a separate resource group, ensure that the number of resource groups equals the number of replicas.
-
Transfer replicas between resource groups.
-
Milvus uses replicas to achieve load-balancing among segments distributed across several query nodes. You can move certain replicas of a collection from one resource group to another as follows:
+
Beachten Sie, dass _resource_groups ein optionaler Parameter ist, und wenn Sie ihn nicht angeben, lädt Milvus die Replikate auf die Abfrageknoten in der Standard-Ressourcengruppe.
+
Damit Milus jedes Replikat einer Sammlung in eine eigene Ressourcengruppe lädt, stellen Sie sicher, dass die Anzahl der Ressourcengruppen gleich der Anzahl der Replikate ist.
+
Übertragen Sie Replikate zwischen Ressourcengruppen.
+
Milvus verwendet Replikate, um einen Lastausgleich zwischen Segmenten zu erreichen, die über mehrere Abfrageknoten verteilt sind. Sie können bestimmte Replikate einer Sammlung wie folgt von einer Ressourcengruppe in eine andere verschieben:
source = '__default_resource_group'
target = 'rg'
collection_name = 'c'
@@ -199,8 +197,8 @@ num_replicas = 1# Succeeded in moving 1 replica(s) of c from __default_resource_group to rg.
-
Drop a resource group.
-
You can drop a resource group that hold no query node (limits.node_num = 0) at any time. In this guide, resource group rg now has one query node. You need to change the configuration limits.node_num of resource group into zero first.
+
Verwerfen einer Ressourcengruppe.
+
Sie können eine Ressourcengruppe, die keinen Abfrageknoten enthält (limits.node_num = 0), jederzeit auflösen. In dieser Anleitung hat die Ressourcengruppe rg jetzt einen Abfrageknoten. Sie müssen zuerst die Konfiguration limits.node_num der Ressourcengruppe auf Null ändern.
try:
utility.update_resource_groups({
"rg": utility.ResourceGroupConfig(
@@ -214,8 +212,8 @@ num_replicas = 1print(f"Something went wrong while dropping {source}.")
Currently, Milvus cannot independently scale in and out in cloud-native environments. However, by using the Declarative Resource Group API in conjunction with container orchestration, Milvus can easily achieve resource isolation and management for QueryNodes.
-Here is a good practice for managing QueryNodes in a cloud environment:
+
Derzeit kann Milvus in Cloud-nativen Umgebungen nicht unabhängig ein- und ausskaliert werden. Durch die Verwendung der deklarativen Ressourcengruppen-API in Verbindung mit der Container-Orchestrierung kann Milvus jedoch auf einfache Weise eine Ressourcenisolierung und -verwaltung für QueryNodes erreichen. Hier ist eine gute Praxis für die Verwaltung von QueryNodes in einer Cloud-Umgebung:
-
By default, Milvus creates a __default_resource_group. This resource group cannot be deleted and also serves as the default loading resource group for all collections and redundant QueryNodes are always assigned to it. Therefore, we can create a pending resource group to hold unusing QueryNode resources, preventing QueryNode resources from being occupied by the __default_resource_group.
-
Additionally, if we strictly enforce the constraint sum(.requests.nodeNum) <= queryNodeNum, we can precisely control the assignment of QueryNodes in the cluster. Let’s assume there is currently only one QueryNode in the cluster and initialize the cluster.
-Here is an example setup:
+
Standardmäßig erstellt Milvus eine __default_resource_group. Diese Ressourcengruppe kann nicht gelöscht werden und dient auch als Standard-Laderessourcengruppe für alle Sammlungen, und redundante QueryNodes werden ihr immer zugewiesen. Daher können wir eine schwebende Ressourcengruppe erstellen, die unbenutzte QueryNode-Ressourcen aufnimmt und verhindert, dass QueryNode-Ressourcen von der __default_resource_group belegt werden.
+
Wenn wir außerdem die Einschränkung sum(.requests.nodeNum) <= queryNodeNum strikt durchsetzen, können wir die Zuweisung von QueryNodes im Cluster genau kontrollieren. Nehmen wir an, dass es derzeit nur einen QueryNode im Cluster gibt und initialisieren wir den Cluster. Hier ist ein Beispiel-Setup:
from pymilvus import utility
from pymilvus.client.types import ResourceGroupConfig
@@ -272,15 +268,15 @@ _PENDING_NODES_RESOURCE_GROUP="__pending_nodes&qu
init_cluster(1)
-
Using the example code above, we create a resource group named __pending_nodes to hold additional QueryNodes. We also create two user-specific Resource Groups named rg1 and rg2. Additionally, we ensure that the other resource group prioritizes recovering missing or redundant QueryNodes from __pending_nodes.
-
Cluster scale out
-
Assuming we have the following scaling function:
+
Unter Verwendung des obigen Beispielcodes erstellen wir eine Ressourcengruppe namens __pending_nodes, um weitere QueryNodes aufzunehmen. Außerdem erstellen wir zwei benutzerspezifische Ressourcengruppen mit den Namen rg1 und rg2. Außerdem stellen wir sicher, dass die andere Ressourcengruppe der Wiederherstellung fehlender oder redundanter QueryNodes aus __pending_nodes Priorität einräumt.
+
Skalierung des Clusters
+
Angenommen, wir haben die folgende Skalierungsfunktion:
defscale_to(node_num: int):
# scale the querynode number in Milvus into node_num.pass
-
We can use the API to scale a specific resource group to a designated number of QueryNodes without affecting any other resource groups.
+
Wir können die API verwenden, um eine bestimmte Ressourcengruppe auf eine bestimmte Anzahl von Abfrageknoten zu skalieren, ohne andere Ressourcengruppen zu beeinträchtigen.
# scale rg1 into 3 nodes, rg2 into 1 nodes
utility.update_resource_groups({
"rg1": ResourceGroupConfig(
@@ -299,8 +295,8 @@ utility.update_resource_groups({
scale_to(5)
# rg1 has 3 nodes, rg2 has 1 node, __default_resource_group has 1 node.
-
Cluster scale in
-
Similarly, we can establish scaling-in rules that prioritize selecting QueryNodes from __pending_nodes resource group. This information can be obtained through the describe_resource_group API. Achieving the goal of scaling-in specified resource group.
+
Cluster skalieren in
+
In ähnlicher Weise können wir Regeln für die Skalierung festlegen, die die Auswahl von QueryNodes aus der Ressourcengruppe __pending_nodes priorisieren. Diese Informationen können über die describe_resource_group API abgerufen werden. Erreichen des Ziels der Skalierung in einer bestimmten Ressourcengruppe.
# scale rg1 from 3 nodes into 2 nodes
utility.update_resource_groups({
"rg1": ResourceGroupConfig(
@@ -316,7 +312,7 @@ scale_to(4)
# scale the node in __pending_nodes
-
How resource groups interacts with multiple replicas
+
Wie Ressourcengruppen mit mehreren Replikaten interagieren4)
>
-
The replicas of a single collection and resource groups have an N-to-N relationship.
-
When multiple replicas of a single collection are loaded into the one resource group, the QueryNodes of that resource group are evenly distributed among the replicas, ensuring that the difference in the number of QueryNodes each replica has does not exceed 1.
+
Die Replikate einer einzelnen Sammlung und Ressourcengruppen stehen in einer N-zu-N-Beziehung.
+
Wenn mehrere Replikate einer einzelnen Sammlung in eine Ressourcengruppe geladen werden, werden die QueryNodes dieser Ressourcengruppe gleichmäßig auf die Replikate verteilt, um sicherzustellen, dass der Unterschied in der Anzahl der QueryNodes jedes Replikats 1 nicht überschreitet.
Milvus relies on various dependencies such as MinIO, Kafka, Pulsar, and etcd. Scaling these components can enhance Milvus’s adaptability to different requirements.
+
Milvus stützt sich auf verschiedene Abhängigkeiten wie MinIO, Kafka, Pulsar und etcd. Die Skalierung dieser Komponenten kann die Anpassungsfähigkeit von Milvus an unterschiedliche Anforderungen verbessern.
You can also increase the disk capacity for the MioIO cluster by manually changing the value of spec.resources.requests.storage for each MioIO Persistent Volume Claim (PVC). Note that your default storage class should allow volume expansion.
-
Add an extra MinIO server pool (Recommended)
You are advised to add an extra MioIO server pool for your Milvus instance.
+
Sie können auch die Festplattenkapazität für den MioIO-Cluster erhöhen, indem Sie den Wert von spec.resources.requests.storage für jeden MioIO Persistent Volume Claim (PVC) manuell ändern. Beachten Sie, dass Ihre Standardspeicherklasse eine Volume-Erweiterung ermöglichen sollte.
+
Fügen Sie einen zusätzlichen MinIO-Serverpool hinzu (empfohlen)
Wir empfehlen Ihnen, einen zusätzlichen MioIO-Server-Pool für Ihre Milvus-Instanz hinzuzufügen.
# new-values.yam;
minio:
zones: 2
-
After saving the file, apply the changes with the following command:
+
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
This adds an additional server pool to your MinIO cluster, allowing Milvus to write to the MinIO server pool based on the free disk capacity of each server pool. For example, if a group of three pools has a total of 10 TiB free space distributed across the pools as follows:
+
Dadurch wird Ihrem MinIO-Cluster ein zusätzlicher Serverpool hinzugefügt, der es Milvus ermöglicht, auf der Grundlage der freien Festplattenkapazität jedes Serverpools in den MinIO-Serverpool zu schreiben. Wenn beispielsweise eine Gruppe von drei Pools über insgesamt 10 TiB freien Speicherplatz verfügt, der sich wie folgt auf die Pools verteilt:
-
Free space
Write possibility
+
Freier Speicherplatz
Schreibmöglichkeit
Pool A
3 TiB
30% (3/10)
@@ -68,7 +68,7 @@ minio:
-
MinIO does not automatically rebalance objects across new server pools. You can manually initiate a rebalance procedure with mc admin rebalance if needed.
+
MinIO nimmt keine automatische Neuverteilung von Objekten auf neue Serverpools vor. Sie können bei Bedarf manuell einen Rebalance-Vorgang mit mc admin rebalance initiieren.
Kafka
-
Increase resource per Kafka broker pod
Enhance the Kafka broker capacity by adjusting the CPU and memory resources for each broker pod.
+
Erhöhung der Ressourcen pro Kafka-Broker-Pod
Erhöhen Sie die Kapazität des Kafka-Brokers, indem Sie die CPU- und Speicherressourcen für jeden Broker-Pod anpassen.
You can also increase the disk capacity for the Kafka cluster by manually changing the value of spec.resources.requests.storage for each Kafka Persistent Volume Claim (PVC). Ensure your default storage class allows volume expansion.
-
Add an extra Kafka broker pool (Recommended)
+
Sie können auch die Festplattenkapazität für den Kafka-Cluster erhöhen, indem Sie den Wert von spec.resources.requests.storage für jeden Kafka Persistent Volume Claim (PVC) manuell ändern. Stellen Sie sicher, dass Ihre Standardspeicherklasse eine Volume-Erweiterung zulässt.
+
Fügen Sie einen zusätzlichen Kafka-Broker-Pool hinzu (empfohlen)
-
You are advised to add an extra Kafka server pool for your Milvus instance.
+
Wir empfehlen Ihnen, einen zusätzlichen Kafka-Server-Pool für Ihre Milvus-Instanz hinzuzufügen.
# new-values.yaml
kafka:
replicaCount: 4
-
After saving the file, apply the changes with the following command:
+
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
This will add an extra broker to your Kafka cluster.
+
Dadurch wird Ihrem Kafka-Cluster ein zusätzlicher Broker hinzugefügt.
-
Kafka does not automatically rebalance topics across all brokers. Manually rebalance topics/partitions across all Kafka brokers using bin/kafka-reassign-partitions.sh after logging into each Kafka broker pod if needed.
+
Kafka gleicht die Themen nicht automatisch zwischen allen Brokern aus. Verteilen Sie Themen/Partitionen manuell auf alle Kafka-Broker, indem Sie bin/kafka-reassign-partitions.sh verwenden, nachdem Sie sich bei jedem Kafka-Broker-Pod angemeldet haben, falls erforderlich.
Pulsar
-
Pulsar separates computation and storage. You can independently increase the capacity of Pulsar brokers (computation) and Pulsar bookies (storage).
-
Increase resources per Pulsar broker pod
+
Pulsar trennt Berechnungen und Speicher. Sie können die Kapazität von Pulsar-Brokern (Berechnungen) und Pulsar-Bookies (Speicher) unabhängig voneinander erhöhen.
+
Erhöhung der Ressourcen pro Pulsar-Broker-Pod4
memory: 16Gi
-
After saving the file, apply the changes with the following command:
+
Nachdem Sie die Datei gespeichert haben, wenden Sie die Änderungen mit dem folgenden Befehl an:
You can also increase the disk capacity for the Pulsar cluster by manually changing the value of spec.resources.requests.storage for each Pulsar bookie’s Persistent Volume Claim (PVC). Note that your default storage class should allow volume expansion.
-
A Pulsar bookie pod has two types of storage: journal and legers. For the journal type of storage, consider using ssd or gp3 as the storage class. Here’s an example to specify storageclass for pulsar journal.
+
Sie können die Festplattenkapazität für den Pulsar-Cluster auch erhöhen, indem Sie den Wert von spec.resources.requests.storage für den Persistent Volume Claim (PVC) jedes Pulsar-Bookies manuell ändern. Beachten Sie, dass Ihre Standardspeicherklasse eine Volume-Erweiterung zulassen sollte.
+
Ein Pulsar-Bookie-Pod hat zwei Arten von Speicher: journal und legers. Für den Speichertyp journal sollten Sie ssd oder gp3 als Speicherklasse verwenden. Hier ist ein Beispiel für die Angabe der Speicherklasse für Pulsar Journal.
Milvus supports horizontal scaling of its components. This means you can either increase or decrease the number of worker nodes of each type according to your own need.
-
This topic describes how to scale out and scale in a Milvus cluster. We assume that you have already installed a Milvus cluster before scaling. Also, we recommend familiarizing yourself with the Milvus architecture before you begin.
-
This tutorial takes scaling out three query nodes as an example. To scale out other types of nodes, replace queryNode with the corresponding node type in the command line.
+
Milvus unterstützt die horizontale Skalierung seiner Komponenten. Das bedeutet, dass Sie die Anzahl der Worker Nodes jedes Typs je nach Bedarf erhöhen oder verringern können.
+
Dieses Thema beschreibt, wie Sie einen Milvus-Cluster skalieren und verkleinern können. Wir gehen davon aus, dass Sie vor der Skalierung bereits einen Milvus-Cluster installiert haben. Außerdem empfehlen wir Ihnen, sich mit der Milvus-Architektur vertraut zu machen, bevor Sie beginnen.
+
In diesem Tutorial wird die Skalierung von drei Abfrageknoten als Beispiel verwendet. Um andere Knotentypen zu skalieren, ersetzen Sie queryNode durch den entsprechenden Knotentyp in der Befehlszeile.
Horizontal scaling includes scaling out and scaling in.
-
Scaling out
Scaling out refers to increasing the number of nodes in a cluster. Unlike scaling up, scaling out does not require you to allocate more resources to one node in the cluster. Instead, scaling out expands the cluster horizontally by adding more nodes.
+
Die horizontale Skalierung umfasst die Skalierung nach außen und die Skalierung nach innen.
+
Skalierung nach außen
Unter Skalierung nach außen versteht man die Erhöhung der Anzahl der Knoten in einem Cluster. Anders als bei der Skalierung nach oben müssen Sie bei der Skalierung nach außen nicht einem Knoten im Cluster mehr Ressourcen zuweisen. Stattdessen wird der Cluster durch das Hinzufügen weiterer Knoten horizontal erweitert.
-
-
- Scaleout
-
-
+
+
+ Skalierung
-
-
- Scaleup
-
-
-
According to the Milvus architecture, stateless worker nodes include query node, data node, index node, and proxy. Therefore, you can scale out these type of nodes to suit your business needs and application scenarios. You can either scale out the Milvus cluster manually or automatically.
-
Generally, you will need to scale out the Milvus cluster you created if it is over-utilized. Below are some typical situations where you may need to scale out the Milvus cluster:
+
+
+ Hochskalieren
+
Gemäß der Milvus-Architektur umfassen die zustandslosen Arbeitsknoten Abfrageknoten, Datenknoten, Indexknoten und Proxy. Daher können Sie diese Art von Knoten entsprechend Ihren Geschäftsanforderungen und Anwendungsszenarien ausbauen. Sie können den Milvus-Cluster entweder manuell oder automatisch skalieren.
+
Im Allgemeinen müssen Sie den Milvus-Cluster, den Sie erstellt haben, skalieren, wenn er übermäßig ausgelastet ist. Nachfolgend sind einige typische Situationen aufgeführt, in denen Sie den Milvus-Cluster ausbauen müssen:
-
The CPU and memory utilization is high for a period of time.
-
The query throughput becomes higher.
-
Higher speed for indexing is required.
-
Massive volumes of large datasets need to be processed.
-
High availability of the Milvus service needs to be ensured.
+
Die CPU- und Speicherauslastung ist über einen bestimmten Zeitraum hinweg hoch.
+
Der Abfragedurchsatz wird höher.
+
Eine höhere Geschwindigkeit für die Indizierung ist erforderlich.
+
Massive Mengen an großen Datensätzen müssen verarbeitet werden.
+
Eine hohe Verfügbarkeit des Milvus-Dienstes muss gewährleistet sein.
-
Scaling in
Scaling in refers to decreasing the number of nodes in a cluster. Generally, you will need to scale in the Milvus cluster you created if it is under-utilized. Below are some typical situations where you need to scale in the Milvus cluster:
+
Skalierung nach innen
Unter Skalierung versteht man die Verringerung der Anzahl der Knoten in einem Cluster. Im Allgemeinen müssen Sie den von Ihnen erstellten Milvus-Cluster skalieren, wenn er nicht ausgelastet ist. Im Folgenden sind einige typische Situationen aufgeführt, in denen Sie den Milvus-Cluster skalieren müssen:
-
The CPU and memory utilization is low for a period of time.
-
The query throughput becomes lower.
-
Higher speed for indexing is not required.
-
The size of the dataset to be processed is small.
+
Die CPU- und Speicherauslastung ist über einen bestimmten Zeitraum hinweg niedrig.
+
Der Abfragedurchsatz wird geringer.
+
Eine höhere Geschwindigkeit für die Indizierung ist nicht erforderlich.
+
Die Größe des zu verarbeitenden Datensatzes ist gering.
-We do not recommend reducing the number of workers nodes dramatically. For example, if there are five data nodes in the cluster, we recommend reducing one data node at a time to ensure service availability. If the service is available after the first attempt of scaling in, you can continue to further reduce the number of the data node.
-
-
Prerequisites
+Es wird nicht empfohlen, die Anzahl der Worker-Knoten drastisch zu reduzieren. Wenn beispielsweise fünf Datenknoten im Cluster vorhanden sind, empfehlen wir, jeweils einen Datenknoten zu reduzieren, um die Verfügbarkeit des Dienstes sicherzustellen. Wenn der Dienst nach dem ersten Versuch der Skalierung verfügbar ist, können Sie die Anzahl der Datenknoten weiter reduzieren.
+
Voraussetzungen
-
Run kubectl get pods to get a list of the components and their working status in the Milvus cluster you created.
+
Führen Sie kubectl get pods aus, um eine Liste der Komponenten und ihres Arbeitsstatus in dem von Ihnen erstellten Milvus-Cluster zu erhalten.
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 1m
my-release-milvus-datacoord-7b5d84d8c6-rzjml 1/1 Running 0 1m
@@ -105,9 +100,8 @@ my-release-milvus-rootcoord-75585dc57b-cjh87 1/1 Running 0
my-release-minio-5564fbbddc-9sbgv 1/1 Running 0 1m
-Milvus only supports adding the worker nodes and does not support adding the coordinator components.
-
-
Scale a Milvus cluster
+Milvus unterstützt nur das Hinzufügen der Worker Nodes, nicht aber das Hinzufügen der Coordinator-Komponenten.
+
Skalieren eines Milvus-Clusters
-
You can scale in your Milvus cluster either manually or automatically. If autoscaling is enabled, the Milvus cluster will shrink or expand automatically when CPU and memory resources consumption reaches the value you have set.
-
Currently, Milvus 2.1.0 only supports scaling in and out manually.
-
Scaling out
Run helm upgrade my-release milvus/milvus --set queryNode.replicas=3 --reuse-values to manually scale out the query node.
-
If successful, three running pods on the query node are added as shown in the following example.
+
Sie können Ihren Milvus-Cluster entweder manuell oder automatisch skalieren. Wenn die automatische Skalierung aktiviert ist, wird der Milvus-Cluster automatisch verkleinert oder vergrößert, wenn der Verbrauch von CPU- und Speicherressourcen den von Ihnen festgelegten Wert erreicht.
+
Derzeit unterstützt Milvus 2.1.0 nur die manuelle Ein- und Auslagerung.
+
Verkleinern
Führen Sie helm upgrade my-release milvus/milvus --set queryNode.replicas=3 --reuse-values aus, um den Abfrageknoten manuell zu verkleinern.
+
Wenn dies erfolgreich ist, werden drei laufende Pods auf dem Abfrageknoten hinzugefügt, wie im folgenden Beispiel gezeigt.
diff --git a/localization/v2.5.x/site/de/adminGuide/tls.json b/localization/v2.5.x/site/de/adminGuide/tls.json
index be4777934..5ab4dc0f5 100644
--- a/localization/v2.5.x/site/de/adminGuide/tls.json
+++ b/localization/v2.5.x/site/de/adminGuide/tls.json
@@ -1 +1 @@
-{"codeList":["openssl version\n","sudo apt install openssl\n","mkdir cert && cd cert\ntouch openssl.cnf gen.sh\n","#\n# OpenSSL example configuration file.\n# This is mostly being used for generation of certificate requests.\n#\n\n# This definition stops the following lines choking if HOME isn't\n# defined.\nHOME = .\nRANDFILE = $ENV::HOME/.rnd\n\n# Extra OBJECT IDENTIFIER info:\n#oid_file = $ENV::HOME/.oid\noid_section = new_oids\n\n# To use this configuration file with the \"-extfile\" option of the\n# \"openssl x509\" utility, name here the section containing the\n# X.509v3 extensions to use:\n# extensions = \n# (Alternatively, use a configuration file that has only\n# X.509v3 extensions in its main [= default] section.)\n\n[ new_oids ]\n\n# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.\n# Add a simple OID like this:\n# testoid1=1.2.3.4\n# Or use config file substitution like this:\n# testoid2=${testoid1}.5.6\n\n# Policies used by the TSA examples.\ntsa_policy1 = 1.2.3.4.1\ntsa_policy2 = 1.2.3.4.5.6\ntsa_policy3 = 1.2.3.4.5.7\n\n####################################################################\n[ ca ]\ndefault_ca = CA_default # The default ca section\n\n####################################################################\n[ CA_default ]\n\ndir = ./demoCA # Where everything is kept\ncerts = $dir/certs # Where the issued certs are kept\ncrl_dir = $dir/crl # Where the issued crl are kept\ndatabase = $dir/index.txt # database index file.\n#unique_subject = no # Set to 'no' to allow creation of\n # several ctificates with same subject.\nnew_certs_dir = $dir/newcerts # default place for new certs.\n\ncertificate = $dir/cacert.pem # The CA certificate\nserial = $dir/serial # The current serial number\ncrlnumber = $dir/crlnumber # the current crl number\n # must be commented out to leave a V1 CRL\ncrl = $dir/crl.pem # The current CRL\nprivate_key = $dir/private/cakey.pem# The private key\nRANDFILE = $dir/private/.rand # private random number file\n\nx509_extensions = usr_cert # The extentions to add to the cert\n\n# Comment out the following two lines for the \"traditional\"\n# (and highly broken) format.\nname_opt = ca_default # Subject Name options\ncert_opt = ca_default # Certificate field options\n\n# Extension copying option: use with caution.\ncopy_extensions = copy\n\n# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs\n# so this is commented out by default to leave a V1 CRL.\n# crlnumber must also be commented out to leave a V1 CRL.\n# crl_extensions = crl_ext\n\ndefault_days = 365 # how long to certify for\ndefault_crl_days= 30 # how long before next CRL\ndefault_md = default # use public key default MD\npreserve = no # keep passed DN ordering\n\n# A few difference way of specifying how similar the request should look\n# For type CA, the listed attributes must be the same, and the optional\n# and supplied fields are just that :-)\npolicy = policy_match\n\n# For the CA policy\n[ policy_match ]\ncountryName = match\nstateOrProvinceName = match\norganizationName = match\norganizationalUnitName = optional\ncommonName = supplied\nemailAddress = optional\n\n# For the 'anything' policy\n# At this point in time, you must list all acceptable 'object'\n# types.\n[ policy_anything ]\ncountryName = optional\nstateOrProvinceName = optional\nlocalityName = optional\norganizationName = optional\norganizationalUnitName = optional\ncommonName = supplied\nemailAddress = optional\n\n####################################################################\n[ req ]\ndefault_bits = 2048\ndefault_keyfile = privkey.pem\ndistinguished_name = req_distinguished_name\nattributes = req_attributes\nx509_extensions = v3_ca # The extentions to add to the self signed cert\n\n# Passwords for private keys if not present they will be prompted for\n# input_password = secret\n# output_password = secret\n\n# This sets a mask for permitted string types. There are several options. \n# default: PrintableString, T61String, BMPString.\n# pkix : PrintableString, BMPString (PKIX recommendation before 2004)\n# utf8only: only UTF8Strings (PKIX recommendation after 2004).\n# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).\n# MASK:XXXX a literal mask value.\n# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.\nstring_mask = utf8only\n\nreq_extensions = v3_req # The extensions to add to a certificate request\n\n[ req_distinguished_name ]\ncountryName = Country Name (2 letter code)\ncountryName_default = AU\ncountryName_min = 2\ncountryName_max = 2\n\nstateOrProvinceName = State or Province Name (full name)\nstateOrProvinceName_default = Some-State\n\nlocalityName = Locality Name (eg, city)\n\n0.organizationName = Organization Name (eg, company)\n0.organizationName_default = Internet Widgits Pty Ltd\n\n# we can do this but it is not needed normally :-)\n#1.organizationName = Second Organization Name (eg, company)\n#1.organizationName_default = World Wide Web Pty Ltd\n\norganizationalUnitName = Organizational Unit Name (eg, section)\n#organizationalUnitName_default =\n\ncommonName = Common Name (e.g. server FQDN or YOUR name)\ncommonName_max = 64\n\nemailAddress = Email Address\nemailAddress_max = 64\n\n# SET-ex3 = SET extension number 3\n\n[ req_attributes ]\nchallengePassword = A challenge password\nchallengePassword_min = 4\nchallengePassword_max = 20\n\nunstructuredName = An optional company name\n\n[ usr_cert ]\n\n# These extensions are added when 'ca' signs a request.\n\n# This goes against PKIX guidelines but some CAs do it and some software\n# requires this to avoid interpreting an end user certificate as a CA.\n\nbasicConstraints=CA:FALSE\n\n# Here are some examples of the usage of nsCertType. If it is omitted\n# the certificate can be used for anything *except* object signing.\n\n# This is OK for an SSL server.\n# nsCertType = server\n\n# For an object signing certificate this would be used.\n# nsCertType = objsign\n\n# For normal client use this is typical\n# nsCertType = client, email\n\n# and for everything including object signing:\n# nsCertType = client, email, objsign\n\n# This is typical in keyUsage for a client certificate.\n# keyUsage = nonRepudiation, digitalSignature, keyEncipherment\n\n# This will be displayed in Netscape's comment listbox.\nnsComment = \"OpenSSL Generated Certificate\"\n\n# PKIX recommendations harmless if included in all certificates.\nsubjectKeyIdentifier=hash\nauthorityKeyIdentifier=keyid,issuer\n\n# This stuff is for subjectAltName and issuerAltname.\n# Import the email address.\n# subjectAltName=email:copy\n# An alternative to produce certificates that aren't\n# deprecated according to PKIX.\n# subjectAltName=email:move\n\n# Copy subject details\n# issuerAltName=issuer:copy\n\n#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem\n#nsBaseUrl\n#nsRevocationUrl\n#nsRenewalUrl\n#nsCaPolicyUrl\n#nsSslServerName\n\n# This is required for TSA certificates.\n# extendedKeyUsage = critical,timeStamping\n\n[ v3_req ]\n\n# Extensions to add to a certificate request\n\nbasicConstraints = CA:FALSE\nkeyUsage = nonRepudiation, digitalSignature, keyEncipherment\n\n\n[ v3_ca ]\n\n\n# Extensions for a typical CA\n\n\n# PKIX recommendation.\n\nsubjectKeyIdentifier=hash\n\nauthorityKeyIdentifier=keyid:always,issuer\n\n# This is what PKIX recommends but some broken software chokes on critical\n# extensions.\n#basicConstraints = critical,CA:true\n# So we do this instead.\nbasicConstraints = CA:true\n\n# Key usage: this is typical for a CA certificate. However since it will\n# prevent it being used as an test self-signed certificate it is best\n# left out by default.\n# keyUsage = cRLSign, keyCertSign\n\n# Some might want this also\n# nsCertType = sslCA, emailCA\n\n# Include email address in subject alt name: another PKIX recommendation\n# subjectAltName=email:copy\n# Copy issuer details\n# issuerAltName=issuer:copy\n\n# DER hex encoding of an extension: beware experts only!\n# obj=DER:02:03\n# Where 'obj' is a standard or added object\n# You can even override a supported extension:\n# basicConstraints= critical, DER:30:03:01:01:FF\n\n[ crl_ext ]\n\n# CRL extensions.\n# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.\n\n# issuerAltName=issuer:copy\nauthorityKeyIdentifier=keyid:always\n\n[ proxy_cert_ext ]\n# These extensions should be added when creating a proxy certificate\n\n# This goes against PKIX guidelines but some CAs do it and some software\n# requires this to avoid interpreting an end user certificate as a CA.\n\nbasicConstraints=CA:FALSE\n\n# Here are some examples of the usage of nsCertType. If it is omitted\n# the certificate can be used for anything *except* object signing.\n\n# This is OK for an SSL server.\n# nsCertType = server\n\n# For an object signing certificate this would be used.\n# nsCertType = objsign\n\n# For normal client use this is typical\n# nsCertType = client, email\n\n# and for everything including object signing:\n# nsCertType = client, email, objsign\n\n# This is typical in keyUsage for a client certificate.\n# keyUsage = nonRepudiation, digitalSignature, keyEncipherment\n\n# This will be displayed in Netscape's comment listbox.\nnsComment = \"OpenSSL Generated Certificate\"\n\n# PKIX recommendations harmless if included in all certificates.\nsubjectKeyIdentifier=hash\nauthorityKeyIdentifier=keyid,issuer\n\n# This stuff is for subjectAltName and issuerAltname.\n# Import the email address.\n# subjectAltName=email:copy\n# An alternative to produce certificates that aren't\n# deprecated according to PKIX.\n# subjectAltName=email:move\n\n# Copy subject details\n# issuerAltName=issuer:copy\n\n#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem\n#nsBaseUrl\n#nsRevocationUrl\n#nsRenewalUrl\n#nsCaPolicyUrl\n#nsSslServerName\n\n# This really needs to be in place for it to be a proxy certificate.\nproxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo\n\n####################################################################\n[ tsa ]\n\ndefault_tsa = tsa_config1 # the default TSA section\n\n[ tsa_config1 ]\n\n# These are used by the TSA reply generation only.\ndir = ./demoCA # TSA root directory\nserial = $dir/tsaserial # The current serial number (mandatory)\ncrypto_device = builtin # OpenSSL engine to use for signing\nsigner_cert = $dir/tsacert.pem # The TSA signing certificate\n # (optional)\ncerts = $dir/cacert.pem # Certificate chain to include in reply\n # (optional)\nsigner_key = $dir/private/tsakey.pem # The TSA private key (optional)\n\ndefault_policy = tsa_policy1 # Policy if request did not specify it\n # (optional)\nother_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)\ndigests = md5, sha1 # Acceptable message digests (mandatory)\naccuracy = secs:1, millisecs:500, microsecs:100 # (optional)\nclock_precision_digits = 0 # number of digits after dot. (optional)\nordering = yes # Is ordering defined for timestamps?\n # (optional, default: no)\ntsa_name = yes # Must the TSA name be included in the reply?\n # (optional, default: no)\ness_cert_id_chain = no # Must the ESS cert id chain be included?\n # (optional, default: no)\n","#!/usr/bin/env sh\n# your variables\nCountry=\"CN\"\nState=\"Shanghai\"\nLocation=\"Shanghai\"\nOrganization=\"milvus\"\nOrganizational=\"milvus\"\nCommonName=\"localhost\"\n\necho \"generate ca.key\"\nopenssl genrsa -out ca.key 2048\n\necho \"generate ca.pem\"\nopenssl req -new -x509 -key ca.key -out ca.pem -days 3650 -subj \"/C=$Country/ST=$State/L=$Location/O=$Organization/OU=$Organizational/CN=$CommonName\"\n\necho \"generate server SAN certificate\"\nopenssl genpkey -algorithm RSA -out server.key\nopenssl req -new -nodes -key server.key -out server.csr -days 3650 -subj \"/C=$Country/O=$Organization/OU=$Organizational/CN=$CommonName\" -config ./openssl.cnf -extensions v3_req\nopenssl x509 -req -days 3650 -in server.csr -out server.pem -CA ca.pem -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req\n\necho \"generate client SAN certificate\"\nopenssl genpkey -algorithm RSA -out client.key\nopenssl req -new -nodes -key client.key -out client.csr -days 3650 -subj \"/C=$Country/O=$Organization/OU=$Organizational/CN=$CommonName\" -config ./openssl.cnf -extensions v3_req\nopenssl x509 -req -days 3650 -in client.csr -out client.pem -CA ca.pem -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req\n\n","chmod +x gen.sh\n./gen.sh\n","openssl genpkey -algorithm RSA -out ca.key\n","openssl req -new -x509 -key ca.key -out ca.pem -days 3650 -subj \"/C=$Country/ST=$State/L=$Location/O=$Organization/OU=$Organizational/CN=$CommonName\"\n","openssl genpkey -algorithm RSA -out server.key\n","openssl req -new -nodes -key server.key -out server.csr -days 3650 -subj \"/C=$Country/O=$Organization/OU=$Organizational/CN=$CommonName\" -config ./openssl.cnf -extensions v3_req\n","openssl x509 -req -days 3650 -in server.csr -out server.pem -CA ca.pem -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req\n","tls:\n serverPemPath: /milvus/tls/server.pem\n serverKeyPath: /milvus/tls/server.key\n caPemPath: /milvus/tls/ca.pem\n\ncommon:\n security:\n tlsMode: 1\n","├── docker-compose.yml\n├── milvus.yaml\n└── tls\n ├── server.pem\n ├── server.key\n └── ca.pem\n"," standalone:\n container_name: milvus-standalone\n image: milvusdb/milvus:latest\n command: [\"milvus\", \"run\", \"standalone\"]\n security_opt:\n - seccomp:unconfined\n environment:\n ETCD_ENDPOINTS: etcd:2379\n MINIO_ADDRESS: minio:9000\n volumes:\n - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus\n - ${DOCKER_VOLUME_DIRECTORY:-.}/tls:/milvus/tls\n - ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml\n","sudo docker compose up -d\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri=\"https://localhost:19530\",\n secure=True,\n server_pem_path=\"path_to/server.pem\",\n server_name=\"localhost\"\n)\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri=\"https://localhost:19530\",\n secure=True,\n client_pem_path=\"path_to/client.pem\",\n client_key_path=\"path_to/client.key\",\n ca_pem_path=\"path_to/ca.pem\",\n server_name=\"localhost\"\n)\n","curl --cacert path_to/ca.pem https://localhost:19530/v2/vectordb/collections/list\n","curl --cert path_to/client.pem --key path_to/client.key --cacert path_to/ca.pem https://localhost:19530/v2/vectordb/collections/list\n"],"headingContent":"Encryption in Transit","anchorList":[{"label":"Encryption in Transit","href":"Encryption-in-Transit","type":1,"isActive":false},{"label":"Create your own certificate","href":"Create-your-own-certificate","type":2,"isActive":false},{"label":"Set up a Milvus server with TLS","href":"Set-up-a-Milvus-server-with-TLS","type":2,"isActive":false},{"label":"Connect to the Milvus server with TLS","href":"Connect-to-the-Milvus-server-with-TLS","type":2,"isActive":false},{"label":"Connect to the Milvus RESTful server with TLS","href":"Connect-to-the-Milvus-RESTful-server-with-TLS","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["openssl version\n","sudo apt install openssl\n","mkdir cert && cd cert\ntouch openssl.cnf gen.sh\n","#\n# OpenSSL example configuration file.\n# This is mostly being used for generation of certificate requests.\n#\n\n# This definition stops the following lines choking if HOME isn't\n# defined.\nHOME = .\nRANDFILE = $ENV::HOME/.rnd\n\n# Extra OBJECT IDENTIFIER info:\n#oid_file = $ENV::HOME/.oid\noid_section = new_oids\n\n# To use this configuration file with the \"-extfile\" option of the\n# \"openssl x509\" utility, name here the section containing the\n# X.509v3 extensions to use:\n# extensions = \n# (Alternatively, use a configuration file that has only\n# X.509v3 extensions in its main [= default] section.)\n\n[ new_oids ]\n\n# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.\n# Add a simple OID like this:\n# testoid1=1.2.3.4\n# Or use config file substitution like this:\n# testoid2=${testoid1}.5.6\n\n# Policies used by the TSA examples.\ntsa_policy1 = 1.2.3.4.1\ntsa_policy2 = 1.2.3.4.5.6\ntsa_policy3 = 1.2.3.4.5.7\n\n####################################################################\n[ ca ]\ndefault_ca = CA_default # The default ca section\n\n####################################################################\n[ CA_default ]\n\ndir = ./demoCA # Where everything is kept\ncerts = $dir/certs # Where the issued certs are kept\ncrl_dir = $dir/crl # Where the issued crl are kept\ndatabase = $dir/index.txt # database index file.\n#unique_subject = no # Set to 'no' to allow creation of\n # several ctificates with same subject.\nnew_certs_dir = $dir/newcerts # default place for new certs.\n\ncertificate = $dir/cacert.pem # The CA certificate\nserial = $dir/serial # The current serial number\ncrlnumber = $dir/crlnumber # the current crl number\n # must be commented out to leave a V1 CRL\ncrl = $dir/crl.pem # The current CRL\nprivate_key = $dir/private/cakey.pem# The private key\nRANDFILE = $dir/private/.rand # private random number file\n\nx509_extensions = usr_cert # The extentions to add to the cert\n\n# Comment out the following two lines for the \"traditional\"\n# (and highly broken) format.\nname_opt = ca_default # Subject Name options\ncert_opt = ca_default # Certificate field options\n\n# Extension copying option: use with caution.\ncopy_extensions = copy\n\n# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs\n# so this is commented out by default to leave a V1 CRL.\n# crlnumber must also be commented out to leave a V1 CRL.\n# crl_extensions = crl_ext\n\ndefault_days = 365 # how long to certify for\ndefault_crl_days= 30 # how long before next CRL\ndefault_md = default # use public key default MD\npreserve = no # keep passed DN ordering\n\n# A few difference way of specifying how similar the request should look\n# For type CA, the listed attributes must be the same, and the optional\n# and supplied fields are just that :-)\npolicy = policy_match\n\n# For the CA policy\n[ policy_match ]\ncountryName = match\nstateOrProvinceName = match\norganizationName = match\norganizationalUnitName = optional\ncommonName = supplied\nemailAddress = optional\n\n# For the 'anything' policy\n# At this point in time, you must list all acceptable 'object'\n# types.\n[ policy_anything ]\ncountryName = optional\nstateOrProvinceName = optional\nlocalityName = optional\norganizationName = optional\norganizationalUnitName = optional\ncommonName = supplied\nemailAddress = optional\n\n####################################################################\n[ req ]\ndefault_bits = 2048\ndefault_keyfile = privkey.pem\ndistinguished_name = req_distinguished_name\nattributes = req_attributes\nx509_extensions = v3_ca # The extentions to add to the self signed cert\n\n# Passwords for private keys if not present they will be prompted for\n# input_password = secret\n# output_password = secret\n\n# This sets a mask for permitted string types. There are several options. \n# default: PrintableString, T61String, BMPString.\n# pkix : PrintableString, BMPString (PKIX recommendation before 2004)\n# utf8only: only UTF8Strings (PKIX recommendation after 2004).\n# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).\n# MASK:XXXX a literal mask value.\n# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.\nstring_mask = utf8only\n\nreq_extensions = v3_req # The extensions to add to a certificate request\n\n[ req_distinguished_name ]\ncountryName = Country Name (2 letter code)\ncountryName_default = AU\ncountryName_min = 2\ncountryName_max = 2\n\nstateOrProvinceName = State or Province Name (full name)\nstateOrProvinceName_default = Some-State\n\nlocalityName = Locality Name (eg, city)\n\n0.organizationName = Organization Name (eg, company)\n0.organizationName_default = Internet Widgits Pty Ltd\n\n# we can do this but it is not needed normally :-)\n#1.organizationName = Second Organization Name (eg, company)\n#1.organizationName_default = World Wide Web Pty Ltd\n\norganizationalUnitName = Organizational Unit Name (eg, section)\n#organizationalUnitName_default =\n\ncommonName = Common Name (e.g. server FQDN or YOUR name)\ncommonName_max = 64\n\nemailAddress = Email Address\nemailAddress_max = 64\n\n# SET-ex3 = SET extension number 3\n\n[ req_attributes ]\nchallengePassword = A challenge password\nchallengePassword_min = 4\nchallengePassword_max = 20\n\nunstructuredName = An optional company name\n\n[ usr_cert ]\n\n# These extensions are added when 'ca' signs a request.\n\n# This goes against PKIX guidelines but some CAs do it and some software\n# requires this to avoid interpreting an end user certificate as a CA.\n\nbasicConstraints=CA:FALSE\n\n# Here are some examples of the usage of nsCertType. If it is omitted\n# the certificate can be used for anything *except* object signing.\n\n# This is OK for an SSL server.\n# nsCertType = server\n\n# For an object signing certificate this would be used.\n# nsCertType = objsign\n\n# For normal client use this is typical\n# nsCertType = client, email\n\n# and for everything including object signing:\n# nsCertType = client, email, objsign\n\n# This is typical in keyUsage for a client certificate.\n# keyUsage = nonRepudiation, digitalSignature, keyEncipherment\n\n# This will be displayed in Netscape's comment listbox.\nnsComment = \"OpenSSL Generated Certificate\"\n\n# PKIX recommendations harmless if included in all certificates.\nsubjectKeyIdentifier=hash\nauthorityKeyIdentifier=keyid,issuer\n\n# This stuff is for subjectAltName and issuerAltname.\n# Import the email address.\n# subjectAltName=email:copy\n# An alternative to produce certificates that aren't\n# deprecated according to PKIX.\n# subjectAltName=email:move\n\n# Copy subject details\n# issuerAltName=issuer:copy\n\n#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem\n#nsBaseUrl\n#nsRevocationUrl\n#nsRenewalUrl\n#nsCaPolicyUrl\n#nsSslServerName\n\n# This is required for TSA certificates.\n# extendedKeyUsage = critical,timeStamping\n\n[ v3_req ]\n\n# Extensions to add to a certificate request\n\nbasicConstraints = CA:FALSE\nkeyUsage = nonRepudiation, digitalSignature, keyEncipherment\n\n\n[ v3_ca ]\n\n\n# Extensions for a typical CA\n\n\n# PKIX recommendation.\n\nsubjectKeyIdentifier=hash\n\nauthorityKeyIdentifier=keyid:always,issuer\n\n# This is what PKIX recommends but some broken software chokes on critical\n# extensions.\n#basicConstraints = critical,CA:true\n# So we do this instead.\nbasicConstraints = CA:true\n\n# Key usage: this is typical for a CA certificate. However since it will\n# prevent it being used as an test self-signed certificate it is best\n# left out by default.\n# keyUsage = cRLSign, keyCertSign\n\n# Some might want this also\n# nsCertType = sslCA, emailCA\n\n# Include email address in subject alt name: another PKIX recommendation\n# subjectAltName=email:copy\n# Copy issuer details\n# issuerAltName=issuer:copy\n\n# DER hex encoding of an extension: beware experts only!\n# obj=DER:02:03\n# Where 'obj' is a standard or added object\n# You can even override a supported extension:\n# basicConstraints= critical, DER:30:03:01:01:FF\n\n[ crl_ext ]\n\n# CRL extensions.\n# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.\n\n# issuerAltName=issuer:copy\nauthorityKeyIdentifier=keyid:always\n\n[ proxy_cert_ext ]\n# These extensions should be added when creating a proxy certificate\n\n# This goes against PKIX guidelines but some CAs do it and some software\n# requires this to avoid interpreting an end user certificate as a CA.\n\nbasicConstraints=CA:FALSE\n\n# Here are some examples of the usage of nsCertType. If it is omitted\n# the certificate can be used for anything *except* object signing.\n\n# This is OK for an SSL server.\n# nsCertType = server\n\n# For an object signing certificate this would be used.\n# nsCertType = objsign\n\n# For normal client use this is typical\n# nsCertType = client, email\n\n# and for everything including object signing:\n# nsCertType = client, email, objsign\n\n# This is typical in keyUsage for a client certificate.\n# keyUsage = nonRepudiation, digitalSignature, keyEncipherment\n\n# This will be displayed in Netscape's comment listbox.\nnsComment = \"OpenSSL Generated Certificate\"\n\n# PKIX recommendations harmless if included in all certificates.\nsubjectKeyIdentifier=hash\nauthorityKeyIdentifier=keyid,issuer\n\n# This stuff is for subjectAltName and issuerAltname.\n# Import the email address.\n# subjectAltName=email:copy\n# An alternative to produce certificates that aren't\n# deprecated according to PKIX.\n# subjectAltName=email:move\n\n# Copy subject details\n# issuerAltName=issuer:copy\n\n#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem\n#nsBaseUrl\n#nsRevocationUrl\n#nsRenewalUrl\n#nsCaPolicyUrl\n#nsSslServerName\n\n# This really needs to be in place for it to be a proxy certificate.\nproxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo\n\n####################################################################\n[ tsa ]\n\ndefault_tsa = tsa_config1 # the default TSA section\n\n[ tsa_config1 ]\n\n# These are used by the TSA reply generation only.\ndir = ./demoCA # TSA root directory\nserial = $dir/tsaserial # The current serial number (mandatory)\ncrypto_device = builtin # OpenSSL engine to use for signing\nsigner_cert = $dir/tsacert.pem # The TSA signing certificate\n # (optional)\ncerts = $dir/cacert.pem # Certificate chain to include in reply\n # (optional)\nsigner_key = $dir/private/tsakey.pem # The TSA private key (optional)\n\ndefault_policy = tsa_policy1 # Policy if request did not specify it\n # (optional)\nother_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)\ndigests = md5, sha1 # Acceptable message digests (mandatory)\naccuracy = secs:1, millisecs:500, microsecs:100 # (optional)\nclock_precision_digits = 0 # number of digits after dot. (optional)\nordering = yes # Is ordering defined for timestamps?\n # (optional, default: no)\ntsa_name = yes # Must the TSA name be included in the reply?\n # (optional, default: no)\ness_cert_id_chain = no # Must the ESS cert id chain be included?\n # (optional, default: no)\n","#!/usr/bin/env sh\n# your variables\nCountry=\"CN\"\nState=\"Shanghai\"\nLocation=\"Shanghai\"\nOrganization=\"milvus\"\nOrganizational=\"milvus\"\nCommonName=\"localhost\"\n\necho \"generate ca.key\"\nopenssl genrsa -out ca.key 2048\n\necho \"generate ca.pem\"\nopenssl req -new -x509 -key ca.key -out ca.pem -days 3650 -subj \"/C=$Country/ST=$State/L=$Location/O=$Organization/OU=$Organizational/CN=$CommonName\"\n\necho \"generate server SAN certificate\"\nopenssl genpkey -algorithm RSA -out server.key\nopenssl req -new -nodes -key server.key -out server.csr -days 3650 -subj \"/C=$Country/O=$Organization/OU=$Organizational/CN=$CommonName\" -config ./openssl.cnf -extensions v3_req\nopenssl x509 -req -days 3650 -in server.csr -out server.pem -CA ca.pem -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req\n\necho \"generate client SAN certificate\"\nopenssl genpkey -algorithm RSA -out client.key\nopenssl req -new -nodes -key client.key -out client.csr -days 3650 -subj \"/C=$Country/O=$Organization/OU=$Organizational/CN=$CommonName\" -config ./openssl.cnf -extensions v3_req\nopenssl x509 -req -days 3650 -in client.csr -out client.pem -CA ca.pem -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req\n\n","chmod +x gen.sh\n./gen.sh\n","openssl genpkey -algorithm RSA -out ca.key\n","openssl req -new -x509 -key ca.key -out ca.pem -days 3650 -subj \"/C=$Country/ST=$State/L=$Location/O=$Organization/OU=$Organizational/CN=$CommonName\"\n","openssl genpkey -algorithm RSA -out server.key\n","openssl req -new -nodes -key server.key -out server.csr -days 3650 -subj \"/C=$Country/O=$Organization/OU=$Organizational/CN=$CommonName\" -config ./openssl.cnf -extensions v3_req\n","openssl x509 -req -days 3650 -in server.csr -out server.pem -CA ca.pem -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req\n","tls:\n serverPemPath: /milvus/tls/server.pem\n serverKeyPath: /milvus/tls/server.key\n caPemPath: /milvus/tls/ca.pem\n\ncommon:\n security:\n tlsMode: 1\n","├── docker-compose.yml\n├── milvus.yaml\n└── tls\n ├── server.pem\n ├── server.key\n └── ca.pem\n"," standalone:\n container_name: milvus-standalone\n image: milvusdb/milvus:latest\n command: [\"milvus\", \"run\", \"standalone\"]\n security_opt:\n - seccomp:unconfined\n environment:\n ETCD_ENDPOINTS: etcd:2379\n MINIO_ADDRESS: minio:9000\n volumes:\n - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus\n - ${DOCKER_VOLUME_DIRECTORY:-.}/tls:/milvus/tls\n - ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml\n","sudo docker compose up -d\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri=\"https://localhost:19530\",\n secure=True,\n server_pem_path=\"path_to/server.pem\",\n server_name=\"localhost\"\n)\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\n uri=\"https://localhost:19530\",\n secure=True,\n client_pem_path=\"path_to/client.pem\",\n client_key_path=\"path_to/client.key\",\n ca_pem_path=\"path_to/ca.pem\",\n server_name=\"localhost\"\n)\n","curl --cacert path_to/ca.pem https://localhost:19530/v2/vectordb/collections/list\n","curl --cert path_to/client.pem --key path_to/client.key --cacert path_to/ca.pem https://localhost:19530/v2/vectordb/collections/list\n"],"headingContent":"Encryption in Transit","anchorList":[{"label":"Verschlüsselung bei der Übermittlung","href":"Encryption-in-Transit","type":1,"isActive":false},{"label":"Erstellen Sie Ihr eigenes Zertifikat","href":"Create-your-own-certificate","type":2,"isActive":false},{"label":"Einrichten eines Milvus-Servers mit TLS","href":"Set-up-a-Milvus-server-with-TLS","type":2,"isActive":false},{"label":"Verbinden Sie sich mit dem Milvus-Server mit TLS","href":"Connect-to-the-Milvus-server-with-TLS","type":2,"isActive":false},{"label":"Verbinden mit dem Milvus RESTful Server mit TLS","href":"Connect-to-the-Milvus-RESTful-server-with-TLS","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/tls.md b/localization/v2.5.x/site/de/adminGuide/tls.md
index 4f25ba834..3fbca87ea 100644
--- a/localization/v2.5.x/site/de/adminGuide/tls.md
+++ b/localization/v2.5.x/site/de/adminGuide/tls.md
@@ -1,9 +1,9 @@
---
id: tls.md
-title: Encryption in Transit
-summary: Learn how to enable TLS proxy in Milvus.
+title: Verschlüsselung bei der Übermittlung
+summary: 'Erfahren Sie, wie Sie den TLS-Proxy in Milvus aktivieren.'
---
-
Encryption in Transit
+
Verschlüsselung bei der Übermittlung
-
TLS (Transport Layer Security) is an encryption protocol to ensure communication security. Milvus proxy uses TLS one-way and two-way authentication.
-
This topic describes how to enable TLS in Milvus proxy for both gRPC and RESTful traffics.
+
TLS (Transport Layer Security) ist ein Verschlüsselungsprotokoll zur Gewährleistung der Kommunikationssicherheit. Milvus Proxy verwendet TLS für die einseitige und zweiseitige Authentifizierung.
+
In diesem Thema wird beschrieben, wie TLS in Milvus-Proxy sowohl für gRPC- als auch für RESTful-Verkehr aktiviert werden kann.
-
TLS and user authentication are two distinct security approaches. If you have enabled both user authentication and TLS in your Milvus system, you will need to provide a username, password, and certificate file paths. For information on how to enable user authentication, refer to Authenticate User Access.
+
TLS und Benutzerauthentifizierung sind zwei unterschiedliche Sicherheitsansätze. Wenn Sie sowohl die Benutzerauthentifizierung als auch TLS in Ihrem Milvus-System aktiviert haben, müssen Sie einen Benutzernamen, ein Passwort und Pfade für Zertifikatsdateien angeben. Informationen zur Aktivierung der Benutzerauthentifizierung finden Sie unter Authentifizierung des Benutzerzugangs.
-
Create your own certificate
+
Erstellen Sie Ihr eigenes Zertifikat
-
Prerequisites
Make sure OpenSSL is installed. If you have not installed it, build and install OpenSSL first.
+
Voraussetzungen
Stellen Sie sicher, dass OpenSSL installiert ist. Wenn Sie es nicht installiert haben, erstellen und installieren Sie zuerst OpenSSL.
openssl version
-
If OpenSSL is not installed. It can be installed with the following command in Ubuntu.
+
Wenn OpenSSL nicht installiert ist. Es kann mit dem folgenden Befehl in Ubuntu installiert werden.
sudo apt install openssl
-
Create files
-
Create the openssl.cnf and gen.sh files.
+
Dateien erstellen
+
Erstellen Sie die Dateien openssl.cnf und gen.sh.
mkdir cert && cd cert
touch openssl.cnf gen.sh
-
Copy the following configurations into the files respectively.
+
Kopieren Sie die folgenden Konfigurationen in die jeweiligen Dateien.
openssl.cnf
#
@@ -407,8 +407,8 @@ ess_cert_id_chain = no # Must the ESS cert id ch
# (optional, default: no)
-
The openssl.cnf file is a default OpenSSL configuration file. See manual page for more information. The gen.sh file generates relevant certificate files. You can modify the gen.sh file for different purposes such as changing the validity period of the certificate file, the length of the certificate key or the certificate file names.
-
It is necessary to configure the CommonName in the gen.sh file. The CommonName refers to the server name that the client should specify while connecting.
+
Die Datei openssl.cnf ist eine Standard-OpenSSL-Konfigurationsdatei. Weitere Informationen finden Sie auf der Handbuchseite. Die Datei gen.sh generiert relevante Zertifikatsdateien. Sie können die Datei gen.sh für verschiedene Zwecke modifizieren, z. B. um die Gültigkeitsdauer der Zertifikatsdatei, die Länge des Zertifikatsschlüssels oder die Namen der Zertifikatsdateien zu ändern.
+
Es ist notwendig, die CommonName in der Datei gen.sh zu konfigurieren. CommonName bezieht sich auf den Servernamen, den der Client beim Verbindungsaufbau angeben muss.
The variables in the gen.sh file are crucial to the process of creating a certificate signing request file. The first five variables are the basic signing information, including country, state, location, organization, organization unit. Caution is needed when configuring CommonName as it will be verified during client-server communication.
-
Run gen.sh to generate certificate
Run the gen.sh file to create certificate.
+
Die Variablen in der Datei gen.sh sind für den Prozess der Erstellung einer Zertifikatsignierungsanforderungsdatei entscheidend. Die ersten fünf Variablen sind die grundlegenden Signierinformationen, einschließlich Land, Staat, Ort, Organisation und Organisationseinheit. Bei der Konfiguration von CommonName ist Vorsicht geboten, da sie während der Client-Server-Kommunikation überprüft wird.
+
Führen Sie gen.sh aus, um ein Zertifikat zu erzeugen
Führen Sie die Datei gen.sh aus, um das Zertifikat zu erstellen.
chmod +x gen.sh
./gen.sh
-
The following nine files will be created: ca.key, ca.pem, ca.srl, server.key, server.pem, server.csr, client.key, client.pem, client.csr.
-
Modify the detail of certificate files (optional)
After generating the certificate, you can modify the detail of the certificate files according to your own need.
-
The implementation of SSL or TSL mutual authentication involves a client, a server, and a certificate authority (CA). A CA is used to ensure that the certificate between a client and a server is legal.
-
Run man openssl or see the openssl manual page for more information about using the OpenSSL command.
+
Die folgenden neun Dateien werden erstellt: ca.key, ca.pem, ca.srl, server.key, server.pem, server.csr, client.key, client.pem, client.csr.
+
Ändern Sie die Details der Zertifikatsdateien (optional)
Nachdem Sie das Zertifikat erstellt haben, können Sie die Details der Zertifikatsdateien nach Ihren eigenen Bedürfnissen ändern.
+
An der Implementierung der gegenseitigen SSL- oder TSL-Authentifizierung sind ein Client, ein Server und eine Zertifizierungsstelle (CA) beteiligt. Eine CA wird verwendet, um sicherzustellen, dass das Zertifikat zwischen einem Client und einem Server legal ist.
+
Führen Sie man openssl aus oder lesen Sie die openssl-Handbuchseite für weitere Informationen über die Verwendung des OpenSSL-Befehls.
-
Generate an RSA private key for the ca.
+
Erzeugen Sie einen privaten RSA-Schlüssel für die CA.
openssl genpkey -algorithm RSA -out ca.key
-
Request CA certificate generation.
+
Fordern Sie die Generierung eines CA-Zertifikats an.
-
You need to provide the basic information about the CA in this step. Choose the x509 option to skip the request and directly generate a self-signing certificate.
+
In diesem Schritt müssen Sie die grundlegenden Informationen über die Zertifizierungsstelle angeben. Wählen Sie die Option x509, um die Anforderung zu überspringen und direkt ein selbstsignierendes Zertifikat zu erzeugen.
Nach diesem Schritt erhalten Sie eine server.csr Datei.
-
Sign the certificate.
+
Signieren Sie das Zertifikat.
-
Open the server.csr, the ca.key and the ca.pem files to sign the certificate. The CAcreateserial command option is used to create a CA serial number file if it does not exist. You will get an aca.srl file after choosing this command option.
+
Öffnen Sie die Dateien server.csr, ca.key und ca.pem, um das Zertifikat zu signieren. Die Befehlsoption CAcreateserial wird verwendet, um eine CA-Seriennummerndatei zu erstellen, falls sie nicht existiert. Sie erhalten eine aca.srl Datei, wenn Sie diese Befehlsoption wählen.
This section outlines the steps to configure a Milvus server with TLS encryption.
+
In diesem Abschnitt werden die Schritte zur Konfiguration eines Milvus-Servers mit TLS-Verschlüsselung beschrieben.
-
This guide focuses on deployment using Docker Compose. For information on Milvus Operator deployment, refer to Milvus Operator TLS documentation.
+
Diese Anleitung konzentriert sich auf die Bereitstellung mit Docker Compose. Informationen zur Bereitstellung von Milvus Operator finden Sie in der Milvus Operator TLS-Dokumentation.
-
1. Modify the Milvus server configuration
To enable TLS, set common.security.tlsMode in milvus.yaml to 1 (for one-way TLS) or 2 (for two-way TLS).
+
1. Ändern Sie die Konfiguration des Milvus-Servers
Um TLS zu aktivieren, setzen Sie common.security.tlsMode in milvus.yaml auf 1 (für einseitiges TLS) oder 2 (für zweiseitiges TLS).
serverPemPath: The path to the server certificate file.
-
serverKeyPath: The path to the server key file.
-
caPemPath: The path to the CA certificate file.
-
tlsMode: The TLS mode for encryption. Valid values:
-
-
1: One-way authentication, where only the server requires a certificate and the client verifies it. This mode requires server.pem and server.key from the server side, and server.pem from the client side.
-
2: Two-way authentication, where both the server and the client require certificates to establish a secure connection. This mode requires server.pem, server.key, and ca.pem from the server side, and client.pem, client.key, and ca.pem from the client side.
+
serverPemPath: Der Pfad zur Serverzertifikatsdatei.
+
serverKeyPath: Der Pfad zur Server-Schlüsseldatei.
+
caPemPath: Der Pfad zur CA-Zertifikatsdatei.
+
tlsMode: Der TLS-Modus für die Verschlüsselung. Gültige Werte:
+
1: Einseitige Authentifizierung, bei der nur der Server ein Zertifikat benötigt und der Client es verifiziert. Dieser Modus erfordert server.pem und server.key auf der Serverseite und server.pem auf der Clientseite.
+
2: Zwei-Wege-Authentifizierung, bei der sowohl der Server als auch der Client Zertifikate benötigen, um eine sichere Verbindung herzustellen. Für diesen Modus sind server.pem, server.key und ca.pem auf der Serverseite und client.pem, client.key und ca.pem auf der Clientseite erforderlich.
-
2. Map certificate files to the container
Prepare certificate files
Create a new folder named tls in the same directory as your docker-compose.yaml. Copy the server.pem, server.key, and ca.pem into the tls folder. Place them in a directory structure as follows:
+
2. Zertifikatsdateien dem Container zuordnen
Vorbereiten der Zertifikatsdateien
Erstellen Sie einen neuen Ordner namens tls im gleichen Verzeichnis wie docker-compose.yaml. Kopieren Sie die Dateien server.pem, server.key, und ca.pem in den Ordner tls. Legen Sie sie in einer Verzeichnisstruktur wie folgt ab:
Provide paths to client.pem, client.key, and ca.pem, and ensure the server_name matches the CommonName configured in the certificate.
+
Zwei-Wege-TLS-Verbindung
Geben Sie die Pfade zu client.pem, client.key und ca.pem an und stellen Sie sicher, dass server_name mit dem im Zertifikat konfigurierten CommonName übereinstimmt.
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.json b/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.json
index 5409b4718..7132f7d21 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.json
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.json
@@ -1 +1 @@
-{"codeList":["kubectl -n default port-forward deploy/my-release-milvus-proxy 9091:9091 &\n","[1] 8116\nForwarding from 127.0.0.1:9091 -> 9091\n\n","pid=8116\n\n","curl 127.0.0.1:9091/api/v1/collections \\\n|curl 127.0.0.1:9091/api/v1/persist -d @/dev/stdin\\\n|jq '.flush_coll_segIDs'| jq '[.[] | .data[]]' | jq '{segmentIDs: (.)}' \\\n> flushing_segments.json\ncat flushing_segments.json\n\n","{\n\"segmentIDs\": [\n 454097953998181000,\n 454097953999383600,\n 454097953998180800\n]\n}\n\n","cat flushing_segments.json| curl -X GET 127.0.0.1:9091/api/v1/persist/state -d @/dev/stdin \n\n","{\"status\":{},\"flushed\":true}\n\n","kill $pid\n\n","[1] + 8116 terminated kubectl -n default port-forward deploy/my-release-milvus-proxy 9091:9091 \n\n","helm -n default get values my-release -o yaml > values.yaml\ncat values.yaml\n\n","helm -n default uninstall my-release\n\n","These resources were kept due to the resource policy:\n[PersistentVolumeClaim] my-release-minio\n\nrelease \"my-release\" uninstalled\n\n","kubectl -n default get pvc -lapp=pulsar,release=my-release |grep -v NAME |awk '{print $1}' > pulsar-pvcs.txt\nkubectl -n default get pvc -lapp=pulsar,release=my-release -o custom-columns=VOL:.spec.volumeName|grep -v VOL > pulsar-pvs.txt\necho \"Volume Claims:\"\ncat pulsar-pvcs.txt\necho \"Volumes:\"\ncat pulsar-pvs.txt\n\n","Volume Claims:\nmy-release-pulsar-bookie-journal-my-release-pulsar-bookie-0\nmy-release-pulsar-bookie-journal-my-release-pulsar-bookie-1\nmy-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-0\nmy-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-1\nmy-release-pulsar-zookeeper-data-my-release-pulsar-zookeeper-0\nVolumes:\npvc-f590a4de-df31-4ca8-a424-007eac3c619a\npvc-17b0e215-3e14-4d14-901e-1a1dda9ff5a3\npvc-72f83c25-6ea1-45ee-9559-0b783f2c530b\npvc-60dcb6e4-760d-46c7-af1a-d1fc153b0caf\npvc-2da33f64-c053-42b9-bb72-c5d50779aa0a\n\n","cat pulsar-pvcs.txt |xargs -I {} kubectl -n default delete pvc {} --wait=false\n\n","persistentvolumeclaim \"my-release-pulsar-bookie-journal-my-release-pulsar-bookie-0\" deleted\npersistentvolumeclaim \"my-release-pulsar-bookie-journal-my-release-pulsar-bookie-1\" deleted\npersistentvolumeclaim \"my-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-0\" deleted\npersistentvolumeclaim \"my-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-1\" deleted\npersistentvolumeclaim \"my-release-pulsar-zookeeper-data-my-release-pulsar-zookeeper-0\" deleted\n\n","cat pulsar-pvs.txt |xargs -I {} kubectl -n default delete pvc {} --wait=false\n\n","Error from server (NotFound): persistentvolumeclaims \"pvc-f590a4de-df31-4ca8-a424-007eac3c619a\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-17b0e215-3e14-4d14-901e-1a1dda9ff5a3\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-72f83c25-6ea1-45ee-9559-0b783f2c530b\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-60dcb6e4-760d-46c7-af1a-d1fc153b0caf\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-2da33f64-c053-42b9-bb72-c5d50779aa0a\" not found\n\n","kubectl -n default get milvus my-release -o yaml > milvus.yaml\nhead milvus.yaml -n 20\n\n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\nannotations:\n milvus.io/dependency-values-merged: \"true\"\n milvus.io/pod-service-label-added: \"true\"\n milvus.io/querynode-current-group-id: \"0\"\ncreationTimestamp: \"2024-11-22T08:06:59Z\"\nfinalizers:\n- milvus.milvus.io/finalizer\ngeneration: 3\nlabels:\n app: milvus\n milvus.io/operator-version: 1.1.2\nname: my-release\nnamespace: default\nresourceVersion: \"692217324\"\nuid: 7a469ed0-9df1-494e-bd9a-340fac4305b5\nspec:\ncomponents:\n\n","# a patch to retain etcd & storage data and delete pulsar data while delete milvus\nspec:\ndependencies:\n etcd:\n inCluster:\n deletionPolicy: Retain\n pvcDeletion: false\n storage:\n inCluster:\n deletionPolicy: Retain\n pvcDeletion: false\n pulsar:\n inCluster:\n deletionPolicy: Delete\n pvcDeletion: true\n\n","kubectl -n default patch milvus my-release --patch-file patch.yaml --type=merge\n\n","milvus.milvus.io/my-release patched\n\n","kubectl -n default delete milvus my-release --wait=false\nkubectl -n default get milvus my-release\nkubectl -n default delete milvus my-release --wait=true\n\n","milvus.milvus.io \"my-release\" deleted\nNAME MODE STATUS UPDATED AGE\nmy-release cluster Deleting True 41m\nmilvus.milvus.io \"my-release\" deleted\n\n","kubectl -n default get milvus my-release\n\n","No resources found in default namespace.\n\n","# change the following:\npulsar:\nenabled: false # set to false\n# you may also clean up rest fields under pulsar field\n# it's ok to keep them though.\npulsarv3:\nenabled: true\n# append other values for pulsar v3 chart if needs\n\n","helm repo add zilliztech https://zilliztech.github.io/milvus-helm\nhelm repo update zilliztech\n\n","\"zilliztech\" already exists with the same configuration, skipping\nHang tight while we grab the latest from your chart repositories...\n...Successfully got an update from the \"zilliztech\" chart repository\nUpdate Complete. ⎈Happy Helming!⎈\n\n","helm -n default install my-release zilliztech/milvus --reset-values -f values.yaml\n\n","NAME: my-release\nLAST DEPLOYED: Fri Nov 22 15:31:27 2024\nNAMESPACE: default\nSTATUS: deployed\nREVISION: 1\nTEST SUITE: None\n\n","NAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 4m3s\nmy-release-milvus-datanode-56487bc4bc-s6mbd 1/1 Running 0 4m5s\nmy-release-milvus-indexnode-6476894d6-rv85d 1/1 Running 0 4m5s\nmy-release-milvus-mixcoord-6d8875cb9c-67fcq 1/1 Running 0 4m4s\nmy-release-milvus-proxy-7bc45d57c5-2qf8m 1/1 Running 0 4m4s\nmy-release-milvus-querynode-77465747b-kt7f4 1/1 Running 0 4m4s\nmy-release-minio-684ff4f5df-pnc97 1/1 Running 0 4m5s\nmy-release-pulsarv3-bookie-0 1/1 Running 0 4m3s\nmy-release-pulsarv3-bookie-1 1/1 Running 0 4m3s\nmy-release-pulsarv3-bookie-2 1/1 Running 0 4m3s\nmy-release-pulsarv3-bookie-init-6z4tk 0/1 Completed 0 4m1s\nmy-release-pulsarv3-broker-0 1/1 Running 0 4m2s\nmy-release-pulsarv3-broker-1 1/1 Running 0 4m2s\nmy-release-pulsarv3-proxy-0 1/1 Running 0 4m2s\nmy-release-pulsarv3-proxy-1 1/1 Running 0 4m2s\nmy-release-pulsarv3-pulsar-init-wvqpc 0/1 Completed 0 4m1s\nmy-release-pulsarv3-recovery-0 1/1 Running 0 4m3s\nmy-release-pulsarv3-zookeeper-0 1/1 Running 0 4m2s\nmy-release-pulsarv3-zookeeper-1 1/1 Running 0 4m2s\nmy-release-pulsarv3-zookeeper-2 1/1 Running 0 4m2s\n\n","# change the followings fields:\napiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\nannotations: null # this field should be removed or set to null\nresourceVersion: null # this field should be removed or set to null\nuid: null # this field should be removed or set to null\nspec:\ndependencies:\n pulsar:\n inCluster:\n chartVersion: pulsar-v3\n # delete all previous values for pulsar v2 and set it to null.\n # you may add additional values here for pulsar v3 if you're sure about it.\n values: null\n\n","helm repo add milvus-operator https://zilliztech.github.io/milvus-operator\nhelm repo update milvus-operator\nhelm -n milvus-operator upgrade milvus-operator milvus-operator/milvus-operator\n\n","kubectl create -f milvus.yaml\n\n","milvus.milvus.io/my-release created\n\n","NAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 65m\nmy-release-milvus-datanode-57fd59ff58-5mdrk 1/1 Running 0 93s\nmy-release-milvus-indexnode-67867c6b9b-4wsbw 1/1 Running 0 93s\nmy-release-milvus-mixcoord-797849f9bb-sf8z5 1/1 Running 0 93s\nmy-release-milvus-proxy-5d5bf98445-c55m6 1/1 Running 0 93s\nmy-release-milvus-querynode-0-64797f5c9-lw4rh 1/1 Running 0 92s\nmy-release-minio-79476ccb49-zvt2h 1/1 Running 0 65m\nmy-release-pulsar-bookie-0 1/1 Running 0 5m10s\nmy-release-pulsar-bookie-1 1/1 Running 0 5m10s\nmy-release-pulsar-bookie-2 1/1 Running 0 5m10s\nmy-release-pulsar-bookie-init-v8fdj 0/1 Completed 0 5m11s\nmy-release-pulsar-broker-0 1/1 Running 0 5m11s\nmy-release-pulsar-broker-1 1/1 Running 0 5m10s\nmy-release-pulsar-proxy-0 1/1 Running 0 5m11s\nmy-release-pulsar-proxy-1 1/1 Running 0 5m10s\nmy-release-pulsar-pulsar-init-5lhx7 0/1 Completed 0 5m11s\nmy-release-pulsar-recovery-0 1/1 Running 0 5m11s\nmy-release-pulsar-zookeeper-0 1/1 Running 0 5m11s\nmy-release-pulsar-zookeeper-1 1/1 Running 0 5m10s\nmy-release-pulsar-zookeeper-2 1/1 Running 0 5m10s\n\n"],"headingContent":"Upgrading Pulsar ","anchorList":[{"label":"Upgrading Pulsar ","href":"Upgrading-Pulsar-","type":1,"isActive":false},{"label":"Roadmap","href":"Roadmap","type":2,"isActive":false},{"label":"Procedures","href":"Procedures","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["kubectl -n default port-forward deploy/my-release-milvus-proxy 9091:9091 &\n","[1] 8116\nForwarding from 127.0.0.1:9091 -> 9091\n\n","pid=8116\n\n","curl 127.0.0.1:9091/api/v1/collections \\\n|curl 127.0.0.1:9091/api/v1/persist -d @/dev/stdin\\\n|jq '.flush_coll_segIDs'| jq '[.[] | .data[]]' | jq '{segmentIDs: (.)}' \\\n> flushing_segments.json\ncat flushing_segments.json\n\n","{\n\"segmentIDs\": [\n 454097953998181000,\n 454097953999383600,\n 454097953998180800\n]\n}\n\n","cat flushing_segments.json| curl -X GET 127.0.0.1:9091/api/v1/persist/state -d @/dev/stdin \n\n","{\"status\":{},\"flushed\":true}\n\n","kill $pid\n\n","[1] + 8116 terminated kubectl -n default port-forward deploy/my-release-milvus-proxy 9091:9091 \n\n","helm -n default get values my-release -o yaml > values.yaml\ncat values.yaml\n\n","helm -n default uninstall my-release\n\n","These resources were kept due to the resource policy:\n[PersistentVolumeClaim] my-release-minio\n\nrelease \"my-release\" uninstalled\n\n","kubectl -n default get pvc -lapp=pulsar,release=my-release |grep -v NAME |awk '{print $1}' > pulsar-pvcs.txt\nkubectl -n default get pvc -lapp=pulsar,release=my-release -o custom-columns=VOL:.spec.volumeName|grep -v VOL > pulsar-pvs.txt\necho \"Volume Claims:\"\ncat pulsar-pvcs.txt\necho \"Volumes:\"\ncat pulsar-pvs.txt\n\n","Volume Claims:\nmy-release-pulsar-bookie-journal-my-release-pulsar-bookie-0\nmy-release-pulsar-bookie-journal-my-release-pulsar-bookie-1\nmy-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-0\nmy-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-1\nmy-release-pulsar-zookeeper-data-my-release-pulsar-zookeeper-0\nVolumes:\npvc-f590a4de-df31-4ca8-a424-007eac3c619a\npvc-17b0e215-3e14-4d14-901e-1a1dda9ff5a3\npvc-72f83c25-6ea1-45ee-9559-0b783f2c530b\npvc-60dcb6e4-760d-46c7-af1a-d1fc153b0caf\npvc-2da33f64-c053-42b9-bb72-c5d50779aa0a\n\n","cat pulsar-pvcs.txt |xargs -I {} kubectl -n default delete pvc {} --wait=false\n\n","persistentvolumeclaim \"my-release-pulsar-bookie-journal-my-release-pulsar-bookie-0\" deleted\npersistentvolumeclaim \"my-release-pulsar-bookie-journal-my-release-pulsar-bookie-1\" deleted\npersistentvolumeclaim \"my-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-0\" deleted\npersistentvolumeclaim \"my-release-pulsar-bookie-ledgers-my-release-pulsar-bookie-1\" deleted\npersistentvolumeclaim \"my-release-pulsar-zookeeper-data-my-release-pulsar-zookeeper-0\" deleted\n\n","cat pulsar-pvs.txt |xargs -I {} kubectl -n default delete pvc {} --wait=false\n\n","Error from server (NotFound): persistentvolumeclaims \"pvc-f590a4de-df31-4ca8-a424-007eac3c619a\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-17b0e215-3e14-4d14-901e-1a1dda9ff5a3\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-72f83c25-6ea1-45ee-9559-0b783f2c530b\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-60dcb6e4-760d-46c7-af1a-d1fc153b0caf\" not found\nError from server (NotFound): persistentvolumeclaims \"pvc-2da33f64-c053-42b9-bb72-c5d50779aa0a\" not found\n\n","kubectl -n default get milvus my-release -o yaml > milvus.yaml\nhead milvus.yaml -n 20\n\n","apiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\nannotations:\n milvus.io/dependency-values-merged: \"true\"\n milvus.io/pod-service-label-added: \"true\"\n milvus.io/querynode-current-group-id: \"0\"\ncreationTimestamp: \"2024-11-22T08:06:59Z\"\nfinalizers:\n- milvus.milvus.io/finalizer\ngeneration: 3\nlabels:\n app: milvus\n milvus.io/operator-version: 1.1.2\nname: my-release\nnamespace: default\nresourceVersion: \"692217324\"\nuid: 7a469ed0-9df1-494e-bd9a-340fac4305b5\nspec:\ncomponents:\n\n","# a patch to retain etcd & storage data and delete pulsar data while delete milvus\nspec:\ndependencies:\n etcd:\n inCluster:\n deletionPolicy: Retain\n pvcDeletion: false\n storage:\n inCluster:\n deletionPolicy: Retain\n pvcDeletion: false\n pulsar:\n inCluster:\n deletionPolicy: Delete\n pvcDeletion: true\n\n","kubectl -n default patch milvus my-release --patch-file patch.yaml --type=merge\n\n","milvus.milvus.io/my-release patched\n\n","kubectl -n default delete milvus my-release --wait=false\nkubectl -n default get milvus my-release\nkubectl -n default delete milvus my-release --wait=true\n\n","milvus.milvus.io \"my-release\" deleted\nNAME MODE STATUS UPDATED AGE\nmy-release cluster Deleting True 41m\nmilvus.milvus.io \"my-release\" deleted\n\n","kubectl -n default get milvus my-release\n\n","No resources found in default namespace.\n\n","# change the following:\npulsar:\nenabled: false # set to false\n# you may also clean up rest fields under pulsar field\n# it's ok to keep them though.\npulsarv3:\nenabled: true\n# append other values for pulsar v3 chart if needs\n\n","helm repo add zilliztech https://zilliztech.github.io/milvus-helm\nhelm repo update zilliztech\n\n","\"zilliztech\" already exists with the same configuration, skipping\nHang tight while we grab the latest from your chart repositories...\n...Successfully got an update from the \"zilliztech\" chart repository\nUpdate Complete. ⎈Happy Helming!⎈\n\n","helm -n default install my-release zilliztech/milvus --reset-values -f values.yaml\n\n","NAME: my-release\nLAST DEPLOYED: Fri Nov 22 15:31:27 2024\nNAMESPACE: default\nSTATUS: deployed\nREVISION: 1\nTEST SUITE: None\n\n","NAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 4m3s\nmy-release-milvus-datanode-56487bc4bc-s6mbd 1/1 Running 0 4m5s\nmy-release-milvus-indexnode-6476894d6-rv85d 1/1 Running 0 4m5s\nmy-release-milvus-mixcoord-6d8875cb9c-67fcq 1/1 Running 0 4m4s\nmy-release-milvus-proxy-7bc45d57c5-2qf8m 1/1 Running 0 4m4s\nmy-release-milvus-querynode-77465747b-kt7f4 1/1 Running 0 4m4s\nmy-release-minio-684ff4f5df-pnc97 1/1 Running 0 4m5s\nmy-release-pulsarv3-bookie-0 1/1 Running 0 4m3s\nmy-release-pulsarv3-bookie-1 1/1 Running 0 4m3s\nmy-release-pulsarv3-bookie-2 1/1 Running 0 4m3s\nmy-release-pulsarv3-bookie-init-6z4tk 0/1 Completed 0 4m1s\nmy-release-pulsarv3-broker-0 1/1 Running 0 4m2s\nmy-release-pulsarv3-broker-1 1/1 Running 0 4m2s\nmy-release-pulsarv3-proxy-0 1/1 Running 0 4m2s\nmy-release-pulsarv3-proxy-1 1/1 Running 0 4m2s\nmy-release-pulsarv3-pulsar-init-wvqpc 0/1 Completed 0 4m1s\nmy-release-pulsarv3-recovery-0 1/1 Running 0 4m3s\nmy-release-pulsarv3-zookeeper-0 1/1 Running 0 4m2s\nmy-release-pulsarv3-zookeeper-1 1/1 Running 0 4m2s\nmy-release-pulsarv3-zookeeper-2 1/1 Running 0 4m2s\n\n","# change the followings fields:\napiVersion: milvus.io/v1beta1\nkind: Milvus\nmetadata:\nannotations: null # this field should be removed or set to null\nresourceVersion: null # this field should be removed or set to null\nuid: null # this field should be removed or set to null\nspec:\ndependencies:\n pulsar:\n inCluster:\n chartVersion: pulsar-v3\n # delete all previous values for pulsar v2 and set it to null.\n # you may add additional values here for pulsar v3 if you're sure about it.\n values: null\n\n","helm repo add milvus-operator https://zilliztech.github.io/milvus-operator\nhelm repo update milvus-operator\nhelm -n milvus-operator upgrade milvus-operator milvus-operator/milvus-operator\n\n","kubectl create -f milvus.yaml\n\n","milvus.milvus.io/my-release created\n\n","NAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 65m\nmy-release-milvus-datanode-57fd59ff58-5mdrk 1/1 Running 0 93s\nmy-release-milvus-indexnode-67867c6b9b-4wsbw 1/1 Running 0 93s\nmy-release-milvus-mixcoord-797849f9bb-sf8z5 1/1 Running 0 93s\nmy-release-milvus-proxy-5d5bf98445-c55m6 1/1 Running 0 93s\nmy-release-milvus-querynode-0-64797f5c9-lw4rh 1/1 Running 0 92s\nmy-release-minio-79476ccb49-zvt2h 1/1 Running 0 65m\nmy-release-pulsar-bookie-0 1/1 Running 0 5m10s\nmy-release-pulsar-bookie-1 1/1 Running 0 5m10s\nmy-release-pulsar-bookie-2 1/1 Running 0 5m10s\nmy-release-pulsar-bookie-init-v8fdj 0/1 Completed 0 5m11s\nmy-release-pulsar-broker-0 1/1 Running 0 5m11s\nmy-release-pulsar-broker-1 1/1 Running 0 5m10s\nmy-release-pulsar-proxy-0 1/1 Running 0 5m11s\nmy-release-pulsar-proxy-1 1/1 Running 0 5m10s\nmy-release-pulsar-pulsar-init-5lhx7 0/1 Completed 0 5m11s\nmy-release-pulsar-recovery-0 1/1 Running 0 5m11s\nmy-release-pulsar-zookeeper-0 1/1 Running 0 5m11s\nmy-release-pulsar-zookeeper-1 1/1 Running 0 5m10s\nmy-release-pulsar-zookeeper-2 1/1 Running 0 5m10s\n\n"],"headingContent":"Upgrading Pulsar ","anchorList":[{"label":"Aufrüstung von Pulsar","href":"Upgrading-Pulsar-","type":1,"isActive":false},{"label":"Fahrplan","href":"Roadmap","type":2,"isActive":false},{"label":"Prozeduren","href":"Procedures","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.md b/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.md
index 3cdd02119..64d61bebc 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.md
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade-pulsar-v3.md
@@ -2,11 +2,11 @@
id: upgrade-pulsar-v3.md
related_key: upgrade pulsar v3
summary: >-
- Learn how to upgrade Pulsar from V2 to V3 in Milvus so that you can use the
- latest version of Milvus v2.5.x.
-title: Upgrade Pulsar in Milvus from V2 to V3
+ Erfahren Sie, wie Sie Pulsar in Milvus von V2 auf V3 aktualisieren können, so
+ dass Sie die neueste Version von Milvus v2.5.x verwenden können.
+title: Aufrüstung des Pulsar in Milvus von V2 auf V3
---
-
Upgrading Pulsar
+
Aufrüstung von Pulsar
-
This article describes the proceure for you to upgrade your Pulsar component from V2 to V3 if you already have a working Milvus deployment with Pulsar V2. Since Milvus v2.5, milvus-helm and milvus-operator will use pulsar V3 by default to fix some bugs and security vulnerabilities.
+
Dieser Artikel beschreibt, wie Sie Ihre Pulsar-Komponente von V2 auf V3 aktualisieren können, wenn Sie bereits einen funktionierenden Milvus-Einsatz mit Pulsar V2 haben. milvus-helm und milvus-operator verwenden seit Milvus v2.5 standardmäßig Pulsar V3, um einige Fehler und Sicherheitslücken zu beheben.
-
The upgrade process requires a brief service outage (usually takes about a few minutes to more than ten minutes, depending on the amount of data).
-
Before the operation, you need to stop all running clients from writing data to Milvus. Otherwise, the written data may be lost.
-
This article assumes that Milvus is installed in namespace default and named my-release. Please change the parameters to your own namespace and release name while executing the commands copied from this page.
-
Ensure that your work environment has permissions under the above-mentioned namespace in the Kubernetes cluster and the following commands are installed:
-
a. kubectl >= 1.20
-
b. helm >= 3.14.0
-
c. cat, grep, awk for string manipulate operations
-
d. curl or Attu v2.4+ to interact with milvus management API
+
Der Upgrade-Vorgang erfordert eine kurze Unterbrechung des Dienstes (je nach Datenmenge dauert er zwischen einigen Minuten und mehr als zehn Minuten).
+
Vor dem Vorgang müssen Sie alle laufenden Clients davon abhalten, Daten in Milvus zu schreiben. Andernfalls können die geschriebenen Daten verloren gehen.
+
Dieser Artikel geht davon aus, dass Milvus im Namensraum default installiert ist und den Namen my-release trägt. Bitte ändern Sie die Parameter auf Ihren eigenen Namespace und Freigabenamen, während Sie die von dieser Seite kopierten Befehle ausführen.
+
Stellen Sie sicher, dass Ihre Arbeitsumgebung unter dem oben genannten Namespace im Kubernetes-Cluster über Berechtigungen verfügt und die folgenden Befehle installiert sind.
+
a. kubectl >= 1.20
+
b. helm >= 3.14.0
+
c. cat, grep, awk für String-Manipulationsoperationen
+
d. curl oder Attu v2.4+ für die Interaktion mit der milvus management API
-
Roadmap
+
Fahrplan
-
The upgrade process includes the following steps:
+
Der Upgrade-Prozess umfasst die folgenden Schritte:
This section provides the detailed procedures for upgrading Pulsar from V2 to V3 in Milvus.
-
Persist data not consumed in Pulsar
In this step, you need to ensure that the existing data in Pulsar has been persisted to the object storage service. There are two approaches available, and you can choose the one that suits your needs.
-
Approach 1: Using Attu
If you have only a small number of collections in your working Milvus deployment with not many segments, you can use Attu to persist the data to the object storage service.
+
Dieser Abschnitt enthält die detaillierten Verfahren für das Upgrade von Pulsar von V2 auf V3 in Milvus.
+
Persistieren von nicht verbrauchten Daten in Pulsar
In diesem Schritt müssen Sie sicherstellen, dass die in Pulsar vorhandenen Daten in den Objektspeicherdienst persistiert wurden. Es gibt zwei Ansätze, von denen Sie den Ihren Bedürfnissen entsprechenden wählen können.
+
Ansatz 1: Verwendung von Attu
Wenn Sie nur eine kleine Anzahl von Sammlungen in Ihrer Milvus-Bereitstellung mit nicht vielen Segmenten haben, können Sie Attu verwenden, um die Daten im Objektspeicherdienst zu persistieren.
-
Select every collection in all your databases, get into the Segments panel, Click the Flush button
+
Wählen Sie jede Sammlung in all Ihren Datenbanken aus, gehen Sie in das Panel Segments und klicken Sie auf die Schaltfläche Flush
-
-
- Segment panel of a collection
-
-
-
Then upon the popup, Click Flush again.
+
+
+ Segment-Panel einer Sammlung
+
Klicken Sie dann im Popup-Fenster erneut auf Flush.
-
-
- Data flush prompt in Attu
-
-
-
Then wait until all collections’ Persistent Segment States are Flushed.
+
+
+ Aufforderung zur Datenflutung in Attu
+
Warten Sie dann, bis die Persistent Segment States aller Sammlungen Flushed sind.
-
-
- View data flush status in Attu
-
-
+
+
+ Anzeigen des Datenflush-Status in Attu
-
Approach 2: Using management API
-
Proxy port 9091 of Milvus proxy to the local host for subsequent operations.
+
Ansatz 2: Verwendung der Verwaltungs-API
+
Proxy-Port 9091 des Milvus-Proxys auf dem lokalen Host für nachfolgende Operationen.
If you have installed Milvus using the Milvus Helm chart, following the steps below to stop the Milvus pod and delete the Pulsar V2 deployment.
+
Pulsar V2 mit Helm löschen
Wenn Sie Milvus mit Hilfe des Milvus Helm-Diagramms installiert haben, befolgen Sie die nachstehenden Schritte, um den Milvus-Pod zu stoppen und die Pulsar-V2-Bereitstellung zu löschen.
-
Save the current Milvus release values to values.yaml for later recover:
+
Speichern Sie die aktuellen Milvus-Freigabewerte auf values.yaml für eine spätere Wiederherstellung.
Use the command to stop Milvus and all the dependencies. Don’t worry about the data volumes, they will be kept by default.
+
Verwenden Sie den Befehl, um Milvus und alle Abhängigkeiten zu stoppen. Machen Sie sich keine Sorgen um die Datenvolumina, sie werden standardmäßig beibehalten.
helm -n default uninstall my-release
-
Output
+
Ausgabe
These resources were kept due to the resource policy:
[PersistentVolumeClaim] my-release-minio
release "my-release" uninstalled
-
List pulsar PVCs & PVs (Persistent Volume Claims & Persistent Volume) needs to be cleared
+
Liste pulsar PVCs & PVs (Persistent Volume Claims & Persistent Volume) muss gelöscht werden
It’s OK if it outputs NotFound errors. It’s already deleted by kubernetes controllers.
+
Es ist in Ordnung, wenn sie NotFound-Fehler ausgibt. Sie ist bereits von den Kubernetes-Controllern gelöscht worden.
Errorfromserver (NotFound): persistentvolumeclaims "pvc-f590a4de-df31-4ca8-a424-007eac3c619a" not found
Errorfromserver (NotFound): persistentvolumeclaims "pvc-17b0e215-3e14-4d14-901e-1a1dda9ff5a3" not found
Errorfromserver (NotFound): persistentvolumeclaims "pvc-72f83c25-6ea1-45ee-9559-0b783f2c530b" not found
@@ -218,14 +212,14 @@ persistentvolumeclaim "my-release-pulsar-zookeepe
-
Delete Pulsar V2 using Milvus Operator
If you have installed Milvus using the Milvus Operator, following the steps below to stop the Milvus pod and delete the Pulsar V2 deployment.
+
Pulsar V2 mit Milvus Operator löschen
Wenn Sie Milvus mit dem Milvus Operator installiert haben, befolgen Sie die folgenden Schritte, um den Milvus-Pod zu stoppen und die Pulsar-V2-Bereitstellung zu löschen.
-
Save current Milvus Manifest to milvus.yaml for later use.
+
Speichern Sie das aktuelle Milvus-Manifest unter milvus.yaml zur späteren Verwendung.
Erstellen Sie eine patch.yaml Datei mit folgendem Inhalt.
# a patch to retain etcd & storage data and delete pulsar data while delete milvus
spec:
dependencies:
@@ -266,46 +260,46 @@ dependencies:
pvcDeletion: true
-
Use kubectl patch to retain etcd & storage data and delete pulsar data while delete milvus.
+
Verwenden Sie kubectl patch, um etcd- und Speicherdaten beizubehalten und Pulsar-Daten zu löschen, während Sie Milvus löschen.
Bearbeiten Sie die im vorherigen Schritt gespeicherte values.yaml.
# change the following:
pulsar:
enabled: false # set to false
@@ -316,23 +310,23 @@ enabled: true
# append other values for pulsar v3 chart if needs
"zilliztech" already exists with the same configuration, skipping
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "zilliztech" chart repository
UpdateComplete. ⎈HappyHelming!⎈
-
Install your milvus release with the newest helm chart version using the edited values.yaml
+
Installieren Sie Ihre Milvus-Version mit der neuesten Helm-Chart-Version unter Verwendung der editierten values.yaml
Verwenden Sie den Befehl zum Starten von Milvus mit Pulsar V3
kubectl create -f milvus.yaml
-
Output
+
Ausgabe
milvus.milvus.io/my-release created
-
Check the pods to see if all of them get scheduled and running with kubectl -n default get pods.
-
It may take a few minutes for all pods to get started.
-
Output is like:
+
Überprüfen Sie die Pods, um zu sehen, ob sie alle mit kubectl -n default get pods geplant und ausgeführt werden.
+
Es kann ein paar Minuten dauern, bis alle Pods gestartet sind.
+
Die Ausgabe ist wie folgt.
NAME READY STATUS RESTARTS AGE
my-release-etcd-01/1 Running 065m
my-release-milvus-datanode-57fd59ff58-5mdrk 1/1 Running 093s
@@ -428,4 +422,4 @@ my-release-pulsar-zookeeper-2
-
+
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.json b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.json
index 246b31c90..31ded415c 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.json
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.json
@@ -1 +1 @@
-{"codeList":["...\nrootcoord:\n container_name: milvus-rootcoord\n image: milvusdb/milvus:v2.5.0-beta\n...\nproxy:\n container_name: milvus-proxy\n image: milvusdb/milvus:v2.5.0-beta\n...\nquerycoord:\n container_name: milvus-querycoord\n image: milvusdb/milvus:v2.5.0-beta \n...\nquerynode:\n container_name: milvus-querynode\n image: milvusdb/milvus:v2.5.0-beta\n...\nindexcoord:\n container_name: milvus-indexcoord\n image: milvusdb/milvus:v2.5.0-beta\n...\nindexnode:\n container_name: milvus-indexnode\n image: milvusdb/milvus:v2.5.0-beta \n...\ndatacoord:\n container_name: milvus-datacoord\n image: milvusdb/milvus:v2.5.0-beta \n...\ndatanode:\n container_name: milvus-datanode\n image: milvusdb/milvus:v2.5.0-beta\n","docker compose down\ndocker compose up -d\n","docker stop \n","# migration.yaml\ncmd:\n # Option: run/backup/rollback\n type: run\n runWithBackup: true\nconfig:\n sourceVersion: 2.1.4 # Specify your milvus version\n targetVersion: 2.5.0-beta\n backupFilePath: /tmp/migration.bak\nmetastore:\n type: etcd\netcd:\n endpoints:\n - milvus-etcd:2379 # Use the etcd container name\n rootPath: by-dev # The root path where data is stored in etcd\n metaSubPath: meta\n kvSubPath: kv\n","# Suppose your docker-compose run with the default milvus network,\n# and you put migration.yaml in the same directory with docker-compose.yaml.\ndocker run --rm -it --network milvus -v $(pwd)/migration.yaml:/milvus/configs/migration.yaml milvus/meta-migration:v2.2.0 /milvus/bin/meta-migration -config=/milvus/configs/migration.yaml\n","Update the milvus image tag in the docker-compose.yaml\ndocker compose down\ndocker compose up -d\n"],"headingContent":"Upgrade Milvus Cluster with Docker Compose","anchorList":[{"label":"Upgrade Milvus Cluster with Docker Compose","href":"Upgrade-Milvus-Cluster-with-Docker-Compose","type":1,"isActive":false},{"label":"Upgrade Milvus by changing its image","href":"Upgrade-Milvus-by-changing-its-image","type":2,"isActive":false},{"label":"Migrate the metadata","href":"Migrate-the-metadata","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["...\nrootcoord:\n container_name: milvus-rootcoord\n image: milvusdb/milvus:v2.5.0-beta\n...\nproxy:\n container_name: milvus-proxy\n image: milvusdb/milvus:v2.5.0-beta\n...\nquerycoord:\n container_name: milvus-querycoord\n image: milvusdb/milvus:v2.5.0-beta \n...\nquerynode:\n container_name: milvus-querynode\n image: milvusdb/milvus:v2.5.0-beta\n...\nindexcoord:\n container_name: milvus-indexcoord\n image: milvusdb/milvus:v2.5.0-beta\n...\nindexnode:\n container_name: milvus-indexnode\n image: milvusdb/milvus:v2.5.0-beta \n...\ndatacoord:\n container_name: milvus-datacoord\n image: milvusdb/milvus:v2.5.0-beta \n...\ndatanode:\n container_name: milvus-datanode\n image: milvusdb/milvus:v2.5.0-beta\n","docker compose down\ndocker compose up -d\n","docker stop \n","# migration.yaml\ncmd:\n # Option: run/backup/rollback\n type: run\n runWithBackup: true\nconfig:\n sourceVersion: 2.1.4 # Specify your milvus version\n targetVersion: 2.5.0-beta\n backupFilePath: /tmp/migration.bak\nmetastore:\n type: etcd\netcd:\n endpoints:\n - milvus-etcd:2379 # Use the etcd container name\n rootPath: by-dev # The root path where data is stored in etcd\n metaSubPath: meta\n kvSubPath: kv\n","# Suppose your docker-compose run with the default milvus network,\n# and you put migration.yaml in the same directory with docker-compose.yaml.\ndocker run --rm -it --network milvus -v $(pwd)/migration.yaml:/milvus/configs/migration.yaml milvus/meta-migration:v2.2.0 /milvus/bin/meta-migration -config=/milvus/configs/migration.yaml\n","Update the milvus image tag in the docker-compose.yaml\ndocker compose down\ndocker compose up -d\n"],"headingContent":"Upgrade Milvus Cluster with Docker Compose","anchorList":[{"label":"Upgrade des Milvus-Clusters mit Docker Compose","href":"Upgrade-Milvus-Cluster-with-Docker-Compose","type":1,"isActive":false},{"label":"Upgrade von Milvus durch Ändern des Images","href":"Upgrade-Milvus-by-changing-its-image","type":2,"isActive":false},{"label":"Migrieren Sie die Metadaten","href":"Migrate-the-metadata","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.md b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.md
index 0e6b43c87..243f06cd9 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.md
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_cluster-docker.md
@@ -1,10 +1,12 @@
---
id: upgrade_milvus_cluster-docker.md
-summary: Learn how to upgrade Milvus cluster with Docker Compose.
-title: Upgrade Milvus Cluster with Docker Compose
+summary: >-
+ Erfahren Sie, wie Sie den Milvus-Cluster mit Docker Compose aktualisieren
+ können.
+title: Upgrade des Milvus-Clusters mit Docker Compose
---
-
# Suppose your docker-compose run with the default milvus network,# and you put migration.yaml in the same directory with docker-compose.yaml.
docker run --rm -it --network milvus -v $(pwd)/migration.yaml:/milvus/configs/migration.yaml milvus/meta-migration:v2.2.0 /milvus/bin/meta-migration -config=/milvus/configs/migration.yaml
-
Start Milvus components again with the new Milvus image.
+
Starten Sie die Milvus-Komponenten erneut mit dem neuen Milvus-Image.
Update the milvus image tag in the docker-compose.yaml
docker compose down
docker compose up -d
This guide describes how to upgrade your Milvus cluster with Milvus Helm charts.
-
Prerequisites
+
Diese Anleitung beschreibt, wie Sie Ihren Milvus-Cluster mit Milvus Helm-Charts aufrüsten.
+
Voraussetzungen
-
Helm version >= 3.14.0
-
Kubernetes version >= 1.20.0
+
Helm-Version >= 3.14.0
+
Kubernetes-Version >= 1.20.0
-
Since Milvus-Helm chart version 4.2.21, we introduced pulsar-v3.x chart as dependency. For backward compatibility, please upgrade your helm to v3.14 or later version, and be sure to add the --reset-then-reuse-values option whenever you use helm upgrade.
+
Seit Milvus-Helm Chart Version 4.2.21 haben wir pulsar-v3.x Chart als Abhängigkeit eingeführt. Um die Abwärtskompatibilität zu gewährleisten, aktualisieren Sie bitte Ihren Helm auf v3.14 oder eine neuere Version und fügen Sie die Option --reset-then-reuse-values hinzu, wenn Sie helm upgrade verwenden.
-
Check Milvus Helm Chart
+
Überprüfen der Milvus Helm-Karte
-
Run the following commands to check new Milvus versions.
+
Führen Sie die folgenden Befehle aus, um neue Milvus-Versionen zu überprüfen.
The Milvus Helm Charts repo at https://milvus-io.github.io/milvus-helm/ has been archived and you can get further updates from https://zilliztech.github.io/milvus-helm/ as follows:
+
Das Milvus Helm Charts Repo unter https://milvus-io.github.io/milvus-helm/ wurde archiviert und Sie können weitere Updates von https://zilliztech.github.io/milvus-helm/ wie folgt erhalten:
The archived repo is still available for the charts up to 4.0.31. For later releases, use the new repo instead.
+
Das archivierte Repo ist weiterhin für die Diagramme bis 4.0.31 verfügbar. Für spätere Versionen verwenden Sie stattdessen das neue Repo.
NAME CHART VERSION APP VERSION DESCRIPTION
zilliztech/milvus 4.1.34 2.4.5 Milvus is an open-source vector database built ...
@@ -107,14 +107,14 @@ zilliztech/milvus 4.1.2 2.3.1 Milvus is an ope
zilliztech/milvus 4.1.1 2.3.0 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.0 2.3.0 Milvus is an open-source vector database built ...
-
You can choose the upgrade path for your Milvus as follows:
-
- [Conduct a rolling upgrade](#conduct-a-rolling-upgrade) from Milvus v2.2.3 and later releases to v2.5.0-beta.
+
Sie können den Upgrade-Pfad für Ihren Milvus wie folgt wählen:
+
- [Führen Sie ein rollendes Upgrade durch](#conduct-a-rolling-upgrade) von Milvus v2.2.3 und späteren Versionen auf v2.5.0-beta.
Since Milvus 2.2.3, you can configure Milvus coordinators to work in active-standby mode and enable the rolling upgrade feature for them, so that Milvus can respond to incoming requests during the coordinator upgrades. In previous releases, coordinators are to be removed and then created during an upgrade, which may introduce certain downtime of the service.
-
Rolling upgrades requires coordinators to work in active-standby mode. You can use the script we provide to configure the coordinators to work in active-standby mode and start the rolling upgrade.
-
Based on the rolling update capabilities provided by Kubernetes, the above script enforces an ordered update of the deployments according to their dependencies. In addition, Milvus implements a mechanism to ensure that its components remain compatible with those depending on them during the upgrade, significantly reducing potential service downtime.
-
The script applies only to the upgrade of Milvus installed with Helm. The following table lists the command flags available in the scripts.
+
Seit Milvus 2.2.3 können Sie Milvus-Koordinatoren so konfigurieren, dass sie im Aktiv-Standby-Modus arbeiten, und die Funktion "Rolling Upgrade" für sie aktivieren, so dass Milvus auf eingehende Anfragen während der Koordinator-Upgrades reagieren kann. In früheren Versionen müssen die Koordinatoren während eines Upgrades entfernt und neu erstellt werden, was zu einer gewissen Ausfallzeit des Dienstes führen kann.
+
Rolling Upgrades erfordern, dass die Koordinatoren im Aktiv-Standby-Modus arbeiten. Sie können das von uns bereitgestellte Skript verwenden, um die Koordinatoren so zu konfigurieren, dass sie im aktiven Standby-Modus arbeiten, und das Rolling Upgrade starten.
+
Auf der Grundlage der von Kubernetes bereitgestellten rollenden Aktualisierungsfunktionen erzwingt das oben genannte Skript eine geordnete Aktualisierung der Bereitstellungen entsprechend ihrer Abhängigkeiten. Darüber hinaus implementiert Milvus einen Mechanismus, der sicherstellt, dass seine Komponenten während des Upgrades mit den von ihnen abhängigen Komponenten kompatibel bleiben, wodurch potenzielle Service-Ausfallzeiten erheblich reduziert werden.
+
Das Skript gilt nur für das Upgrade von Milvus, das mit Helm installiert wurde. In der folgenden Tabelle sind die in den Skripten verfügbaren Befehlsflags aufgeführt.
-
Parameters
Description
Default value
Required
+
Parameter
Beschreibung
Standardwert
Erforderlich
-
i
Milvus instance name
None
True
-
n
Namespace that Milvus is installed in
default
False
-
t
Target Milvus version
None
True
-
w
New Milvus image tag
milvusdb/milvus:v2.2.3
True
-
o
Operation
update
False
+
i
Milvus-Instanzname
None
True
+
n
Namespace, in dem Milvus installiert ist
default
Falsch
+
t
Ziel-Milvus-Version
None
Wahr
+
w
Neues Milvus-Bild-Tag
milvusdb/milvus:v2.2.3
Wahr
+
o
Vorgang
update
Falsch
-
Once you have ensured that all deployments in your Milvus instance are in their normal status. You can run the following command to upgrade the Milvus instance to 2.5.0-beta.
+
Sobald Sie sichergestellt haben, dass sich alle Einsätze in Ihrer Milvus-Instanz in ihrem normalen Status befinden, können Sie den folgenden Befehl ausführen, um die Milvus-Instanz auf 2.5.0-beta zu aktualisieren. Sie können den folgenden Befehl ausführen, um die Milvus-Instanz auf 2.5.0-beta zu aktualisieren.
The script hard-codes the upgrade order of the deployments and cannot be changed.
-
The script uses kubectl patch to update the deployments and kubectl rollout status to watch their status.
-
The script uses kubectl patch to update the app.kubernetes.io/version label of the deployments to the one specified after the -t flag in the command.
+
Das Skript kodiert die Upgrade-Reihenfolge der Einsätze fest und kann nicht geändert werden.
+
Das Skript verwendet kubectl patch, um die Einsätze zu aktualisieren, und kubectl rollout status, um ihren Status zu überwachen.
+
Das Skript verwendet kubectl patch, um die Bezeichnung app.kubernetes.io/version der Einsätze auf die Bezeichnung zu aktualisieren, die hinter dem Flag -t im Befehl angegeben ist.
-
Upgrade Milvus using Helm
+
Upgrade von Milvus mit Helm
-
To upgrade Milvus from a minor release before v2.2.3 to the latest, run the following commands:
+
Um Milvus von einer Nebenversion vor v2.2.3 auf die neueste Version zu aktualisieren, führen Sie die folgenden Befehle aus:
helm repo update zilliztech
helm upgrade my-release zilliztech/milvus --reset-then-reuse-values --version=4.1.24# use the helm chart version here
-
Use the Helm chart version in the preceding command. For details on how to obtain the Helm chart version, refer to Check the Milvus version.
-
Migrate the metadata
+
Verwenden Sie die Helm-Diagrammversion im vorangegangenen Befehl. Einzelheiten dazu, wie Sie die Helm-Chart-Version erhalten, finden Sie unter Prüfen der Milvus-Version.
+
Migrieren Sie die Metadaten
-
Since Milvus 2.2.0, the metadata is incompatible with that in previous releases. The following example snippets assume an upgrade from Milvus 2.1.4 to Milvus 2.2.0.
-
1. Check the Milvus version
Run $ helm list to check your Milvus app version. You can see the APP VERSION is 2.1.4.
+
Seit Milvus 2.2.0 sind die Metadaten nicht mehr mit denen früherer Versionen kompatibel. Die folgenden Beispielausschnitte gehen von einem Upgrade von Milvus 2.1.4 auf Milvus 2.2.0 aus.
+
1. Prüfen Sie die Milvus-Version
Führen Sie $ helm list aus, um die Version Ihrer Milvus-Anwendung zu überprüfen. Sie können sehen, dass APP VERSION 2.1.4 ist.
Run $ kubectl get pods to check the running pods. You can see the following output.
+
2. Prüfen Sie die laufenden Pods
Führen Sie $ kubectl get pods aus, um die laufenden Pods zu überprüfen. Sie können die folgende Ausgabe sehen.
NAME READY STATUS RESTARTS AGE
my-release-etcd-01/1 Running 021m
my-release-etcd-11/1 Running 021m
@@ -225,56 +225,56 @@ my-release-pulsar-zookeeper-0
my-release-pulsar-zookeeper-11/1 Running 020m
my-release-pulsar-zookeeper-21/1 Running 020m
-
3. Check the image tag
Check the image tag for the pod my-release-milvus-proxy-6c548f787f-scspp. You can see the release of your Milvus cluster is v2.1.4.
+
3. Überprüfen Sie das Image-Tag
Überprüfen Sie das Image-Tag für den Pod my-release-milvus-proxy-6c548f787f-scspp. Sie können sehen, dass die Version Ihres Milvus-Clusters v2.1.4 ist.
$ kubectl get pods my-release-milvus-proxy-6c548f787f-scspp -o=jsonpath='{$.spec.containers[0].image}'# milvusdb/milvus:v2.1.4
-
4. Migrate the metadata
A major change in Milvus 2.2 is the metadata structure of segment indexes. Therefore, you need to use Helm to migrate the metadata while upgrading Milvus from v2.1.x to v2.2.0. Here is a script for you to safely migrate your metadata.
-
This script only applies to Milvus installed on a K8s cluster. Roll back to the previous version with the rollback operation first if an error occurs during the process.
-
The following table lists the operations you can do for meta migration.
+
4. Migrieren Sie die Metadaten
Eine wichtige Änderung in Milvus 2.2 ist die Metadatenstruktur der Segmentindizes. Daher müssen Sie Helm verwenden, um die Metadaten beim Upgrade von Milvus von v2.1.x auf v2.2.0 zu migrieren. Hier finden Sie ein Skript, mit dem Sie Ihre Metadaten sicher migrieren können.
+
Dieses Skript gilt nur für Milvus, das auf einem K8s-Cluster installiert ist. Wenn während des Prozesses ein Fehler auftritt, sollten Sie zunächst mit der Rollback-Operation auf die vorherige Version zurückkehren.
+
In der folgenden Tabelle sind die Operationen aufgeführt, die Sie für die Metamigration durchführen können.
-
Parameters
Description
Default value
Required
+
Parameter
Beschreibung
Standardwert
Erforderlich
-
i
The Milvus instance name.
None
True
-
n
The namespace that Milvus is installed in.
default
False
-
s
The source Milvus version.
None
True
-
t
The target Milvus version.
None
True
-
r
The root path of Milvus meta.
by-dev
False
-
w
The new Milvus image tag.
milvusdb/milvus:v2.2.0
False
-
m
The meta migration image tag.
milvusdb/meta-migration:v2.2.0
False
-
o
The meta migration operation.
migrate
False
-
d
Whether to delete migration pod after the migration is completed.
false
False
-
c
The storage class for meta migration pvc.
default storage class
False
-
e
The etcd enpoint used by milvus.
etcd svc installed with milvus
False
+
i
Der Name der Milvus-Instanz.
None
True
+
n
Der Namespace, in dem Milvus installiert ist.
default
Falsch
+
s
Die Quellversion von Milvus.
None
True
+
t
Die Zielversion von Milvus.
None
Wahr
+
r
Der Wurzelpfad von Milvus meta.
by-dev
False
+
w
Das neue Milvus-Bild-Tag.
milvusdb/milvus:v2.2.0
False
+
m
Das Meta-Migrationsbild-Tag.
milvusdb/meta-migration:v2.2.0
False
+
o
Der Meta-Migrationsvorgang.
migrate
False
+
d
Ob der Migrations-Pod nach Abschluss der Migration gelöscht werden soll.
Stoppen Sie die Milvus-Komponenten. Jede Live-Sitzung im Milvus etcd kann einen Migrationsfehler verursachen.
+
Erstellen Sie ein Backup für die Milvus-Metadaten.
+
Migrieren Sie die Milvus-Metadaten.
+
Starten Sie die Milvus-Komponenten mit einem neuen Image.
-
2. Upgrade Milvus from v2.1.x to 2.2.0
The following commands assume that you upgrade Milvus from v2.1.4 to 2.2.0. Change them to the versions that fit your needs.
+
2. Upgrade von Milvus von v2.1.x auf 2.2.0
Die folgenden Befehle gehen davon aus, dass Sie Milvus von v2.1.4 auf 2.2.0 aktualisieren. Ändern Sie sie auf die Versionen, die Ihren Anforderungen entsprechen.
Um Milvus von v2.1.x auf 2.5.0-beta zu aktualisieren, müssen Sie die Metadaten vor dem eigentlichen Upgrade migrieren.
-
Conduct a rolling upgrade
+
Durchführen eines rollenden Upgradesoperator upgrade milvus-
-
Since Milvus 2.2.3, you can configure Milvus coordinators to work in active-standby mode and enable the rolling upgrade feature for them, so that Milvus can respond to incoming requests during the coordinator upgrades. In previous releases, coordinators are to be removed and then created during an upgrade, which may introduce certain downtime of the service.
-
Based on the rolling update capabilities provided by Kubernetes, the Milvus operator enforces an ordered update of the deployments according to their dependencies. In addition, Milvus implements a mechanism to ensure that its components remain compatible with those depending on them during the upgrade, significantly reducing potential service downtime.
-
The rolling upgrade feature is disabled by default. You need to explicitly enable it through a configuration file.
+
Seit Milvus 2.2.3 können Sie Milvus-Koordinatoren so konfigurieren, dass sie im Aktiv-Standby-Modus arbeiten und die Funktion des rollenden Upgrades für sie aktivieren, so dass Milvus auf eingehende Anfragen während der Koordinator-Upgrades reagieren kann. In früheren Versionen müssen die Koordinatoren während eines Upgrades entfernt und neu erstellt werden, was zu einer gewissen Ausfallzeit des Dienstes führen kann.
+
Auf der Grundlage der von Kubernetes bereitgestellten rollierenden Aktualisierungsfunktionen erzwingt der Milvus-Operator eine geordnete Aktualisierung der Bereitstellungen entsprechend ihren Abhängigkeiten. Darüber hinaus implementiert Milvus einen Mechanismus, der sicherstellt, dass seine Komponenten während des Upgrades mit den von ihnen abhängigen Komponenten kompatibel bleiben, wodurch potenzielle Ausfallzeiten des Dienstes erheblich reduziert werden.
+
Die Funktion "Rolling Upgrade" ist standardmäßig deaktiviert. Sie müssen sie explizit über eine Konfigurationsdatei aktivieren.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
@@ -78,8 +78,8 @@ spec:
imageUpdateMode: rollingUpgrade # Default value, can be omitted
image: milvusdb/milvus:v2.5.0-beta
-
In this above configuration file, set spec.components.enableRollingUpdate to true and set spec.components.image to the desired Milvus version.
-
By default, Milvus performs rolling upgrade for coordinators in an ordered way, in which it replaces the coordinator pod images one after another. To reduce the upgrade time, consider setting spec.components.imageUpdateMode to all so that Milvus replaces all pod images at the same time.
+
In der obigen Konfigurationsdatei setzen Sie spec.components.enableRollingUpdate auf true und spec.components.image auf die gewünschte Milvus-Version.
+
Standardmäßig führt Milvus rollende Upgrades für Koordinatoren in einer geordneten Weise durch, bei der die Pod-Images der Koordinatoren nacheinander ersetzt werden. Um die Upgrade-Zeit zu verkürzen, sollten Sie spec.components.imageUpdateMode auf all setzen, damit Milvus alle Pod-Images gleichzeitig ersetzt.
Then save your configuration as a YAML file (for example, milvusupgrade.yml) and patch this configuration file to your Milvus instance as follows:
+
Speichern Sie dann Ihre Konfiguration als YAML-Datei (z.B. milvusupgrade.yml) und patchen Sie diese Konfigurationsdatei wie folgt in Ihre Milvus-Instanz:
kubectl patch -f milvusupgrade.yml
-
Upgrade Milvus by changing its image
+
Upgrade von Milvus durch Änderung des Images
-
In normal cases, you can simply update your Milvus to the latest by changing its image. However, note that there will be a certain downtime when upgrading Milvus in this way.
-
Compose a configuration file as follows and save it as milvusupgrade.yaml:
+
Im Normalfall können Sie Ihr Milvus einfach auf die neueste Version aktualisieren, indem Sie sein Image ändern. Beachten Sie jedoch, dass es zu einer gewissen Ausfallzeit kommt, wenn Sie Milvus auf diese Weise aktualisieren.
+
Stellen Sie eine Konfigurationsdatei wie folgt zusammen und speichern Sie sie als milvusupgrade.yaml:
Führen Sie dann das Folgende aus, um das Upgrade durchzuführen:
kubectl patch -f milvusupgrade.yaml
-
Migrate the metadata
+
Migrieren Sie die Metadaten
-
Since Milvus 2.2.0, the metadata is incompatible with that in previous releases. The following example snippets assume an upgrade from Milvus 2.1.4 to Milvus 2.5.0-beta.
-
1. Create a .yaml file for metadata migration
Create a metadata migration file. The following is an example. You need to specify the name, sourceVersion, and targetVersion in the configuration file. The following example sets the name to my-release-upgrade, sourceVersion to v2.1.4, and targetVersion to v2.5.0-beta. This means that your Milvus cluster will be upgraded from v2.1.4 to v2.5.0-beta.
+
Seit Milvus 2.2.0 sind die Metadaten nicht mehr mit denen früherer Versionen kompatibel. Die folgenden Beispielschnipsel gehen von einem Upgrade von Milvus 2.1.4 auf Milvus 2.5.0-beta aus.
+
1. Erstellen Sie eine .yaml Datei für die Migration von Metadaten
Erstellen Sie eine Metadaten-Migrationsdatei. Im Folgenden finden Sie ein Beispiel. Sie müssen name, sourceVersion und targetVersion in der Konfigurationsdatei angeben. Im folgenden Beispiel wird name auf my-release-upgrade, sourceVersion auf v2.1.4 und targetVersion auf v2.5.0-beta gesetzt. Dies bedeutet, dass Ihr Milvus-Cluster von v2.1.4 auf v2.5.0-beta aktualisiert wird.
Run the following command to check the status of your metadata migration.
+
3. Überprüfen Sie den Status der Metadaten-Migration
Führen Sie den folgenden Befehl aus, um den Status Ihrer Metadaten-Migration zu überprüfen.
kubectl describe milvus release-name
-
The status of ready in the output means that the metadata migration is successful.
-
Or, you can also run kubectl get pod to check all the pods. If all the pods are ready, the metadata migration is successful.
-
4. Delete my-release-upgrade
When the upgrade is successful, delete my-release-upgrade in the YAML file.
+
Der Status ready in der Ausgabe bedeutet, dass die Metadaten-Migration erfolgreich war.
+
Sie können auch kubectl get pod ausführen, um alle Pods zu überprüfen. Wenn alle Pods ready sind, ist die Metadaten-Migration erfolgreich.
+
4. Löschen Sie my-release-upgrade
Wenn das Upgrade erfolgreich ist, löschen Sie my-release-upgrade in der YAML-Datei.
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.json b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.json
index 283394329..d1625042e 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.json
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.json
@@ -1 +1 @@
-{"codeList":["...\nstandalone:\n container_name: milvus-standalone\n image: milvusdb/milvus:v2.5.0-beta\n","docker compose down\ndocker compose up -d\n","docker stop \n","# migration.yaml\ncmd:\n # Option: run/backup/rollback\n type: run\n runWithBackup: true\nconfig:\n sourceVersion: 2.1.4 # Specify your milvus version\n targetVersion: 2.5.0-beta\n backupFilePath: /tmp/migration.bak\nmetastore:\n type: etcd\netcd:\n endpoints:\n - milvus-etcd:2379 # Use the etcd container name\n rootPath: by-dev # The root path where data is stored in etcd\n metaSubPath: meta\n kvSubPath: kv\n","# Suppose your docker-compose run with the default milvus network,\n# and you put migration.yaml in the same directory with docker-compose.yaml.\ndocker run --rm -it --network milvus -v $(pwd)/migration.yaml:/milvus/configs/migration.yaml milvusdb/meta-migration:v2.2.0 /milvus/bin/meta-migration -config=/milvus/configs/migration.yaml\n","// Run the following only after update the milvus image tag in the docker-compose.yaml\ndocker compose down\ndocker compose up -d\n"],"headingContent":"Upgrade Milvus Standalone with Docker Compose","anchorList":[{"label":"Upgrade Milvus Standalone with Docker Compose","href":"Upgrade-Milvus-Standalone-with-Docker-Compose","type":1,"isActive":false},{"label":"Upgrade Milvus by changing its image","href":"Upgrade-Milvus-by-changing-its-image","type":2,"isActive":false},{"label":"Migrate the metadata","href":"Migrate-the-metadata","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["...\nstandalone:\n container_name: milvus-standalone\n image: milvusdb/milvus:v2.5.0-beta\n","docker compose down\ndocker compose up -d\n","docker stop \n","# migration.yaml\ncmd:\n # Option: run/backup/rollback\n type: run\n runWithBackup: true\nconfig:\n sourceVersion: 2.1.4 # Specify your milvus version\n targetVersion: 2.5.0-beta\n backupFilePath: /tmp/migration.bak\nmetastore:\n type: etcd\netcd:\n endpoints:\n - milvus-etcd:2379 # Use the etcd container name\n rootPath: by-dev # The root path where data is stored in etcd\n metaSubPath: meta\n kvSubPath: kv\n","# Suppose your docker-compose run with the default milvus network,\n# and you put migration.yaml in the same directory with docker-compose.yaml.\ndocker run --rm -it --network milvus -v $(pwd)/migration.yaml:/milvus/configs/migration.yaml milvusdb/meta-migration:v2.2.0 /milvus/bin/meta-migration -config=/milvus/configs/migration.yaml\n","// Run the following only after update the milvus image tag in the docker-compose.yaml\ndocker compose down\ndocker compose up -d\n"],"headingContent":"Upgrade Milvus Standalone with Docker Compose","anchorList":[{"label":"Upgrade von Milvus Standalone mit Docker Compose","href":"Upgrade-Milvus-Standalone-with-Docker-Compose","type":1,"isActive":false},{"label":"Upgrade von Milvus durch Ändern des Images","href":"Upgrade-Milvus-by-changing-its-image","type":2,"isActive":false},{"label":"Migrieren Sie die Metadaten","href":"Migrate-the-metadata","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.md b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.md
index c73fe928f..9fd8db3b1 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.md
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-docker.md
@@ -4,11 +4,13 @@ label: Docker Compose
order: 1
group: upgrade_milvus_standalone-operator.md
related_key: upgrade Milvus Standalone
-summary: Learn how to upgrade Milvus standalone with Docker Compose.
-title: Upgrade Milvus Standalone with Docker Compose
+summary: >-
+ Erfahren Sie, wie Sie Milvus standalone mit Docker Compose aktualisieren
+ können.
+title: Upgrade von Milvus Standalone mit Docker Compose
---
-
Due to security concerns, Milvus upgrades its MinIO to RELEASE.2023-03-20T20-16-18Z with the release of v2.2.5. Before any upgrades from previous Milvus Standalone releases installed using Docker Compose, you should create a Single-Node Single-Drive MinIO deployment and migrate existing MinIO settings and content to the new deployment. For details, refer to this guide.
+
Aufgrund von Sicherheitsbedenken aktualisiert Milvus seine MinIO auf RELEASE.2023-03-20T20-16-18Z mit der Veröffentlichung von v2.2.5. Vor einem Upgrade von früheren Milvus Standalone-Versionen, die mit Docker Compose installiert wurden, sollten Sie eine Single-Node Single-Drive MinIO-Bereitstellung erstellen und die vorhandenen MinIO-Einstellungen und -Inhalte in die neue Bereitstellung migrieren. Einzelheiten hierzu finden Sie in diesem Leitfaden.
-
Upgrade Milvus by changing its image
+
Upgrade von Milvus durch Ändern des Images
-
In normal cases, you can upgrade Milvus as follows:
+
In normalen Fällen können Sie Milvus wie folgt aktualisieren:
-
Change the Milvus image tag in docker-compose.yaml.
+
Ändern Sie das Milvus-Image-Tag in docker-compose.yaml.
# Suppose your docker-compose run with the default milvus network,# and you put migration.yaml in the same directory with docker-compose.yaml.
docker run --rm -it --network milvus -v $(pwd)/migration.yaml:/milvus/configs/migration.yaml milvusdb/meta-migration:v2.2.0 /milvus/bin/meta-migration -config=/milvus/configs/migration.yaml
-
Start Milvus components again with the new Milvus image.
+
Starten Sie die Milvus-Komponenten erneut mit dem neuen Milvus-Image.
// Run the following only after update the milvus image tag in the docker-compose.yaml
docker compose down
docker compose up -d
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.json b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.json
index f647228d3..66662c374 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.json
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.json
@@ -1 +1 @@
-{"codeList":["$ helm repo update\n$ helm search repo zilliztech/milvus --versions\n","helm repo add zilliztech https://zilliztech.github.io/milvus-helm\nhelm repo update zilliztech\n# upgrade existing helm release\nhelm upgrade my-release zilliztech/milvus --reset-then-reuse-values\n","NAME CHART VERSION APP VERSION DESCRIPTION \nzilliztech/milvus 4.1.34 2.4.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.33 2.4.4 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.32 2.4.3 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.31 2.4.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.30 2.4.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.29 2.4.0 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.24 2.3.11 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.23 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.22 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.21 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.20 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.18 2.3.10 Milvus is an open-source vector database built ... \nzilliztech/milvus 4.1.18 2.3.9 Milvus is an open-source vector database built ... \nzilliztech/milvus 4.1.17 2.3.8 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.16 2.3.7 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.15 2.3.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.14 2.3.6 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.13 2.3.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.12 2.3.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.11 2.3.4 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.10 2.3.3 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.9 2.3.3 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.8 2.3.2 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.7 2.3.2 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.6 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.5 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.4 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.3 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.2 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.1 2.3.0 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.0 2.3.0 Milvus is an open-source vector database built ...\n","sh rollingUpdate.sh -n default -i my-release -o update -t 2.5.0-beta -w 'milvusdb/milvus:v2.5.0-beta'\n","helm repo update\nhelm upgrade my-release milvus/milvus --reset-then-reuse-values --version=4.1.24 # use the helm chart version here\n","NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION \nmy-release default 1 2022-11-21 15:41:25.51539 +0800 CST deployed milvus-3.2.18 2.1.4\n","NAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 84s\nmy-release-milvus-standalone-75c599fffc-6rwlj 1/1 Running 0 84s\nmy-release-minio-744dd9586f-qngzv 1/1 Running 0 84s\n","$ kubectl get pods my-release-milvus-proxy-6c548f787f-scspp -o=jsonpath='{$.spec.containers[0].image}'\n# milvusdb/milvus:v2.1.4\n","./migrate.sh -i my-release -s 2.1.4 -t 2.5.0-beta\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev -w milvusdb/milvus:v2.5.0-beta\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -w milvusdb/milvus:v2.5.0-beta -d true\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev -o rollback -w milvusdb/milvus:v2.1.1\n./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev -o migrate -w milvusdb/milvus:v2.5.0-beta\n"],"headingContent":"Upgrade Milvus Standalone with Helm Chart","anchorList":[{"label":"Upgrade Milvus Standalone with Helm Chart","href":"Upgrade-Milvus-Standalone-with-Helm-Chart","type":1,"isActive":false},{"label":"Prerequisites","href":"Prerequisites","type":2,"isActive":false},{"label":"Check the Milvus version","href":"Check-the-Milvus-version","type":2,"isActive":false},{"label":"Conduct a rolling upgrade","href":"Conduct-a-rolling-upgrade","type":2,"isActive":false},{"label":"Upgrade Milvus using Helm","href":"Upgrade-Milvus-using-Helm","type":2,"isActive":false},{"label":"Migrate the metadata","href":"Migrate-the-metadata","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ helm repo update\n$ helm search repo zilliztech/milvus --versions\n","helm repo add zilliztech https://zilliztech.github.io/milvus-helm\nhelm repo update zilliztech\n# upgrade existing helm release\nhelm upgrade my-release zilliztech/milvus --reset-then-reuse-values\n","NAME CHART VERSION APP VERSION DESCRIPTION \nzilliztech/milvus 4.1.34 2.4.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.33 2.4.4 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.32 2.4.3 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.31 2.4.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.30 2.4.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.29 2.4.0 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.24 2.3.11 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.23 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.22 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.21 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.20 2.3.10 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.18 2.3.10 Milvus is an open-source vector database built ... \nzilliztech/milvus 4.1.18 2.3.9 Milvus is an open-source vector database built ... \nzilliztech/milvus 4.1.17 2.3.8 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.16 2.3.7 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.15 2.3.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.14 2.3.6 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.13 2.3.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.12 2.3.5 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.11 2.3.4 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.10 2.3.3 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.9 2.3.3 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.8 2.3.2 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.7 2.3.2 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.6 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.5 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.4 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.3 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.2 2.3.1 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.1 2.3.0 Milvus is an open-source vector database built ...\nzilliztech/milvus 4.1.0 2.3.0 Milvus is an open-source vector database built ...\n","sh rollingUpdate.sh -n default -i my-release -o update -t 2.5.0-beta -w 'milvusdb/milvus:v2.5.0-beta'\n","helm repo update\nhelm upgrade my-release milvus/milvus --reset-then-reuse-values --version=4.1.24 # use the helm chart version here\n","NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION \nmy-release default 1 2022-11-21 15:41:25.51539 +0800 CST deployed milvus-3.2.18 2.1.4\n","NAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 84s\nmy-release-milvus-standalone-75c599fffc-6rwlj 1/1 Running 0 84s\nmy-release-minio-744dd9586f-qngzv 1/1 Running 0 84s\n","$ kubectl get pods my-release-milvus-proxy-6c548f787f-scspp -o=jsonpath='{$.spec.containers[0].image}'\n# milvusdb/milvus:v2.1.4\n","./migrate.sh -i my-release -s 2.1.4 -t 2.5.0-beta\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev -w milvusdb/milvus:v2.5.0-beta\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -w milvusdb/milvus:v2.5.0-beta -d true\n","./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev -o rollback -w milvusdb/milvus:v2.1.1\n./migrate.sh -i my-release -n milvus -s 2.1.4 -t 2.5.0-beta -r by-dev -o migrate -w milvusdb/milvus:v2.5.0-beta\n"],"headingContent":"Upgrade Milvus Standalone with Helm Chart","anchorList":[{"label":"Upgrade von Milvus Standalone mit Helm Chart","href":"Upgrade-Milvus-Standalone-with-Helm-Chart","type":1,"isActive":false},{"label":"Voraussetzungen","href":"Prerequisites","type":2,"isActive":false},{"label":"Prüfen Sie die Milvus-Version","href":"Check-the-Milvus-version","type":2,"isActive":false},{"label":"Durchführen eines rollenden Upgrades","href":"Conduct-a-rolling-upgrade","type":2,"isActive":false},{"label":"Upgrade von Milvus mit Helm","href":"Upgrade-Milvus-using-Helm","type":2,"isActive":false},{"label":"Migrieren Sie die Metadaten","href":"Migrate-the-metadata","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.md b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.md
index cc4c68243..bc5849dc1 100644
--- a/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.md
+++ b/localization/v2.5.x/site/de/adminGuide/upgrade_milvus_standalone-helm.md
@@ -4,11 +4,11 @@ label: Helm
order: 1
group: upgrade_milvus_standalone-operator.md
related_key: upgrade Milvus Standalone
-summary: Learn how to upgrade Milvus standalone with Helm Chart.
-title: Upgrade Milvus Standalone with Helm Chart
+summary: 'Erfahren Sie, wie Sie Milvus Standalone mit Helm Chart aktualisieren können.'
+title: Upgrade von Milvus Standalone mit Helm Chart
---
-
This guide describes how to upgrade your Milvus standalone with Milvus Helm charts.
-
Prerequisites
+
Diese Anleitung beschreibt, wie Sie Ihr Milvus Standalone mit Milvus Helm Charts aufrüsten.
+
Voraussetzungen
-
Helm version >= 3.14.0
-
Kubernetes version >= 1.20.0
+
Helm-Version >= 3.14.0
+
Kubernetes-Version >= 1.20.0
-
Since Milvus-Helm chart version 4.2.21, we introduced pulsar-v3.x chart as dependency. For backward compatibility, please upgrade your helm to v3.14 or later version, and be sure to add the --reset-then-reuse-values option whenever you use helm upgrade.
+
Seit Milvus-Helm Chart Version 4.2.21 haben wir pulsar-v3.x Chart als Abhängigkeit eingeführt. Aus Gründen der Abwärtskompatibilität aktualisieren Sie bitte Ihren Helm auf v3.14 oder eine neuere Version und fügen Sie unbedingt die Option --reset-then-reuse-values hinzu, wenn Sie helm upgrade verwenden.
-
Check the Milvus version
+
Prüfen Sie die Milvus-Version
-
Run the following commands to check new Milvus versions.
+
Führen Sie die folgenden Befehle aus, um neue Milvus-Versionen zu überprüfen.
The Milvus Helm Charts repo at https://milvus-io.github.io/milvus-helm/ has been archived and you can get further updates from https://zilliztech.github.io/milvus-helm/ as follows:
+
Das Milvus Helm Charts Repo unter https://milvus-io.github.io/milvus-helm/ wurde archiviert und Sie können weitere Updates von https://zilliztech.github.io/milvus-helm/ wie folgt erhalten:
The archived repo is still available for the charts up to 4.0.31. For later releases, use the new repo instead.
+
Das archivierte Repo ist immer noch für die Charts bis 4.0.31 verfügbar. Für spätere Versionen verwenden Sie stattdessen das neue Repo.
NAME CHART VERSION APP VERSION DESCRIPTION
zilliztech/milvus 4.1.34 2.4.5 Milvus is an open-source vector database built ...
@@ -107,14 +107,14 @@ zilliztech/milvus 4.1.2 2.3.1 Milvus is an ope
zilliztech/milvus 4.1.1 2.3.0 Milvus is an open-source vector database built ...
zilliztech/milvus 4.1.0 2.3.0 Milvus is an open-source vector database built ...
-
You can choose the upgrade path for your Milvus as follows:
-
- [Conduct a rolling upgrade](#conduct-a-rolling-upgrade) from Milvus v2.2.3 and later releases to v2.5.0-beta.
+
Sie können den Upgrade-Pfad für Ihren Milvus wie folgt wählen:
+
- [Führen Sie ein rollendes Upgrade durch](#conduct-a-rolling-upgrade) von Milvus v2.2.3 und späteren Versionen auf v2.5.0-beta.
Since Milvus 2.2.3, you can configure Milvus coordinators to work in active-standby mode and enable the rolling upgrade feature for them, so that Milvus can respond to incoming requests during the coordinator upgrades. In previous releases, coordinators are to be removed and then created during an upgrade, which may introduce certain downtime of the service.
-
Rolling upgrades requires coordinators to work in active-standby mode. You can use the script we provide to configure the coordinators to work in active-standby mode and start the rolling upgrade.
-
Based on the rolling update capabilities provided by Kubernetes, the above script enforces an ordered update of the deployments according to their dependencies. In addition, Milvus implements a mechanism to ensure that its components remain compatible with those depending on them during the upgrade, significantly reducing potential service downtime.
-
The script applies only to the upgrade of Milvus installed with Helm. The following table lists the command flags available in the scripts.
+
Seit Milvus 2.2.3 können Sie Milvus-Koordinatoren so konfigurieren, dass sie im Aktiv-Standby-Modus arbeiten, und die Funktion "Rolling Upgrade" für sie aktivieren, so dass Milvus auf eingehende Anfragen während der Koordinator-Upgrades reagieren kann. In früheren Versionen müssen die Koordinatoren während eines Upgrades entfernt und neu erstellt werden, was zu einer gewissen Ausfallzeit des Dienstes führen kann.
+
Rolling Upgrades erfordern, dass die Koordinatoren im Aktiv-Standby-Modus arbeiten. Sie können das von uns bereitgestellte Skript verwenden, um die Koordinatoren so zu konfigurieren, dass sie im aktiven Standby-Modus arbeiten, und das Rolling Upgrade starten.
+
Auf der Grundlage der von Kubernetes bereitgestellten rollenden Aktualisierungsfunktionen erzwingt das oben genannte Skript eine geordnete Aktualisierung der Bereitstellungen entsprechend ihrer Abhängigkeiten. Darüber hinaus implementiert Milvus einen Mechanismus, der sicherstellt, dass seine Komponenten während des Upgrades mit den von ihnen abhängigen Komponenten kompatibel bleiben, wodurch potenzielle Service-Ausfallzeiten erheblich reduziert werden.
+
Das Skript gilt nur für das Upgrade von Milvus, das mit Helm installiert wurde. In der folgenden Tabelle sind die in den Skripten verfügbaren Befehlsflags aufgeführt.
-
Parameters
Description
Default value
Required
+
Parameter
Beschreibung
Standardwert
Erforderlich
-
i
Milvus instance name
None
True
-
n
Namespace that Milvus is installed in
default
False
-
t
Target Milvus version
None
True
-
w
New Milvus image tag
milvusdb/milvus:v2.2.3
True
-
o
Operation
update
False
+
i
Milvus-Instanzname
None
True
+
n
Namespace, in dem Milvus installiert ist
default
Falsch
+
t
Ziel-Milvus-Version
None
Wahr
+
w
Neues Milvus-Bild-Tag
milvusdb/milvus:v2.2.3
Wahr
+
o
Vorgang
update
Falsch
-
Once you have ensured that all deployments in your Milvus instance are in their normal status. You can run the following command to upgrade the Milvus instance to 2.5.0-beta.
+
Sobald Sie sichergestellt haben, dass sich alle Einsätze in Ihrer Milvus-Instanz in ihrem normalen Status befinden, können Sie den folgenden Befehl ausführen, um die Milvus-Instanz auf 2.5.0-beta zu aktualisieren. Sie können den folgenden Befehl ausführen, um die Milvus-Instanz auf 2.5.0-beta zu aktualisieren.
The script does not apply to the Milvus instance installed with RocksMQ.
-
The script hard-codes the upgrade order of the deployments and cannot be changed.
-
The script uses kubectl patch to update the deployments and kubectl rollout status to watch their status.
-
The script uses kubectl patch to update the app.kubernetes.io/version label of the deployments to the one specified after the -t flag in the command.
+
Das Skript gilt nicht für die mit RocksMQ installierte Milvus-Instanz.
+
Das Skript kodiert die Upgrade-Reihenfolge der Bereitstellungen fest und kann nicht geändert werden.
+
Das Skript verwendet kubectl patch, um die Bereitstellungen zu aktualisieren, und kubectl rollout status, um ihren Status zu überwachen.
+
Das Skript verwendet kubectl patch, um die Bezeichnung app.kubernetes.io/version der Bereitstellungen auf die Bezeichnung zu aktualisieren, die nach dem Flag -t im Befehl angegeben ist.
-
Upgrade Milvus using Helm
+
Upgrade von Milvus mit Helm
-
To upgrade Milvus from a minor release before v2.2.3 to the latest, run the following commands:
+
Um Milvus von einer Nebenversion vor v2.2.3 auf die neueste Version zu aktualisieren, führen Sie die folgenden Befehle aus:
helm repo update
helm upgrade my-release milvus/milvus --reset-then-reuse-values --version=4.1.24# use the helm chart version here
-
Use the Helm chart version in the preceding command. For details on how to obtain the Helm chart version, refer to Check the Milvus version.
-
Migrate the metadata
+
Verwenden Sie die Helm-Diagrammversion im vorangegangenen Befehl. Einzelheiten dazu, wie Sie die Helm-Chart-Version erhalten, finden Sie unter Prüfen der Milvus-Version.
+
Migrieren Sie die Metadaten
-
Since Milvus 2.2.0, the metadata is incompatible with that in previous releases. The following example snippets assume an upgrade from Milvus 2.1.4 to Milvus 2.2.0.
-
1. Check the Milvus version
Run $ helm list to check your Milvus app version. You can see the APP VERSION is 2.1.4.
+
Seit Milvus 2.2.0 sind die Metadaten nicht mehr mit denen früherer Versionen kompatibel. Die folgenden Beispielausschnitte gehen von einem Upgrade von Milvus 2.1.4 auf Milvus 2.2.0 aus.
+
1. Prüfen Sie die Milvus-Version
Führen Sie $ helm list aus, um die Version Ihrer Milvus-Anwendung zu überprüfen. Sie können sehen, dass APP VERSION 2.1.4 ist.
Run $ kubectl get pods to check the running pods. You can see the following output.
+
2. Prüfen Sie die laufenden Pods
Führen Sie $ kubectl get pods aus, um die laufenden Pods zu überprüfen. Sie können die folgende Ausgabe sehen.
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 84s
my-release-milvus-standalone-75c599fffc-6rwlj 1/1 Running 0 84s
my-release-minio-744dd9586f-qngzv 1/1 Running 0 84s
-
3. Check the image tag
Check the image tag for the pod my-release-milvus-proxy-6c548f787f-scspp. You can see the release of your Milvus cluster is v2.1.4.
+
3. Überprüfen Sie das Image-Tag
Überprüfen Sie das Image-Tag für den Pod my-release-milvus-proxy-6c548f787f-scspp. Sie können sehen, dass die Version Ihres Milvus-Clusters v2.1.4 ist.
$ kubectl get pods my-release-milvus-proxy-6c548f787f-scspp -o=jsonpath='{$.spec.containers[0].image}'# milvusdb/milvus:v2.1.4
-
4. Migrate the metadata
A major change in Milvus 2.2 is the metadata structure of segment indexes. Therefore, you need to use Helm to migrate the metadata while upgrading Milvus from v2.1.x to v2.2.0. Here is a script for you to safely migrate your metadata.
-
This script only applies to Milvus installed on a K8s cluster. Roll back to the previous version with the rollback operation first if an error occurs during the process.
-
The following table lists the operations you can do for meta migration.
+
4. Migrieren Sie die Metadaten
Eine wichtige Änderung in Milvus 2.2 ist die Metadatenstruktur der Segmentindizes. Daher müssen Sie Helm verwenden, um die Metadaten beim Upgrade von Milvus von v2.1.x auf v2.2.0 zu migrieren. Hier finden Sie ein Skript, mit dem Sie Ihre Metadaten sicher migrieren können.
+
Dieses Skript gilt nur für Milvus, das auf einem K8s-Cluster installiert ist. Wenn während des Prozesses ein Fehler auftritt, sollten Sie zunächst mit der Rollback-Operation auf die vorherige Version zurückkehren.
+
In der folgenden Tabelle sind die Operationen aufgeführt, die Sie für die Metamigration durchführen können.
-
Parameters
Description
Default value
Required
+
Parameter
Beschreibung
Standardwert
Erforderlich
-
i
The Milvus instance name.
None
True
-
n
The namespace that Milvus is installed in.
default
False
-
s
The source Milvus version.
None
True
-
t
The target Milvus version.
None
True
-
r
The root path of Milvus meta.
by-dev
False
-
w
The new Milvus image tag.
milvusdb/milvus:v2.2.0
False
-
m
The meta migration image tag.
milvusdb/meta-migration:v2.2.0
False
-
o
The meta migration operation.
migrate
False
-
d
Whether to delete migration pod after the migration is completed.
false
False
-
c
The storage class for meta migration pvc.
default storage class
False
-
e
The etcd enpoint used by milvus.
etcd svc installed with milvus
False
+
i
Der Name der Milvus-Instanz.
None
True
+
n
Der Namespace, in dem Milvus installiert ist.
default
Falsch
+
s
Die Quellversion von Milvus.
None
True
+
t
Die Zielversion von Milvus.
None
Wahr
+
r
Der Wurzelpfad von Milvus meta.
by-dev
False
+
w
Das neue Milvus-Bild-Tag.
milvusdb/milvus:v2.2.0
False
+
m
Das Meta-Migrationsbild-Tag.
milvusdb/meta-migration:v2.2.0
False
+
o
Der Meta-Migrationsvorgang.
migrate
False
+
d
Ob der Migrations-Pod nach Abschluss der Migration gelöscht werden soll.
Stoppen Sie die Milvus-Komponenten. Jede Live-Sitzung im Milvus etcd kann einen Migrationsfehler verursachen.
+
Erstellen Sie ein Backup für die Milvus-Metadaten.
+
Migrieren Sie die Milvus-Metadaten.
+
Starten Sie die Milvus-Komponenten mit einem neuen Image.
-
2. Upgrade Milvus from v2.1.x to 2.5.0-beta
The following commands assume that you upgrade Milvus from v2.1.4 to 2.5.0-beta. Change them to the versions that fit your needs.
+
2. Upgrade von Milvus von v2.1.x auf 2.5.0-beta
Die folgenden Befehle gehen davon aus, dass Sie Milvus von v2.1.4 auf 2.5.0-beta aktualisieren. Ändern Sie sie auf die Versionen, die Ihren Bedürfnissen entsprechen.
Um Milvus von v2.1.x auf 2.5.0-beta zu aktualisieren, müssen Sie die Metadaten vor dem eigentlichen Upgrade migrieren.
-
Conduct a rolling upgrade
+
Durchführen eines rollenden Upgradesoperator upgrade milvus-
-
Since Milvus 2.2.3, you can configure Milvus coordinators to work in active-standby mode and enable the rolling upgrade feature for them, so that Milvus can respond to incoming requests during the coordinator upgrades. In previous releases, coordinators are to be removed and then created during an upgrade, which may introduce certain downtime of the service.
-
Based on the rolling update capabilities provided by Kubernetes, the Milvus operator enforces an ordered update of the deployments according to their dependencies. In addition, Milvus implements a mechanism to ensure that its components remain compatible with those depending on them during the upgrade, significantly reducing potential service downtime.
-
The rolling upgrade feature is disabled by default. You need to explicitly enable it through a configuration file.
+
Seit Milvus 2.2.3 können Sie Milvus-Koordinatoren so konfigurieren, dass sie im Aktiv-Standby-Modus arbeiten, und die Funktion des rollenden Upgrades für sie aktivieren, damit Milvus auf eingehende Anfragen während der Koordinator-Upgrades reagieren kann. In früheren Versionen müssen die Koordinatoren während eines Upgrades entfernt und neu erstellt werden, was zu einer gewissen Ausfallzeit des Dienstes führen kann.
+
Auf der Grundlage der von Kubernetes bereitgestellten rollierenden Aktualisierungsfunktionen erzwingt der Milvus-Operator eine geordnete Aktualisierung der Bereitstellungen entsprechend ihrer Abhängigkeiten. Darüber hinaus implementiert Milvus einen Mechanismus, der sicherstellt, dass seine Komponenten während des Upgrades mit den von ihnen abhängigen Komponenten kompatibel bleiben, wodurch potenzielle Ausfallzeiten des Dienstes erheblich reduziert werden.
+
Die Funktion "Rolling Upgrade" ist standardmäßig deaktiviert. Sie müssen sie explizit über eine Konfigurationsdatei aktivieren.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
@@ -78,8 +80,8 @@ spec:
imageUpdateMode: rollingUpgrade # Default value, can be omitted
image: milvusdb/milvus:v2.5.0-beta
-
In this above configuration file, set spec.components.enableRollingUpdate to true and set spec.components.image to the desired Milvus version.
-
By default, Milvus performs a rolling upgrade for coordinators in an ordered way, in which it replaces the coordinator pod images one after another. To reduce the upgrade time, consider setting spec.components.imageUpdateMode to all so that Milvus replaces all pod images at the same time.
+
In der obigen Konfigurationsdatei setzen Sie spec.components.enableRollingUpdate auf true und spec.components.image auf die gewünschte Milvus-Version.
+
Standardmäßig führt Milvus ein Rolling Upgrade für Koordinatoren in geordneter Weise durch, wobei die Pod-Images der Koordinatoren nacheinander ersetzt werden. Um die Upgrade-Zeit zu verkürzen, sollten Sie spec.components.imageUpdateMode auf all setzen, damit Milvus alle Pod-Images gleichzeitig ersetzt.
Then save your configuration as a YAML file (for example, milvusupgrade.yml) and patch this configuration file to your Milvus instance as follows:
+
Speichern Sie dann Ihre Konfiguration als YAML-Datei (z.B. milvusupgrade.yml) und patchen Sie diese Konfigurationsdatei wie folgt in Ihre Milvus-Instanz:
kubectl patch -f milvusupgrade.yml
-
Upgrade Milvus by changing its image
+
Upgrade von Milvus durch Änderung des Images
-
In normal cases, you can simply update your Milvus to the latest by changing its image. However, note that there will be a certain downtime when upgrading Milvus in this way.
-
Compose a configuration file as follows and save it as milvusupgrade.yaml:
+
Im Normalfall können Sie Ihr Milvus einfach auf die neueste Version aktualisieren, indem Sie sein Image ändern. Beachten Sie jedoch, dass es zu einer gewissen Ausfallzeit kommt, wenn Sie Milvus auf diese Weise aktualisieren.
+
Stellen Sie eine Konfigurationsdatei wie folgt zusammen und speichern Sie sie als milvusupgrade.yaml:
Führen Sie dann das Folgende aus, um das Upgrade durchzuführen:
kubectl patch -f milvusupgrade.yaml
-
Migrate the metadata
+
Migrieren Sie die Metadaten
-
Since Milvus 2.2.0, the metadata is incompatible with that in previous releases. The following example snippets assume an upgrade from Milvus 2.1.4 to Milvus v2.5.0-beta.
-
1. Create a .yaml file for metadata migration
Create a metadata migration file. The following is an example. You need to specify the name, sourceVersion, and targetVersion in the configuration file. The following example sets the name to my-release-upgrade, sourceVersion to v2.1.4, and targetVersion to v2.5.0-beta. This means that your Milvus instance will be upgraded from v2.1.4 to v2.5.0-beta.
+
Seit Milvus 2.2.0 sind die Metadaten nicht mehr mit denen früherer Versionen kompatibel. Die folgenden Beispielschnipsel gehen von einem Upgrade von Milvus 2.1.4 auf Milvus v2.5.0-beta aus.
+
1. Erstellen Sie eine .yaml Datei für die Metadaten-Migration
Erstellen Sie eine Metadaten-Migrationsdatei. Im Folgenden finden Sie ein Beispiel. Sie müssen name, sourceVersion und targetVersion in der Konfigurationsdatei angeben. Im folgenden Beispiel wird name auf my-release-upgrade, sourceVersion auf v2.1.4 und targetVersion auf v2.5.0-beta gesetzt. Dies bedeutet, dass Ihre Milvus-Instanz von v2.1.4 auf v2.5.0-beta aktualisiert wird.
Run the following command to check the status of your metadata migration.
+
3. Prüfen Sie den Status der Metadaten-Migration
Führen Sie den folgenden Befehl aus, um den Status Ihrer Metadaten-Migration zu überprüfen.
kubectl describe milvus release-name
-
The status of ready in the output means that the metadata migration is successful.
-
Or, you can also run kubectl get pod to check all the pods. If all the pods are ready, the metadata migration is successful.
-
4. Delete my-release-upgrade
When the upgrade is successful, delete my-release-upgrade in the YAML file.
+
Der Status ready in der Ausgabe bedeutet, dass die Metadaten-Migration erfolgreich war.
+
Sie können auch kubectl get pod ausführen, um alle Pods zu überprüfen. Wenn alle Pods ready sind, ist die Metadaten-Migration erfolgreich.
+
4. Löschen Sie my-release-upgrade
Wenn das Upgrade erfolgreich ist, löschen Sie my-release-upgrade in der YAML-Datei.
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-bgm-m3.md b/localization/v2.5.x/site/de/embeddings/embed-with-bgm-m3.md
index 595ac7a52..2705e23a1 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-bgm-m3.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-bgm-m3.md
@@ -2,8 +2,8 @@
id: embed-with-bgm-m3.md
order: 4
summary: >-
- BGE-M3 is named for its capabilities in Multi-Linguality, Multi-Functionality,
- and Multi-Granularity.
+ Der Name BGE-M3 steht für seine Fähigkeiten in den Bereichen
+ Multi-Lingualität, Multi-Funktionalität und Multi-Granularität.
title: BGE M3
---
BGE-M3 is named for its capabilities in Multi-Linguality, Multi-Functionality, and Multi-Granularity. Capable of supporting over 100 languages, BGE-M3 sets new benchmarks in multi-lingual and cross-lingual retrieval tasks. Its unique ability to perform dense retrieval, multi-vector retrieval, and sparse retrieval within a single framework makes it an ideal choice for a wide range of information retrieval (IR) applications.
-
Milvus integrates with the BGE M3 model using the BGEM3EmbeddingFunction class. This class handles the computation of embeddings and returns them in a format compatible with Milvus for indexing and searching. To use this feature, FlagEmbedding must be installed.
-
To use this feature, install the necessary dependencies:
+
BGE-M3 ist benannt nach seinen Fähigkeiten in Bezug auf Mehrsprachigkeit, Multifunktionalität und Multigranularität. Mit der Unterstützung von über 100 Sprachen setzt BGE-M3 neue Maßstäbe für mehrsprachige und sprachübergreifende Abfrageaufgaben. Seine einzigartige Fähigkeit, Dense Retrieval, Multi-Vektor Retrieval und Sparse Retrieval innerhalb eines einzigen Frameworks durchzuführen, macht es zur idealen Wahl für ein breites Spektrum von Information Retrieval (IR) Anwendungen.
+
Milvus lässt sich mithilfe der Klasse BGEM3EmbeddingFunction in das BGE M3-Modell integrieren. Diese Klasse übernimmt die Berechnung von Einbettungen und gibt sie in einem mit Milvus kompatiblen Format zur Indizierung und Suche zurück. Um diese Funktion zu nutzen, muss FlagEmbedding installiert sein.
+
Um diese Funktion zu nutzen, installieren Sie die erforderlichen Abhängigkeiten:
Dann instanziieren Sie die BGEM3EmbeddingFunction:
from pymilvus.model.hybrid import BGEM3EmbeddingFunction
bge_m3_ef = BGEM3EmbeddingFunction(
@@ -36,16 +36,16 @@ bge_m3_ef = BGEM3EmbeddingFunction(
use_fp16=False# Specify whether to use fp16. Set to `False` if `device` is `cpu`.
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the model to use for encoding. The value defaults to BAAI/bge-m3.
-
device (string)
-
The device to use, with cpu for the CPU and cuda:n for the nth GPU device.
-
use_fp16 (bool)
-
Whether to utilize 16-bit floating-point precision (fp16). Specify False when device is cpu.
+
model_name(string)
+
Der Name des für die Kodierung zu verwendenden Modells. Der Wert ist standardmäßig BAAI/bge-m3.
+
device(Zeichenkette)
+
Das zu verwendende Gerät, wobei cpu für die CPU und cuda:n für das n-te GPU-Gerät steht.
+
use_fp16(bool)
+
Ob die 16-Bit-Gleitkommagenauigkeit (fp16) verwendet werden soll. Geben Sie False an, wenn das Gerätcpu ist.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -61,7 +61,7 @@ docs_embeddings = bge_m3_ef.encode_documents(docs)
# Since the sparse embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.print("Sparse document dim:", bge_m3_ef.dim["sparse"], list(docs_embeddings["sparse"])[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -83,7 +83,7 @@ query_embeddings = bge_m3_ef.encode_queries(queries)
# Since the sparse embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.print("Sparse query dim:", bge_m3_ef.dim["sparse"], list(query_embeddings["sparse"])[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: {'dense': [array([-0.02024024, -0.01514386, 0.02380808, ..., 0.00234648,
-0.00264978, -0.04317448], dtype=float32), array([ 0.00648045, -0.0081542 , -0.02717067, ..., -0.00380103,
0.04200587, -0.01274772], dtype=float32)], 'sparse': <2x250002 sparse array of type'<class 'numpy.float32'>'
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-bm25.md b/localization/v2.5.x/site/de/embeddings/embed-with-bm25.md
index 3018d33e8..083735b49 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-bm25.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-bm25.md
@@ -2,8 +2,9 @@
id: embed-with-bm25.md
order: 5
summary: >-
- BM25 is a ranking function used in information retrieval to estimate the
- relevance of documents to a given search query.
+ BM25 ist eine Rangordnungsfunktion, die im Information Retrieval verwendet
+ wird, um die Relevanz von Dokumenten für eine bestimmte Suchanfrage
+ einzuschätzen.
title: BM25
---
BM25 is a ranking function used in information retrieval to estimate the relevance of documents to a given search query. It enhances the basic term frequency approach by incorporating document length normalization and term frequency saturation. BM25 can generate sparse embeddings by representing documents as vectors of term importance scores, allowing for efficient retrieval and ranking in sparse vector spaces.
-
Milvus integrates with the BM25 model using the BM25EmbeddingFunction class. This class handles the computation of embeddings and returns them in a format compatible with Milvus for indexing and searching. Essential to this process is building an analyzer for tokenization.
-
To use this feature, install the necessary dependencies:
+
BM25 ist eine Rangordnungsfunktion, die im Information Retrieval verwendet wird, um die Relevanz von Dokumenten für eine bestimmte Suchanfrage zu schätzen. Sie erweitert den grundlegenden Begriffshäufigkeitsansatz, indem sie eine Normalisierung der Dokumentlänge und eine Sättigung der Begriffshäufigkeit einbezieht. BM25 kann spärliche Einbettungen generieren, indem es Dokumente als Vektoren von Termbedeutungswerten darstellt, was ein effizientes Retrieval und Ranking in spärlichen Vektorräumen ermöglicht.
+
Milvus lässt sich mit dem BM25-Modell über die Klasse BM25EmbeddingFunction integrieren. Diese Klasse übernimmt die Berechnung der Einbettungen und gibt sie in einem mit Milvus kompatiblen Format für die Indizierung und Suche zurück. Wesentlich für diesen Prozess ist die Erstellung eines Analysators für die Tokenisierung.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
To easily create a tokenizer, Milvus offers a default analyzer that only requires specifying the language of the text.
-
Example:
+
Um einen Tokenizer einfach zu erstellen, bietet Milvus einen Standard-Analysator, der nur die Angabe der Sprache des Textes erfordert.
+
Beispiel:
from pymilvus.model.sparse.bm25.tokenizers import build_default_analyzer
from pymilvus.model.sparse import BM25EmbeddingFunction
@@ -45,23 +46,23 @@ corpus = [
tokens = analyzer(corpus[0])
print("tokens:", tokens)
-
Parameters:
+
Parameter:
-
language (string)
-
The language of the text to be tokenized. Valid options are en (English), de (German), fr (French), ru (Russian), sp (Spanish), it (Italian), pt (Portuguese), zh (Chinese), jp (Japanese), kr (Korean).
+
language(Zeichenkette)
+
Die Sprache des Textes, der tokenisiert werden soll. Gültige Optionen sind en (Englisch), de (Deutsch), fr (Französisch), ru (Russisch), sp (Spanisch), it (Italienisch), pt (Portugiesisch), zh (Chinesisch), jp (Japanisch), kr (Koreanisch).
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
The BM25 algorithm processes text by first breaking it into tokens using a built-in analyzer, as shown with English language tokens like ‘artifici’, ‘intellig’, and ‘academ’. It then gathers statistics on these tokens, evaluating their frequency and distribution across documents. The core of BM25 calculates the relevance score of each token based on its importance, with rarer tokens receiving higher scores. This concise process enables effective ranking of documents by relevance to a query.
-
To gather statistics on the corpus, use the fit() method:
+
Der BM25-Algorithmus verarbeitet den Text, indem er ihn zunächst mit einem eingebauten Analysator in Token zerlegt, wie bei den englischen Token "artifici","intellig" und "academ" gezeigt . Anschließend werden statistische Daten zu diesen Token gesammelt und ihre Häufigkeit und Verteilung in den Dokumenten ausgewertet. Der Kern von BM25 berechnet die Relevanzbewertung jedes Tokens auf der Grundlage seiner Wichtigkeit, wobei seltenere Tokens eine höhere Bewertung erhalten. Dieser prägnante Prozess ermöglicht eine effektive Einstufung von Dokumenten nach ihrer Relevanz für eine Suchanfrage.
+
Um Statistiken über den Korpus zu sammeln, verwenden Sie die fit() -Methode:
# Use the analyzer to instantiate the BM25EmbeddingFunction
bm25_ef = BM25EmbeddingFunction(analyzer)
# Fit the model on the corpus to get the statstics of the corpus
bm25_ef.fit(corpus)
-
Then, use encode_documents() to create embeddings for documents:
+
Verwenden Sie dann encode_documents(), um Einbettungen für Dokumente zu erstellen:
docs = [
"The field of artificial intelligence was established as an academic subject in 1956.",
"Alan Turing was the pioneer in conducting significant research in artificial intelligence.",
@@ -78,7 +79,7 @@ docs_embeddings = bm25_ef.encode_documents(docs)
# Since the output embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.print("Sparse dim:", bm25_ef.dim, list(docs_embeddings)[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -99,7 +100,7 @@ query_embeddings = bm25_ef.encode_queries(queries)
# Since the output embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.print("Sparse dim:", bm25_ef.dim, list(query_embeddings)[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
When using BM25EmbeddingFunction, note that encoding_queries() and encoding_documents() operations cannot be interchanged mathematically. Therefore, there is no implemented bm25_ef(texts) available.
+
Hinweise:
+
Bei der Verwendung von BM25EmbeddingFunction ist zu beachten, dass die Operationen encoding_queries() und encoding_documents() mathematisch nicht vertauscht werden können. Daher gibt es kein implementiertes bm25_ef(texts).
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-cohere.md b/localization/v2.5.x/site/de/embeddings/embed-with-cohere.md
index a92a83719..d3a14f4cb 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-cohere.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-cohere.md
@@ -2,9 +2,9 @@
id: embed-with-cohere.md
order: 9
summary: >-
- This article describes how to use the CohereEmbeddingFunction to encode
- documents and queries using the Cohere embedding model.
-title: Embed Cohere
+ Dieser Artikel beschreibt die Verwendung der CohereEmbeddingFunction zur
+ Kodierung von Dokumenten und Abfragen mit dem Cohere-Einbettungsmodell.
+title: Cohere einbetten
---
Cohere
-
Cohere’s embedding models are used to generate text embeddings, which are lists of floating-point numbers that capture semantic information about the text. These embeddings can be used for tasks like text classification and semantic search.
-
Milvus integrates with Cohere’s embedding models using the CohereEmbeddingFunction class. This class handles the computation of embeddings and returns them in a format compatible with Milvus for indexing and searching.
-
To use this feature, install the necessary dependencies:
+
Die Einbettungsmodelle von Cohere dienen zur Erzeugung von Texteinbettungen, d. h. von Listen mit Fließkommazahlen, die semantische Informationen über den Text enthalten. Diese Einbettungen können für Aufgaben wie Textklassifizierung und semantische Suche verwendet werden.
+
Milvus lässt sich mit den Einbettungsmodellen von Cohere über die Klasse CohereEmbeddingFunction integrieren. Diese Klasse übernimmt die Berechnung der Einbettungen und gibt sie in einem mit Milvus kompatiblen Format zur Indizierung und Suche zurück.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
The name of the Cohere embedding model to use for encoding. You can specify any of the available Cohere embedding model names, for example, embed-english-v3.0, embed-multilingual-v3.0, etc. If you leave this parameter unspecified, embed-english-light-v3.0 will be used. For a list of available models, refer to Embed.
-
api_key (string)
-
The API key for accessing the Cohere API.
-
input_type (string)
-
The type of input passed to the model. Required for embedding models v3 and higher.
+
model_name(string)
+
Der Name des Cohere-Einbettungsmodells, das für die Kodierung verwendet werden soll. Sie können jeden der verfügbaren Namen des Cohere-Einbettungsmodells angeben, z. B. embed-english-v3.0, embed-multilingual-v3.0, usw. Wenn Sie diesen Parameter nicht angeben, wird embed-english-light-v3.0 verwendet. Eine Liste der verfügbaren Modelle finden Sie unter Einbetten.
+
api_key(Zeichenfolge)
+
Der API-Schlüssel für den Zugriff auf die Cohere-API.
+
input_type(Zeichenkette)
+
Der Typ der Eingabe, die an das Modell übergeben wird. Erforderlich für die Einbettung von Modellen v3 und höher.
-
"search_document": Used for embeddings stored in a vector database for search use-cases.
-
"search_query": Used for embeddings of search queries run against a vector DB to find relevant documents.
-
"classification": Used for embeddings passed through a text classifier.
-
"clustering": Used for the embeddings run through a clustering algorithm.
+
"search_document": Wird für Einbettungen verwendet, die in einer Vektordatenbank für Suchzwecke gespeichert sind.
+
"search_query": Verwendet für Einbettungen von Suchanfragen, die gegen eine Vektor-DB laufen, um relevante Dokumente zu finden.
+
"classification": Verwendet für Einbettungen, die durch einen Textklassifikator geleitet werden.
+
"clustering": Wird für die Einbettungen verwendet, die einen Clustering-Algorithmus durchlaufen.
-
embedding_types (List[str])
-
The type of embeddings you want to get back. Not required and default is None, which returns the Embed Floats response type. Currently, you can only specify a single value for this parameter. Possible values:
+
embedding_types(Liste[str])
+
Der Typ der Einbettungen, den Sie zurückerhalten möchten. Nicht erforderlich und Standard ist None, was den Antworttyp Embed Floats zurückgibt. Derzeit können Sie nur einen einzigen Wert für diesen Parameter angeben. Mögliche Werte:
-
"float": Use this when you want to get back the default float embeddings. Valid for all models.
-
"binary": Use this when you want to get back signed binary embeddings. Valid for only v3 models.
-
"ubinary": Use this when you want to get back unsigned binary embeddings. Valid for only v3 models.
+
"float": Verwenden Sie diesen Wert, wenn Sie die standardmäßigen Float-Einbettungen zurückerhalten möchten. Gültig für alle Modelle.
+
"binary": Verwenden Sie diese Option, wenn Sie binäre Einbettungen mit Vorzeichen zurückbekommen möchten. Gültig nur für v3-Modelle.
+
"ubinary": Verwenden Sie diese Option, wenn Sie vorzeichenlose binäre Einbettungen zurückerhalten möchten. Gültig nur für v3-Modelle.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -73,7 +73,7 @@ docs_embeddings = cohere_ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", cohere_ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -93,7 +93,7 @@ query_embeddings = cohere_ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", cohere_ef.dim, query_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: [array([-1.33361816e-02, 9.79423523e-04, -7.28759766e-02, -1.93786621e-02,
-9.71679688e-02, 4.34875488e-02, -9.81445312e-02, 1.16882324e-01,
5.89904785e-02, -4.19921875e-02, 4.95910645e-02, 5.83496094e-02,
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-instructor.json b/localization/v2.5.x/site/de/embeddings/embed-with-instructor.json
index a78c3e862..04e43a0ab 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-instructor.json
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-instructor.json
@@ -1 +1 @@
-{"codeList":["pip install --upgrade pymilvus\npip install \"pymilvus[model]\"\n","from pymilvus.model.dense import InstructorEmbeddingFunction\n\nef = InstructorEmbeddingFunction(\n model_name=\"hkunlp/instructor-xl\", # Defaults to `hkunlp/instructor-xl`\n query_instruction=\"Represent the question for retrieval:\",\n doc_instruction=\"Represent the document for retrieval:\"\n)\n","docs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\ndocs_embeddings = ef.encode_documents(docs)\n\n# Print embeddings\nprint(\"Embeddings:\", docs_embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", ef.dim, docs_embeddings[0].shape)\n","Embeddings: [array([ 1.08575663e-02, 3.87877878e-03, 3.18090729e-02, -8.12458917e-02,\n -4.68971021e-02, -5.85585833e-02, -5.95418774e-02, -8.55880603e-03,\n -5.54775111e-02, -6.08020350e-02, 1.76202394e-02, 1.06648318e-02,\n -5.89960292e-02, -7.46861771e-02, 6.60329172e-03, -4.25189249e-02,\n ...\n -1.26921125e-02, 3.01475357e-02, 8.25323071e-03, -1.88470203e-02,\n 6.04814291e-03, -2.81618331e-02, 5.91602828e-03, 7.13866428e-02],\n dtype=float32)]\nDim: 768 (768,)\n","queries = [\"When was artificial intelligence founded\",\n \"Where was Alan Turing born?\"]\n\nquery_embeddings = ef.encode_queries(queries)\n\nprint(\"Embeddings:\", query_embeddings)\nprint(\"Dim\", ef.dim, query_embeddings[0].shape)\n","Embeddings: [array([ 1.21721877e-02, 1.88485277e-03, 3.01732980e-02, -8.10302645e-02,\n -6.13401756e-02, -3.98149453e-02, -5.18723316e-02, -6.76784338e-03,\n -6.59285188e-02, -5.38365729e-02, -5.13435388e-03, -2.49210224e-02,\n -5.74403182e-02, -7.03031123e-02, 6.63730130e-03, -3.42259370e-02,\n ...\n 7.36595877e-03, 2.85532661e-02, -1.55952033e-02, 2.13342719e-02,\n 1.51187545e-02, -2.82798670e-02, 2.69396193e-02, 6.16136603e-02],\n dtype=float32)]\nDim 768 (768,)\n"],"headingContent":"Instructor","anchorList":[{"label":"Instructor","href":"Instructor","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":["pip install --upgrade pymilvus\npip install \"pymilvus[model]\"\n","from pymilvus.model.dense import InstructorEmbeddingFunction\n\nef = InstructorEmbeddingFunction(\n model_name=\"hkunlp/instructor-xl\", # Defaults to `hkunlp/instructor-xl`\n query_instruction=\"Represent the question for retrieval:\",\n doc_instruction=\"Represent the document for retrieval:\"\n)\n","docs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\ndocs_embeddings = ef.encode_documents(docs)\n\n# Print embeddings\nprint(\"Embeddings:\", docs_embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", ef.dim, docs_embeddings[0].shape)\n","Embeddings: [array([ 1.08575663e-02, 3.87877878e-03, 3.18090729e-02, -8.12458917e-02,\n -4.68971021e-02, -5.85585833e-02, -5.95418774e-02, -8.55880603e-03,\n -5.54775111e-02, -6.08020350e-02, 1.76202394e-02, 1.06648318e-02,\n -5.89960292e-02, -7.46861771e-02, 6.60329172e-03, -4.25189249e-02,\n ...\n -1.26921125e-02, 3.01475357e-02, 8.25323071e-03, -1.88470203e-02,\n 6.04814291e-03, -2.81618331e-02, 5.91602828e-03, 7.13866428e-02],\n dtype=float32)]\nDim: 768 (768,)\n","queries = [\"When was artificial intelligence founded\",\n \"Where was Alan Turing born?\"]\n\nquery_embeddings = ef.encode_queries(queries)\n\nprint(\"Embeddings:\", query_embeddings)\nprint(\"Dim\", ef.dim, query_embeddings[0].shape)\n","Embeddings: [array([ 1.21721877e-02, 1.88485277e-03, 3.01732980e-02, -8.10302645e-02,\n -6.13401756e-02, -3.98149453e-02, -5.18723316e-02, -6.76784338e-03,\n -6.59285188e-02, -5.38365729e-02, -5.13435388e-03, -2.49210224e-02,\n -5.74403182e-02, -7.03031123e-02, 6.63730130e-03, -3.42259370e-02,\n ...\n 7.36595877e-03, 2.85532661e-02, -1.55952033e-02, 2.13342719e-02,\n 1.51187545e-02, -2.82798670e-02, 2.69396193e-02, 6.16136603e-02],\n dtype=float32)]\nDim 768 (768,)\n"],"headingContent":"Instructor","anchorList":[{"label":"Ausbilder","href":"Instructor","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-instructor.md b/localization/v2.5.x/site/de/embeddings/embed-with-instructor.md
index 3b849bde5..dbaa6a4e7 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-instructor.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-instructor.md
@@ -2,11 +2,11 @@
id: embed-with-instructor.md
order: 10
summary: >-
- This article describes how to use the InstructorEmbeddingFunction to encode
- documents and queries using the Instructor embedding model.
-title: Instructor
+ Dieser Artikel beschreibt die Verwendung der InstructorEmbeddingFunction zur
+ Kodierung von Dokumenten und Abfragen mit dem Instructor Embedding Model.
+title: Ausbilder
---
-
Instructor
+
Ausbilder
-
Instructor is an instruction-finetuned text embedding model that can generate text embeddings tailored to any task (e.g., classification, retrieval, clustering, text evaluation, etc.) and domains (e.g., science, finance, etc.) by simply providing the task instruction, without any finetuning.
-
Milvus integrates with Instructor’s embedding models via the InstructorEmbeddingFunction class. This class provides methods for encoding documents and queries using the Instructor embedding models and returning the embeddings as dense vectors compatible with Milvus indexing.
-
To use this feature, install the necessary dependencies:
+
Instructor ist ein anweisungsgesteuertes Texteinbettungsmodell, das Texteinbettungen für beliebige Aufgaben (z.B. Klassifikation, Retrieval, Clustering, Textevaluation usw.) und Domänen (z.B. Wissenschaft, Finanzen usw.) generieren kann, indem es einfach die Aufgabenanweisung bereitstellt, ohne jegliche Feinabstimmung.
+
Milvus lässt sich über die Klasse InstructorEmbeddingFunction mit den Einbettungsmodellen von Instructor integrieren. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung der Instructor-Einbettungsmodelle und gibt die Einbettungen als dichte Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
Then, instantiate the InstructorEmbeddingFunction:
+
Dann instanziieren Sie die InstructorEmbeddingFunction:
from pymilvus.model.dense import InstructorEmbeddingFunction
ef = InstructorEmbeddingFunction(
@@ -36,16 +36,16 @@ ef = InstructorEmbeddingFunction(
doc_instruction="Represent the document for retrieval:"
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the Mistral AI embedding model to use for encoding. The value defaults to hkunlp/instructor-xl. For more information, refer to Model List.
-
query_instruction (string)
-
Task-specific instruction that guides the model on how to generate an embedding for a query or question.
-
doc_instruction (string)
-
Task-specific instruction that guides the model to generate an embedding for a document.
+
model_name(string)
+
Der Name des Mistral AI Einbettungsmodells, das für die Kodierung verwendet werden soll. Der Wert ist standardmäßig hkunlp/instructor-xl. Weitere Informationen finden Sie unter Model List.
+
query_instruction(Zeichenkette)
+
Aufgabenspezifische Anweisung, die das Modell anleitet, wie es eine Einbettung für eine Abfrage oder eine Frage generieren soll.
+
doc_instruction(Zeichenkette)
+
Aufgabenspezifische Anweisung, die das Modell anleitet, eine Einbettung für ein Dokument zu erzeugen.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -59,7 +59,7 @@ docs_embeddings = ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -79,7 +79,7 @@ query_embeddings = ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", ef.dim, query_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: [array([ 1.21721877e-02, 1.88485277e-03, 3.01732980e-02, -8.10302645e-02,
-6.13401756e-02, -3.98149453e-02, -5.18723316e-02, -6.76784338e-03,
-6.59285188e-02, -5.38365729e-02, -5.13435388e-03, -2.49210224e-02,
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-jina.md b/localization/v2.5.x/site/de/embeddings/embed-with-jina.md
index d9d18b1fd..e8ead69e3 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-jina.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-jina.md
@@ -2,9 +2,9 @@
id: embed-with-jina.md
order: 8
summary: >-
- This article describes how to use the JinaEmbeddingFunction to encode
- documents and queries using the Jina AI embedding model.
-title: Jina AI - Embed
+ Dieser Artikel beschreibt, wie man die JinaEmbeddingFunction verwendet, um
+ Dokumente und Abfragen mit dem Jina AI Embedding Model zu kodieren.
+title: Jina AI - Einbetten
---
Jina AI
-
Jina AI’s embedding models are high-performance text embedding models that can translate textual inputs into numerical representations, capturing the semantics of the text. These models excel in applications like dense retrieval, semantic textual similarity, and multilingual understanding.
-
Milvus integrates with Jina AI’s embedding models via the JinaEmbeddingFunction class. This class provides methods for encoding documents and queries using the Jina AI embedding models and returning the embeddings as dense vectors compatible with Milvus indexing. To utilize this functionality, obtain an API key from Jina AI.
-
To use this feature, install the necessary dependencies:
+
Die Einbettungsmodelle von Jina AI sind leistungsstarke Modelle zur Texteinbettung, die Texteingaben in numerische Darstellungen übersetzen können und dabei die Semantik des Textes erfassen. Diese Modelle eignen sich hervorragend für Anwendungen wie dichtes Retrieval, semantische Textähnlichkeit und mehrsprachiges Verständnis.
+
Milvus lässt sich über die Klasse JinaEmbeddingFunction mit den Einbettungsmodellen von Jina AI integrieren. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung der Jina AI Einbettungsmodelle und gibt die Einbettungen als dichte Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind. Um diese Funktionalität nutzen zu können, müssen Sie einen API-Schlüssel von Jina AI erhalten.
+
Um diese Funktion zu nutzen, installieren Sie die erforderlichen Abhängigkeiten:
from pymilvus.model.dense import JinaEmbeddingFunction
jina_ef = JinaEmbeddingFunction(
@@ -37,27 +37,27 @@ jina_ef = JinaEmbeddingFunction(
dimensions=1024, # Defaults to 1024
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the Jina AI embedding model to use for encoding. You can specify any of the available Jina AI embedding model names, for example, jina-embeddings-v3, jina-embeddings-v2-base-en, etc. If you leave this parameter unspecified, jina-embeddings-v3 will be used. For a list of available models, refer to Jina Embeddings.
-
api_key (string)
-
The API key for accessing the Jina AI API.
-
task (string)
-
The type of input passed to the model. Required for embedding models v3 and higher.
+
model_name(String)
+
Der Name des Jina AI Einbettungsmodells, das für die Kodierung verwendet werden soll. Sie können jeden der verfügbaren Namen des Jina AI-Einbettungsmodells angeben, z. B. jina-embeddings-v3, jina-embeddings-v2-base-en, usw. Wenn Sie diesen Parameter nicht angeben, wird jina-embeddings-v3 verwendet. Eine Liste der verfügbaren Modelle finden Sie unter Jina Embeddings.
+
api_key(Zeichenkette)
+
Der API-Schlüssel für den Zugriff auf die Jina AI API.
+
task(Zeichenkette)
+
Der Typ der an das Modell übergebenen Eingabe. Erforderlich für Einbettungsmodelle v3 und höher.
-
"retrieval.passage": Used to encode large documents in retrieval tasks at indexing time.
-
"retrieval.query": Used to encode user queries or questions in retrieval tasks.
-
"classification": Used to encode text for text classification tasks.
-
"text-matching": Used to encode text for similarity matching, such as measuring similarity between two sentences.
-
"clustering": Used for clustering or reranking tasks.
+
"retrieval.passage": Wird verwendet, um große Dokumente in Retrieval-Aufgaben zum Zeitpunkt der Indizierung zu kodieren.
+
"retrieval.query": Wird verwendet, um Benutzeranfragen oder Fragen in Retrieval-Aufgaben zu kodieren.
+
"classification": Zur Kodierung von Text für Textklassifizierungsaufgaben.
+
"text-matching": Kodierung von Text für Ähnlichkeitsvergleiche, z. B. zur Messung der Ähnlichkeit zwischen zwei Sätzen.
+
"clustering": Wird für Clustering- oder Reranking-Aufgaben verwendet.
-
dimensions (int)
-
The number of dimensions the resulting output embeddings should have. Defaults to 1024. Only supported for embedding models v3 and higher.
-
late_chunking (bool)
-
This parameter controls whether to use the new chunking method Jina AI introduced last month for encoding a batch of sentences. Defaults to False. When set to True, Jina AI API will concatenate all sentences in the input field and feed them as a single string to the model. Internally, the model embeds this long concatenated string and then performs late chunking, returning a list of embeddings that matches the size of the input list.
+
dimensions(int)
+
Die Anzahl der Dimensionen, die die resultierenden Ausgabeeinbettungen haben sollen. Der Standardwert ist 1024. Wird nur für Einbettungsmodelle v3 und höher unterstützt.
+
late_chunking(bool)
+
Dieser Parameter steuert, ob die neue Chunking-Methode verwendet werden soll, die Jina AI letzten Monat für die Kodierung einer Reihe von Sätzen eingeführt hat. Der Standardwert ist False. Wenn er auf True gesetzt wird, verkettet Jina AI API alle Sätze im Eingabefeld und gibt sie als eine einzige Zeichenkette an das Modell weiter. Intern bettet das Modell diese lange, verkettete Zeichenkette ein und führt dann ein Late Chunking durch, wobei es eine Liste von Einbettungen zurückgibt, die der Größe der Eingabeliste entspricht.
-
To create embeddings for documents, use the encode_documents() method. This method is designed for documents embeddings in asymmetric retrieval tasks, such as indexing documents for search or recommendation tasks. This method uses retrieval.passage as the task.
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents(). Diese Methode wurde für die Einbettung von Dokumenten in asymmetrischen Retrieval-Aufgaben entwickelt, z. B. die Indizierung von Dokumenten für Such- oder Empfehlungsaufgaben. Diese Methode verwendet retrieval.passage als Aufgabe.
```python
docs = [
@@ -73,7 +73,7 @@ docs_embeddings = jina_ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", jina_ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method. This method is designed for query embeddings in asymmetric retrieval tasks, such as search queries or questions. This method uses retrieval.query as the task.
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries(). Diese Methode wurde für die Einbettung von Abfragen in asymmetrischen Retrieval-Aufgaben entwickelt, wie z. B. Suchanfragen oder Fragen. Diese Methode verwendet retrieval.query als Aufgabe.
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -93,7 +93,7 @@ query_embeddings = jina_ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", jina_ef.dim, query_embeddings[0].shape)
-
The expected output is similar to the following:
+
Das erwartete Ergebnis ist ähnlich wie das folgende:
To create embeddings of inputs for similarity matching (such as STS or symmetric retrieval tasks), text classification, clustering, or reranking tasks, use the appropriate task parameter value when instantiating the JinaEmbeddingFunction class.
+
Um Einbettungen von Eingaben für Ähnlichkeitsabgleiche (z. B. STS oder symmetrische Abrufaufgaben), Textklassifizierung, Clustering oder Reranking-Aufgaben zu erstellen, verwenden Sie den entsprechenden task Parameterwert bei der Instanziierung der Klasse JinaEmbeddingFunction.
from pymilvus.model.dense import JinaEmbeddingFunction
jina_ef = JinaEmbeddingFunction(
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-mgte.md b/localization/v2.5.x/site/de/embeddings/embed-with-mgte.md
index 4084dbcf7..0aa5e8d2c 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-mgte.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-mgte.md
@@ -2,8 +2,8 @@
id: embed-with-mgte.md
order: 13
summary: >-
- This article describes how to use the MGTEEmbeddingFunction to encode
- documents and queries using the mGTE embedding model.
+ Dieser Artikel beschreibt die Verwendung der MGTEEmbeddingFunction, um
+ Dokumente und Abfragen mit dem mGTE-Einbettungsmodell zu kodieren.
title: mGTE
---
mGTE is a multilingual text representation model and reranking model for text retrieval tasks.
-
Milvus integrates with the mGTE embedding model via the MGTEEmbeddingFunction class. This class provides methods for encoding documents and queries using the mGTE embedding model and returning the embeddings as dense and sparse vectors compatible with Milvus indexing.
-
To use this feature, install the necessary dependencies:
+
mGTE ist ein mehrsprachiges Textrepräsentationsmodell und ein Reranking-Modell für Textsuchaufgaben.
+
Milvus lässt sich über die Klasse MGTEEmbeddingFunction mit dem mGTE-Einbettungsmodell integrieren. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung des mGTE-Einbettungsmodells und gibt die Einbettungen als dichte und spärliche Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
from pymilvus.model.hybrid import MGTEEmbeddingFunction
ef = MGTEEmbeddingFunction(
model_name="Alibaba-NLP/gte-multilingual-base", # Defaults to `Alibaba-NLP/gte-multilingual-base`
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the mGTE embedding model to use for encoding. The value defaults to Alibaba-NLP/gte-multilingual-base.
+
model_name(string)
+
Der Name des mGTE-Einbettungsmodells, das für die Kodierung verwendet werden soll. Der Wert ist standardmäßig Alibaba-NLP/gte-multilingual-base.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -53,7 +53,7 @@ docs_embeddings = ef.encode_documents(docs)
# Print dimension of embeddingsprint(ef.dim)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -75,7 +75,7 @@ query_embeddings = ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print(ef.dim)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: {'dense': [tensor([ 6.5883e-03, -7.9415e-03, -3.3669e-02, -2.6450e-02, 1.4345e-02,
1.9612e-02, -8.1679e-02, 5.6361e-02, 6.9020e-02, 1.9827e-02,
-9.2933e-03, -1.9995e-02, -1.0055e-01, -5.4053e-02, -8.5991e-02,
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-mistral-ai.md b/localization/v2.5.x/site/de/embeddings/embed-with-mistral-ai.md
index 16ebe5149..5157f001f 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-mistral-ai.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-mistral-ai.md
@@ -2,8 +2,8 @@
id: embed-with-mistral-ai.md
order: 11
summary: >-
- This article describes how to use the MistralAIEmbeddingFunction to encode
- documents and queries using the Mistral AI embedding model.
+ Dieser Artikel beschreibt, wie man die MistralAIEmbeddingFunction benutzt, um
+ Dokumente und Abfragen mit dem Mistral AI Embedding Model zu kodieren.
title: Mistral AI
---
Mistral AI's embedding models are text embedding models designed to convert textual inputs into dense numerical vectors, effectively capturing the underlying meaning of the text. These models are highly optimized for tasks such as semantic search, natural language understanding, and context-aware applications, making them suitable for a wide range of AI-powered solutions.
-
Milvus integrates with Mistral AI’s embedding models via the MistralAIEmbeddingFunction class. This class provides methods for encoding documents and queries using the Mistral AI embedding models and returning the embeddings as dense vectors compatible with Milvus indexing. To utilize this functionality, obtain an API key from Mistral AI.
-
To use this feature, install the necessary dependencies:
+
Die Einbettungsmodelle vonMistral AI sind Text-Einbettungsmodelle, die entwickelt wurden, um Texteingaben in dichte numerische Vektoren umzuwandeln und so die zugrunde liegende Bedeutung des Textes effektiv zu erfassen. Diese Modelle sind für Aufgaben wie semantische Suche, natürliches Sprachverständnis und kontextabhängige Anwendungen optimiert und eignen sich daher für eine Vielzahl von KI-gestützten Lösungen.
+
Milvus lässt sich mit den Einbettungsmodellen von Mistral AI über die Klasse MistralAIEmbeddingFunction integrieren. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung der Mistral AI Einbettungsmodelle und gibt die Einbettungen als dichte Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind. Um diese Funktionalität nutzen zu können, muss ein API-Schlüssel von Mistral AI erworben werden.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
Dann instanziieren Sie die MistralAIEmbeddingFunction:
from pymilvus.model.dense import MistralAIEmbeddingFunction
ef = MistralAIEmbeddingFunction(
@@ -35,14 +35,14 @@ ef = MistralAIEmbeddingFunction(
api_key="MISTRAL_API_KEY"# Provide your Mistral AI API key
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the Mistral AI embedding model to use for encoding. The value defaults to mistral-embed. For more information, refer to Embeddings.
-
api_key (string)
-
The API key for accessing the Mistral AI API.
+
model_name(String)
+
Der Name des Mistral AI Einbettungsmodells, das für die Kodierung verwendet werden soll. Der Wert ist standardmäßig mistral-embed. Für weitere Informationen siehe Embeddings.
+
api_key(Zeichenkette)
+
Der API-Schlüssel für den Zugriff auf die Mistral AI API.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -56,14 +56,14 @@ docs_embeddings = ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -72,7 +72,7 @@ query_embeddings = ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", ef.dim, query_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: [array([-0.04916382, 0.04568481, 0.03594971, ..., -0.02653503,
0.02804565, 0.00600815]), array([-0.05938721, 0.07098389, 0.01773071, ..., -0.01708984,
0.03582764, 0.00366592])]
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-nomic.md b/localization/v2.5.x/site/de/embeddings/embed-with-nomic.md
index 061779770..7f6a83a90 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-nomic.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-nomic.md
@@ -2,8 +2,8 @@
id: embed-with-nomic.md
order: 12
summary: >-
- This article describes how to use the NomicEmbeddingFunction to encode
- documents and queries using the Nomic embedding model.
+ Dieser Artikel beschreibt, wie die NomicEmbeddingFunction verwendet wird, um
+ Dokumente und Abfragen mit dem Nomic Embedding Model zu kodieren.
title: Nomic
---
Nomic models are a series of advanced text and image embedding solutions developed by Nomic AI, designed to convert various forms of data into dense numerical vectors that capture their semantic meaning.
-
Milvus integrates with Nomic’s embedding models via the NomicEmbeddingFunction class. This class provides methods for encoding documents and queries using the Nomic embedding models and returning the embeddings as dense vectors compatible with Milvus indexing. To utilize this functionality, obtain an API key from Nomic Atlas.
-
To use this feature, install the necessary dependencies:
+
Nomic-Modelle sind eine Reihe von fortschrittlichen Text- und Bildeinbettungslösungen, die von Nomic AI entwickelt wurden, um verschiedene Formen von Daten in dichte numerische Vektoren zu konvertieren, die ihre semantische Bedeutung erfassen.
+
Milvus lässt sich über die Klasse NomicEmbeddingFunction mit den Einbettungsmodellen von Nomic integrieren. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung der Nomic-Einbettungsmodelle und gibt die Einbettungen als dichte Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind. Um diese Funktionalität zu nutzen, erhalten Sie einen API-Schlüssel von Nomic Atlas.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
Dann instanziieren Sie die NomicEmbeddingFunction:
# Before accessing the Nomic Atlas API, configure your Nomic API tokenimport nomic
nomic.login('YOUR_NOMIC_API_KEY')
@@ -39,12 +39,12 @@ ef = NomicEmbeddingFunction(
model_name="nomic-embed-text-v1.5", # Defaults to `mistral-embed`
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the Nomic embedding model to use for encoding. The value defaults to nomic-embed-text-v1.5. For more information, refer to Nomic official documentation.
+
model_name(String)
+
Der Name des Nomic-Einbettungsmodells, das für die Kodierung verwendet werden soll. Der Wert ist standardmäßig nomic-embed-text-v1.5. Weitere Informationen finden Sie in der offiziellen Nomic-Dokumentation.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -58,7 +58,7 @@ docs_embeddings = ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Milvus integrates with OpenAI’s models via the OpenAIEmbeddingFunction class. This class provides methods for encoding documents and queries using the pretrained OpenAI models and returning the embeddings as dense vectors compatible with Milvus indexing. To utilize this functionality, obtain an API key from OpenAI by creating an account on their platform.
-
To use this feature, install the necessary dependencies:
+
Milvus lässt sich über die Klasse OpenAIEmbeddingFunction mit den Modellen von OpenAI integrieren. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung der trainierten OpenAI-Modelle und gibt die Einbettungen als dichte Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind. Um diese Funktionalität zu nutzen, erhalten Sie einen API-Schlüssel von OpenAI, indem Sie ein Konto auf deren Plattform erstellen.
+
Um diese Funktion zu nutzen, installieren Sie die erforderlichen Abhängigkeiten:
Dann instanziieren Sie die OpenAIEmbeddingFunction:
from pymilvus import model
openai_ef = model.dense.OpenAIEmbeddingFunction(
@@ -33,16 +35,16 @@ openai_ef = model.dense.OpenAIEmbeddingFunction(
dimensions=512# Set the embedding dimensionality
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the OpenAI model to use for encoding. Valid options are text-embedding-3-small, text-embedding-3-large, and text-embedding-ada-002 (default).
-
api_key (string)
-
The API key for accessing the OpenAI API.
-
dimensions (int)
-
The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models.
+
model_name(string)
+
Der Name des OpenAI-Modells, das für die Kodierung verwendet werden soll. Gültige Optionen sind text-embedding-3-small, text-embedding-3-large, und text-embedding-ada-002 (Standard).
+
api_key(Zeichenkette)
+
Der API-Schlüssel für den Zugriff auf die OpenAI-API.
+
dimensions(int)
+
Die Anzahl der Dimensionen, die die resultierenden Ausgabeeinbettungen haben sollen. Wird nur in text-embedding-3 und späteren Modellen unterstützt.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -56,7 +58,7 @@ docs_embeddings = openai_ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", openai_ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -77,7 +79,7 @@ query_embeddings = openai_ef.encode_queries(queries)
# Print dimension and shape of embeddingsprint("Dim", openai_ef.dim, query_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: [array([ 0.00530251, -0.01907905, -0.01672608, -0.05030033, 0.01635982,
-0.03169853, -0.0033602 , 0.09047844, 0.00030747, 0.11853652,
-0.02870182, -0.01526102, 0.05505067, 0.00993909, -0.07165466,
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.json b/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.json
index 3c53fbf73..ef0d02412 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.json
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.json
@@ -1 +1 @@
-{"codeList":["pip install --upgrade pymilvus\npip install \"pymilvus[model]\"\n","from pymilvus import model\n\nsentence_transformer_ef = model.dense.SentenceTransformerEmbeddingFunction(\n model_name='all-MiniLM-L6-v2', # Specify the model name\n device='cpu' # Specify the device to use, e.g., 'cpu' or 'cuda:0'\n)\n","docs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\ndocs_embeddings = sentence_transformer_ef.encode_documents(docs)\n\n# Print embeddings\nprint(\"Embeddings:\", docs_embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", sentence_transformer_ef.dim, docs_embeddings[0].shape)\n","Embeddings: [array([-3.09392996e-02, -1.80662833e-02, 1.34775648e-02, 2.77156215e-02,\n -4.86349640e-03, -3.12581174e-02, -3.55921760e-02, 5.76934684e-03,\n 2.80773244e-03, 1.35783911e-01, 3.59678417e-02, 6.17732145e-02,\n...\n -4.61330153e-02, -4.85207550e-02, 3.13997865e-02, 7.82178566e-02,\n -4.75336798e-02, 5.21207601e-02, 9.04406682e-02, -5.36676683e-02],\n dtype=float32)]\nDim: 384 (384,)\n","queries = [\"When was artificial intelligence founded\", \n \"Where was Alan Turing born?\"]\n\nquery_embeddings = sentence_transformer_ef.encode_queries(queries)\n\n# Print embeddings\nprint(\"Embeddings:\", query_embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", sentence_transformer_ef.dim, query_embeddings[0].shape)\n","Embeddings: [array([-2.52114702e-02, -5.29330298e-02, 1.14570223e-02, 1.95571519e-02,\n -2.46500354e-02, -2.66519729e-02, -8.48201662e-03, 2.82961670e-02,\n -3.65092754e-02, 7.50745758e-02, 4.28900979e-02, 7.18822703e-02,\n...\n -6.76431581e-02, -6.45996556e-02, -4.67132553e-02, 4.78532910e-02,\n -2.31596199e-03, 4.13446948e-02, 1.06935494e-01, -1.08258888e-01],\n dtype=float32)]\nDim: 384 (384,)\n"],"headingContent":"Sentence Transformers","anchorList":[{"label":"Sentence Transformers","href":"Sentence-Transformers","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":["pip install --upgrade pymilvus\npip install \"pymilvus[model]\"\n","from pymilvus import model\n\nsentence_transformer_ef = model.dense.SentenceTransformerEmbeddingFunction(\n model_name='all-MiniLM-L6-v2', # Specify the model name\n device='cpu' # Specify the device to use, e.g., 'cpu' or 'cuda:0'\n)\n","docs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\ndocs_embeddings = sentence_transformer_ef.encode_documents(docs)\n\n# Print embeddings\nprint(\"Embeddings:\", docs_embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", sentence_transformer_ef.dim, docs_embeddings[0].shape)\n","Embeddings: [array([-3.09392996e-02, -1.80662833e-02, 1.34775648e-02, 2.77156215e-02,\n -4.86349640e-03, -3.12581174e-02, -3.55921760e-02, 5.76934684e-03,\n 2.80773244e-03, 1.35783911e-01, 3.59678417e-02, 6.17732145e-02,\n...\n -4.61330153e-02, -4.85207550e-02, 3.13997865e-02, 7.82178566e-02,\n -4.75336798e-02, 5.21207601e-02, 9.04406682e-02, -5.36676683e-02],\n dtype=float32)]\nDim: 384 (384,)\n","queries = [\"When was artificial intelligence founded\", \n \"Where was Alan Turing born?\"]\n\nquery_embeddings = sentence_transformer_ef.encode_queries(queries)\n\n# Print embeddings\nprint(\"Embeddings:\", query_embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", sentence_transformer_ef.dim, query_embeddings[0].shape)\n","Embeddings: [array([-2.52114702e-02, -5.29330298e-02, 1.14570223e-02, 1.95571519e-02,\n -2.46500354e-02, -2.66519729e-02, -8.48201662e-03, 2.82961670e-02,\n -3.65092754e-02, 7.50745758e-02, 4.28900979e-02, 7.18822703e-02,\n...\n -6.76431581e-02, -6.45996556e-02, -4.67132553e-02, 4.78532910e-02,\n -2.31596199e-03, 4.13446948e-02, 1.06935494e-01, -1.08258888e-01],\n dtype=float32)]\nDim: 384 (384,)\n"],"headingContent":"Sentence Transformers","anchorList":[{"label":"Satztransformatoren","href":"Sentence-Transformers","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.md b/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.md
index 92ec5e3a4..4b2ce0116 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-sentence-transform.md
@@ -2,11 +2,11 @@
id: embed-with-sentence-transform.md
order: 3
summary: >-
- This article demonstrates how to use Sentence Transformers in Milvus to encode
- documents and queries into dense vectors.
-title: Sentence Transformers
+ Dieser Artikel zeigt, wie man mit Hilfe von Sentence Transformers in Milvus
+ Dokumente und Abfragen in dichte Vektoren kodiert.
+title: Satztransformatoren
---
-
Sentence Transformers
+
Satztransformatoren
-
Milvus integrates with Sentence Transformer pre-trained models via the SentenceTransformerEmbeddingFunction class. This class provides methods for encoding documents and queries using the pretrained Sentence Transformer models and returning the embeddings as dense vectors compatible with Milvus indexing.
-
To use this feature, install the necessary dependencies:
+
Milvus lässt sich über die Klasse SentenceTransformerEmbeddingFunction in die vortrainierten Sentence-Transformer-Modelle integrieren. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung der trainierten Sentence-Transformer-Modelle und gibt die Einbettungen als dichte Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
Then, instantiate the SentenceTransformerEmbeddingFunction:
+
Dann instanziieren Sie die SentenceTransformerEmbeddingFunction:
from pymilvus import model
sentence_transformer_ef = model.dense.SentenceTransformerEmbeddingFunction(
@@ -34,14 +34,14 @@ sentence_transformer_ef = model.dense.SentenceTransformerEmbeddingFunction(
device='cpu'# Specify the device to use, e.g., 'cpu' or 'cuda:0'
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the Sentence Transformer model to use for encoding. The value defaults to all-MiniLM-L6-v2. You can use any of Sentence Transformers’ pre-trained models. For a list of available models, refer to Pretrained models.
-
device (string)
-
The device to use, with cpu for the CPU and cuda:n for the nth GPU device.
+
model_name(string)
+
Der Name des Sentence-Transformer-Modells, das für die Kodierung verwendet werden soll. Der Wert ist standardmäßig all-MiniLM-L6-v2. Sie können ein beliebiges der vortrainierten Modelle von Sentence Transformers verwenden. Eine Liste der verfügbaren Modelle finden Sie unter Vorgefertigte Modelle.
+
Gerät(Zeichenkette)
+
Das zu verwendende Gerät, mit cpu für die CPU und cuda:n für das n-te GPU-Gerät.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -55,7 +55,7 @@ docs_embeddings = sentence_transformer_ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", sentence_transformer_ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -76,7 +76,7 @@ query_embeddings = sentence_transformer_ef.encode_queries(queries)
# Print dimension and shape of embeddingsprint("Dim:", sentence_transformer_ef.dim, query_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: [array([-2.52114702e-02, -5.29330298e-02, 1.14570223e-02, 1.95571519e-02,
-2.46500354e-02, -2.66519729e-02, -8.48201662e-03, 2.82961670e-02,
-3.65092754e-02, 7.50745758e-02, 4.28900979e-02, 7.18822703e-02,
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-splade.md b/localization/v2.5.x/site/de/embeddings/embed-with-splade.md
index cf396f37a..2db476ceb 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-splade.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-splade.md
@@ -2,8 +2,8 @@
id: embed-with-splade.md
order: 6
summary: >-
- This article describes how to use the SpladeEmbeddingFunction to encode
- documents and queries using the SPLADE model.
+ Dieser Artikel beschreibt die Verwendung der SpladeEmbeddingFunction zur
+ Kodierung von Dokumenten und Abfragen nach dem SPLADE-Modell.
title: SPLADE
---
SPLADE embedding is a model that offers highly sparse representations for documents and queries, inheriting desirable properties from bag-of-words (BOW) models such as exact term matching and efficiency.
-
Milvus integrates with the SPLADE model via the SpladeEmbeddingFunction class. This class provides methods for encoding documents and queries and returning the embeddings as sparse vectors compatible with Milvus indexing.
-
To use this feature, install the necessary dependencies:
+
SPLADE Embedding ist ein Modell, das hochgradig spärliche Repräsentationen für Dokumente und Abfragen bietet und wünschenswerte Eigenschaften von Bag-of-Words (BOW)-Modellen erbt, wie z.B. exakte Termübereinstimmung und Effizienz.
+
Milvus ist mit dem SPLADE-Modell über die Klasse SpladeEmbeddingFunction integriert. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen und zur Rückgabe der Einbettungen als spärliche Vektoren, die mit der Milvus-Indizierung kompatibel sind.
+
Um diese Funktion zu nutzen, installieren Sie die notwendigen Abhängigkeiten:
To instantiate the SpladeEmbeddingFunction, use the command:
+
Um die SpladeEmbeddingFunction zu instanziieren, verwenden Sie den Befehl:
from pymilvus import model
splade_ef = model.sparse.SpladeEmbeddingFunction(
@@ -35,14 +35,14 @@ splade_ef = model.sparse."cpu"
)
-
Parameters:
+
Parameter:
-
model_name (string)
-
The name of the SPLADE model to use for encoding. Valid options are naver/splade-cocondenser-ensembledistil (default), naver/splade_v2_max, naver/splade_v2_distil, and naver/splade-cocondenser-selfdistil. For more information, refer to Play with models.
-
device (string)
-
The device to use, with cpu for the CPU and cuda:n for the nth GPU device.
+
model_name(Zeichenkette)
+
Der Name des SPLADE-Modells, das für die Kodierung verwendet werden soll. Gültige Optionen sind naver/splade-cocondenser-ensembledistil (Standard), naver/splade_v2_max, naver/splade_v2_distil, und naver/splade-cocondenser-selfdistil. Weitere Informationen finden Sie unter Mit Modellen spielen.
+
Gerät(Zeichenfolge)
+
Das zu verwendende Gerät, mit cpu für die CPU und cuda:n für das n-te GPU-Gerät.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -56,7 +56,7 @@ docs_embeddings = splade_ef.encode_documents(docs)
# since the output embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.print("Sparse dim:", splade_ef.dim, list(docs_embeddings)[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -77,7 +77,7 @@ query_embeddings = splade_ef.encode_queries(queries)
# since the output embeddings are in a 2D csr_array format, we convert them to a list for easier manipulation.print("Sparse dim:", splade_ef.dim, list(query_embeddings)[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: (0, 2001) 0.6353746056556702
(0, 2194) 0.015553371049463749
(0, 2301) 0.2756537199020386
diff --git a/localization/v2.5.x/site/de/embeddings/embed-with-voyage.md b/localization/v2.5.x/site/de/embeddings/embed-with-voyage.md
index b8bd06a61..9be249ec5 100644
--- a/localization/v2.5.x/site/de/embeddings/embed-with-voyage.md
+++ b/localization/v2.5.x/site/de/embeddings/embed-with-voyage.md
@@ -2,9 +2,9 @@
id: embed-with-voyage.md
order: 7
summary: >-
- This article describes how to use the VoyageEmbeddingFunction to encode
- documents and queries using the Voyage model.
-title: Embed Voyage
+ Dieser Artikel beschreibt, wie man die VoyageEmbeddingFunction verwendet, um
+ Dokumente und Abfragen mit dem Voyage-Modell zu kodieren.
+title: Reise einbetten
---
Voyage
-
Milvus integrates with Voyage’s models via the VoyageEmbeddingFunction class. This class provides methods for encoding documents and queries using the Voyage models and returning the embeddings as dense vectors compatible with Milvus indexing. To utilize this functionality, obtain an API key from Voyage by creating an account on their platform.
-
To use this feature, install the necessary dependencies:
+
Milvus ist über die Klasse VoyageEmbeddingFunction mit den Modellen von Voyage integriert. Diese Klasse bietet Methoden zur Kodierung von Dokumenten und Abfragen unter Verwendung der Voyage-Modelle und gibt die Einbettungen als dichte Vektoren zurück, die mit der Milvus-Indizierung kompatibel sind. Um diese Funktionalität nutzen zu können, müssen Sie einen API-Schlüssel von Voyage erhalten, indem Sie ein Konto auf deren Plattform erstellen.
+
Um diese Funktion zu nutzen, installieren Sie die erforderlichen Abhängigkeiten:
Dann instanziieren Sie die VoyageEmbeddingFunction:
from pymilvus.model.dense import VoyageEmbeddingFunction
voyage_ef = VoyageEmbeddingFunction(
@@ -34,14 +34,12 @@ voyage_ef = VoyageEmbeddingFunction(
api_key=VOYAGE_API_KEY # Provide your Voyage API key
)
-
Parameters:
+
Parameter:
-
model_name (string)
-The name of the Voyage model to use for encoding. You can specify any of the available Voyage model names, for example, voyage-3-lite, voyage-finance-2, etc. If you leave this parameter unspecified, voyage-3 will be used. For a list of available models, refer to Voyage official documentation.
-
api_key (string)
-The API key for accessing the Voyage API. For information on how to create an API key, refer to API Key and Python Client.
+
model_name (string) Der Name des Voyage-Modells, das für die Kodierung verwendet werden soll. Sie können jeden der verfügbaren Voyage-Modellnamen angeben, z. B. voyage-3-lite, voyage-finance-2, usw. Wenn Sie diesen Parameter nicht angeben, wird voyage-3 verwendet. Eine Liste der verfügbaren Modelle finden Sie in der offiziellen Voyage-Dokumentation.
+
api_key (string) Der API-Schlüssel für den Zugriff auf die Voyage-API. Informationen zur Erstellung eines API-Schlüssels finden Sie unter API-Schlüssel und Python-Client.
-
To create embeddings for documents, use the encode_documents() method:
+
Um Einbettungen für Dokumente zu erstellen, verwenden Sie die Methode encode_documents():
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
@@ -55,14 +53,14 @@ docs_embeddings = voyage_ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", voyage_ef.dim, docs_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
To create embeddings for queries, use the encode_queries() method:
+
Um Einbettungen für Abfragen zu erstellen, verwenden Sie die Methode encode_queries():
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
@@ -71,7 +69,7 @@ query_embeddings = voyage_ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", voyage_ef.dim, query_embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Embeddings: [array([ 0.01733501, -0.0230672 , -0.05208827, ..., -0.00957995,
0.04493361, 0.01485138]), array([ 0.05937521, -0.00729363, -0.02184347, ..., -0.02107683,
0.05706626, 0.0263358 ])]
diff --git a/localization/v2.5.x/site/de/embeddings/embeddings.json b/localization/v2.5.x/site/de/embeddings/embeddings.json
index e293e95f3..e7288be4c 100644
--- a/localization/v2.5.x/site/de/embeddings/embeddings.json
+++ b/localization/v2.5.x/site/de/embeddings/embeddings.json
@@ -1 +1 @@
-{"codeList":["pip install \"pymilvus[model]\"\n","from pymilvus import model\n\n# This will download \"all-MiniLM-L6-v2\", a light weight model.\nef = model.DefaultEmbeddingFunction()\n\n# Data from which embeddings are to be generated \ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\nembeddings = ef.encode_documents(docs)\n\n# Print embeddings\nprint(\"Embeddings:\", embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", ef.dim, embeddings[0].shape)\n","Embeddings: [array([-3.09392996e-02, -1.80662833e-02, 1.34775648e-02, 2.77156215e-02,\n -4.86349640e-03, -3.12581174e-02, -3.55921760e-02, 5.76934684e-03,\n 2.80773244e-03, 1.35783911e-01, 3.59678417e-02, 6.17732145e-02,\n...\n -4.61330153e-02, -4.85207550e-02, 3.13997865e-02, 7.82178566e-02,\n -4.75336798e-02, 5.21207601e-02, 9.04406682e-02, -5.36676683e-02],\n dtype=float32)]\nDim: 384 (384,)\n","from pymilvus.model.hybrid import BGEM3EmbeddingFunction\nfrom pymilvus import (\n utility,\n FieldSchema, CollectionSchema, DataType,\n Collection, AnnSearchRequest, RRFRanker, connections,\n)\n","# 1. prepare a small corpus to search\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\nquery = \"Who started AI research?\"\n\n# BGE-M3 model can embed texts as dense and sparse vectors.\n# It is included in the optional `model` module in pymilvus, to install it,\n# simply run \"pip install pymilvus[model]\".\n\nbge_m3_ef = BGEM3EmbeddingFunction(use_fp16=False, device=\"cpu\")\n\ndocs_embeddings = bge_m3_ef(docs)\nquery_embeddings = bge_m3_ef([query])\n","from pymilvus.model.sparse import BM25EmbeddingFunction\n","# 1. prepare a small corpus to search\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\nquery = \"Where was Turing born?\"\nbm25_ef = BM25EmbeddingFunction()\n\n# 2. fit the corpus to get BM25 model parameters on your documents.\nbm25_ef.fit(docs)\n\n# 3. store the fitted parameters to disk to expedite future processing.\nbm25_ef.save(\"bm25_params.json\")\n\n# 4. load the saved params\nnew_bm25_ef = BM25EmbeddingFunction()\nnew_bm25_ef.load(\"bm25_params.json\")\n\ndocs_embeddings = new_bm25_ef.encode_documents(docs)\nquery_embeddings = new_bm25_ef.encode_queries([query])\nprint(\"Dim:\", new_bm25_ef.dim, list(docs_embeddings)[0].shape)\n","Dim: 21 (1, 21)\n"],"headingContent":"Embedding Overview","anchorList":[{"label":"Embedding Overview","href":"Embedding-Overview","type":1,"isActive":false},{"label":"Example 1: Use default embedding function to generate dense vectors","href":"Example-1-Use-default-embedding-function-to-generate-dense-vectors","type":2,"isActive":false},{"label":"Example 2: Generate dense and sparse vectors in one call with BGE M3 model","href":"Example-2-Generate-dense-and-sparse-vectors-in-one-call-with-BGE-M3-model","type":2,"isActive":false},{"label":"Example 3: Generate sparse vectors using BM25 model","href":"Example-3-Generate--sparse-vectors-using-BM25-model","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["pip install \"pymilvus[model]\"\n","from pymilvus import model\n\n# This will download \"all-MiniLM-L6-v2\", a light weight model.\nef = model.DefaultEmbeddingFunction()\n\n# Data from which embeddings are to be generated \ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\nembeddings = ef.encode_documents(docs)\n\n# Print embeddings\nprint(\"Embeddings:\", embeddings)\n# Print dimension and shape of embeddings\nprint(\"Dim:\", ef.dim, embeddings[0].shape)\n","Embeddings: [array([-3.09392996e-02, -1.80662833e-02, 1.34775648e-02, 2.77156215e-02,\n -4.86349640e-03, -3.12581174e-02, -3.55921760e-02, 5.76934684e-03,\n 2.80773244e-03, 1.35783911e-01, 3.59678417e-02, 6.17732145e-02,\n...\n -4.61330153e-02, -4.85207550e-02, 3.13997865e-02, 7.82178566e-02,\n -4.75336798e-02, 5.21207601e-02, 9.04406682e-02, -5.36676683e-02],\n dtype=float32)]\nDim: 384 (384,)\n","from pymilvus.model.hybrid import BGEM3EmbeddingFunction\nfrom pymilvus import (\n utility,\n FieldSchema, CollectionSchema, DataType,\n Collection, AnnSearchRequest, RRFRanker, connections,\n)\n","# 1. prepare a small corpus to search\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\nquery = \"Who started AI research?\"\n\n# BGE-M3 model can embed texts as dense and sparse vectors.\n# It is included in the optional `model` module in pymilvus, to install it,\n# simply run \"pip install pymilvus[model]\".\n\nbge_m3_ef = BGEM3EmbeddingFunction(use_fp16=False, device=\"cpu\")\n\ndocs_embeddings = bge_m3_ef(docs)\nquery_embeddings = bge_m3_ef([query])\n","from pymilvus.model.sparse import BM25EmbeddingFunction\n","# 1. prepare a small corpus to search\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\nquery = \"Where was Turing born?\"\nbm25_ef = BM25EmbeddingFunction()\n\n# 2. fit the corpus to get BM25 model parameters on your documents.\nbm25_ef.fit(docs)\n\n# 3. store the fitted parameters to disk to expedite future processing.\nbm25_ef.save(\"bm25_params.json\")\n\n# 4. load the saved params\nnew_bm25_ef = BM25EmbeddingFunction()\nnew_bm25_ef.load(\"bm25_params.json\")\n\ndocs_embeddings = new_bm25_ef.encode_documents(docs)\nquery_embeddings = new_bm25_ef.encode_queries([query])\nprint(\"Dim:\", new_bm25_ef.dim, list(docs_embeddings)[0].shape)\n","Dim: 21 (1, 21)\n"],"headingContent":"Embedding Overview","anchorList":[{"label":"Einbettung Überblick","href":"Embedding-Overview","type":1,"isActive":false},{"label":"Beispiel 1: Verwendung der Standard-Einbettungsfunktion zur Erzeugung dichter Vektoren","href":"Example-1-Use-default-embedding-function-to-generate-dense-vectors","type":2,"isActive":false},{"label":"Beispiel 2: Erzeugen von dichten und spärlichen Vektoren in einem Aufruf mit dem BGE M3-Modell","href":"Example-2-Generate-dense-and-sparse-vectors-in-one-call-with-BGE-M3-model","type":2,"isActive":false},{"label":"Beispiel 3: Generierung von spärlichen Vektoren mit dem BM25-Modell","href":"Example-3-Generate--sparse-vectors-using-BM25-model","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/embeddings/embeddings.md b/localization/v2.5.x/site/de/embeddings/embeddings.md
index 5809c0e8a..35b2bc16d 100644
--- a/localization/v2.5.x/site/de/embeddings/embeddings.md
+++ b/localization/v2.5.x/site/de/embeddings/embeddings.md
@@ -1,10 +1,10 @@
---
id: embeddings.md
order: 1
-summary: Learn how to generate embeddings for your data.
-title: Embedding Overview
+summary: 'Erfahren Sie, wie Sie Einbettungen für Ihre Daten erstellen können.'
+title: Einbettung Überblick
---
-
Embedding Overview
+
Einbettung Überblick
-
Embedding is a machine learning concept for mapping data into a high-dimensional space, where data of similar semantic are placed close together. Typically being a Deep Neural Network from BERT or other Transformer families, the embedding model can effectively represent the semantics of text, images, and other data types with a series of numbers known as vectors. A key feature of these models is that the mathematical distance between vectors in the high-dimensional space can indicate the similarity of the semantics of original text or images. This property unlocks many information retrieval applications, such as web search engines like Google and Bing, product search and recommendations on e-commerce sites, and the recently popular Retrieval Augmented Generation (RAG) paradigm in generative AI.
-
There are two main categories of embeddings, each producing a different type of vector:
+
Embedding ist ein Konzept des maschinellen Lernens zur Abbildung von Daten in einem hochdimensionalen Raum, in dem Daten mit ähnlicher Semantik nahe beieinander angeordnet werden. Bei dem Einbettungsmodell handelt es sich in der Regel um ein Deep Neural Network von BERT oder anderen Transformer-Familien, das die Semantik von Text, Bildern und anderen Datentypen durch eine Reihe von Zahlen, die als Vektoren bezeichnet werden, effektiv darstellen kann. Ein wesentliches Merkmal dieser Modelle ist, dass der mathematische Abstand zwischen Vektoren im hochdimensionalen Raum die Ähnlichkeit der Semantik von Originaltexten oder -bildern anzeigen kann. Diese Eigenschaft ermöglicht zahlreiche Anwendungen für die Informationsbeschaffung, z. B. Web-Suchmaschinen wie Google und Bing, Produktsuche und -empfehlungen auf E-Commerce-Websites und das kürzlich populäre Paradigma Retrieval Augmented Generation (RAG) in der generativen KI.
+
Es gibt zwei Hauptkategorien von Einbettungen, die jeweils eine andere Art von Vektor erzeugen:
-
Dense embedding: Most embedding models represent information as a floating point vector of hundreds to thousands of dimensions. The output is called “dense” vectors as most dimensions have non-zero values. For instance, the popular open-source embedding model BAAI/bge-base-en-v1.5 outputs vectors of 768 floating point numbers (768-dimension float vector).
-
Sparse embedding: In contrast, the output vectors of sparse embeddings has most dimensions being zero, namely “sparse” vectors. These vectors often have much higher dimensions (tens of thousands or more) which is determined by the size of the token vocabulary. Sparse vectors can be generated by Deep Neural Networks or statistical analysis of text corpora. Due to their interpretability and observed better out-of-domain generalization capabilities, sparse embeddings are increasingly adopted by developers as a complement to dense embeddings.
+
Dense Embedding: Die meisten Einbettungsmodelle stellen Informationen als Gleitkomma-Vektor mit Hunderten bis Tausenden von Dimensionen dar. Die Ausgabe wird als "dichte" Vektoren bezeichnet, da die meisten Dimensionen Nicht-Null-Werte haben. Das beliebte Open-Source-Einbettungsmodell BAAI/bge-base-de-v1.5 beispielsweise gibt Vektoren mit 768 Fließkommazahlen aus (768-dimensionaler Float-Vektor).
+
Spärliche Einbettung: Im Gegensatz dazu haben die Ausgangsvektoren von spärlichen Einbettungen die meisten Dimensionen Null, nämlich "spärliche" Vektoren. Diese Vektoren haben oft viel höhere Dimensionen (Zehntausende oder mehr), was durch die Größe des Token-Vokabulars bestimmt wird. Sparse Vektoren können durch Deep Neural Networks oder statistische Analyse von Textkorpora erzeugt werden. Aufgrund ihrer Interpretierbarkeit und der beobachteten besseren Verallgemeinerungsfähigkeiten außerhalb der Domäne werden Sparse Embeddings von Entwicklern zunehmend als Ergänzung zu Dense Embeddings eingesetzt.
-
Milvus is a vector database designed for vector data management, storage, and retrieval. By integrating mainstream embedding and reranking models, you can easily transform original text into searchable vectors or rerank the results using powerful models to achieve more accurate results for RAG. This integration simplifies text transformation and eliminates the need for additional embedding or reranking components, thereby streamlining RAG development and validation.
Milvus ist eine Vektordatenbank, die für die Verwaltung, Speicherung und den Abruf von Vektordaten entwickelt wurde. Durch die Integration von Mainstream-Embedding- und Reranking-Modellen können Sie den Originaltext einfach in durchsuchbare Vektoren umwandeln oder die Ergebnisse mithilfe leistungsstarker Modelle ranken, um genauere Ergebnisse für RAG zu erzielen. Diese Integration vereinfacht die Textumwandlung und macht zusätzliche Komponenten für die Einbettung oder das Reranking überflüssig, wodurch die Entwicklung und Validierung von RAGs rationalisiert wird.
Example 1: Use default embedding function to generate dense vectors
+
Beispiel 1: Verwendung der Standard-Einbettungsfunktion zur Erzeugung dichter Vektoren
-
To use embedding functions with Milvus, first install the PyMilvus client library with the model subpackage that wraps all the utilities for embedding generation.
+
Um Einbettungsfunktionen mit Milvus zu verwenden, installieren Sie zunächst die PyMilvus-Client-Bibliothek mit dem Unterpaket model, das alle Dienstprogramme für die Einbettungserzeugung enthält.
pip install "pymilvus[model]"
-
The model subpackage supports various embedding models, from OpenAI, Sentence Transformers, BGE M3, BM25, to SPLADE pretrained models. For simpilicity, this example uses the DefaultEmbeddingFunction which is all-MiniLM-L6-v2 sentence transformer model, the model is about 70MB and it will be downloaded during first use:
+
Das Unterpaket model unterstützt verschiedene Einbettungsmodelle, von OpenAI, Sentence Transformers, BGE M3, BM25, bis hin zu SPLADE Pretrained Models. Der Einfachheit halber wird in diesem Beispiel das Modell DefaultEmbeddingFunction verwendet, das ein reines MiniLM-L6-v2-Satztransformatormodell ist. Das Modell ist etwa 70 MB groß und wird bei der ersten Verwendung heruntergeladen:
from pymilvus import model
# This will download "all-MiniLM-L6-v2", a light weight model.
@@ -84,7 +84,7 @@ embeddings = ef.encode_documents(docs)
# Print dimension and shape of embeddingsprint("Dim:", ef.dim, embeddings[0].shape)
-
The expected output is similar to the following:
+
Die erwartete Ausgabe ist ähnlich wie die folgende:
Example 2: Generate dense and sparse vectors in one call with BGE M3 model
+
Beispiel 2: Erzeugen von dichten und spärlichen Vektoren in einem Aufruf mit dem BGE M3-Modell384 (384,
d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"
>
-
In this example, we use BGE M3 hybrid model to embed text into both dense and sparse vectors and use them to retrieve relevant documents. The overall steps are as follows:
+
In diesem Beispiel verwenden wir das BGE M3-Hybridmodell, um Text sowohl in dichte als auch in spärliche Vektoren einzubetten und sie zum Auffinden relevanter Dokumente zu verwenden. Die allgemeinen Schritte sind wie folgt:
-
Embed the text as dense and sparse vectors using BGE-M3 model;
-
Set up a Milvus collection to store the dense and sparse vectors;
-
Insert the data to Milvus;
-
Search and inspect the result.
+
Einbettung des Textes in dichte und spärliche Vektoren mit dem BGE-M3-Modell;
+
Einrichten einer Milvus-Sammlung zum Speichern der dichten und spärlichen Vektoren;
+
Einfügen der Daten in Milvus;
+
Suchen und Prüfen des Ergebnisses.
-
First, we need to install the necessary dependencies.
+
Zuerst müssen wir die notwendigen Abhängigkeiten installieren.
Use BGE M3 to encode docs and queries for embedding retrieval.
+
Verwenden Sie BGE M3, um Dokumente und Abfragen für die Einbettung zu kodieren.
# 1. prepare a small corpus to search
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
@@ -142,7 +142,7 @@ bge_m3_ef = BGEM3EmbeddingFunction(use_fp16=False
-
Example 3: Generate sparse vectors using BM25 model
+
Beispiel 3: Generierung von spärlichen Vektoren mit dem BM25-Modell
-
BM25 is a well-known method that uses word occurrence frequencies to determine the relevance between queries and documents. In this example, we will show how to use BM25EmbeddingFunction to generate sparse embeddings for both queries and documents.
-
First, import the BM25EmbeddingFunction class.
+
BM25 ist eine bekannte Methode, die die Häufigkeit des Auftretens von Wörtern verwendet, um die Relevanz zwischen Abfragen und Dokumenten zu bestimmen. In diesem Beispiel wird gezeigt, wie BM25EmbeddingFunction verwendet wird, um spärliche Einbettungen sowohl für Abfragen als auch für Dokumente zu erzeugen.
+
Zunächst wird die Klasse BM25EmbeddingFunction importiert.
from pymilvus.model.sparseimportBM25EmbeddingFunction
-
In BM25, it’s important to calculate the statistics in your documents to obtain the IDF (Inverse Document Frequency), which can represent the pattern in your documents. The IDF is a measure of how much information a word provides, that is, whether it’s common or rare across all documents.
+
In BM25 ist es wichtig, die Statistiken in Ihren Dokumenten zu berechnen, um die IDF (Inverse Document Frequency) zu erhalten, die das Muster in Ihren Dokumenten darstellen kann. Die IDF ist ein Maß dafür, wie viele Informationen ein Wort liefert, d. h. ob es in allen Dokumenten häufig oder selten vorkommt.
# 1. prepare a small corpus to search
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
@@ -185,6 +185,6 @@ docs_embeddings = new_bm25_ef.encode_documents(docs)
query_embeddings = new_bm25_ef.encode_queries([query])
print("Dim:", new_bm25_ef.dim, list(docs_embeddings)[0].shape)
-
The expected output is similar to the following:
+
Das erwartete Ergebnis sieht wie folgt aus:
Dim: 21 (1, 21)
diff --git a/localization/v2.5.x/site/de/faq/operational_faq.json b/localization/v2.5.x/site/de/faq/operational_faq.json
index 5f5e9fe12..a39a7e248 100644
--- a/localization/v2.5.x/site/de/faq/operational_faq.json
+++ b/localization/v2.5.x/site/de/faq/operational_faq.json
@@ -1 +1 @@
-{"codeList":["{\n \"registry-mirrors\": [\"https://registry.docker-cn.com\"]\n}\n","$ lscpu | grep -e sse4_2 -e avx -e avx2 -e avx512\n","pip install pymilvus>=2.4.2\n","# Python Example: result of len() str cannot be used as \"max-length\" in Milvus \n>>> s = \"你好,世界!\"\n>>> len(s) # Number of characters of s.\n6\n>>> len(bytes(s, \"utf-8\")) # Size in bytes of s, max-length in Milvus.\n18\n"],"headingContent":"Operational FAQ","anchorList":[{"label":"Operational FAQ","href":"Operational-FAQ","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":["{\n \"registry-mirrors\": [\"https://registry.docker-cn.com\"]\n}\n","$ lscpu | grep -e sse4_2 -e avx -e avx2 -e avx512\n","pip install pymilvus>=2.4.2\n","# Python Example: result of len() str cannot be used as \"max-length\" in Milvus \n>>> s = \"你好,世界!\"\n>>> len(s) # Number of characters of s.\n6\n>>> len(bytes(s, \"utf-8\")) # Size in bytes of s, max-length in Milvus.\n18\n"],"headingContent":"Operational FAQ","anchorList":[{"label":"Häufig gestellte Fragen zum Betrieb","href":"Operational-FAQ","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/faq/operational_faq.md b/localization/v2.5.x/site/de/faq/operational_faq.md
index 3790ca630..c3daee514 100644
--- a/localization/v2.5.x/site/de/faq/operational_faq.md
+++ b/localization/v2.5.x/site/de/faq/operational_faq.md
@@ -1,9 +1,9 @@
---
id: operational_faq.md
-summary: Find answers to commonly asked questions about operations in Milvus.
-title: Operational FAQ
+summary: Hier finden Sie Antworten auf häufig gestellte Fragen zum Betrieb in Milvus.
+title: Häufig gestellte Fragen zum Betrieb
---
-
Operational FAQ
+
Häufig gestellte Fragen zum Betrieb
-
What if I failed to pull the Milvus Docker image from Docker Hub?
If you failed to pull the Milvus Docker image from Docker Hub, try adding other registry mirrors.
-
Users from Mainland China can add the URL “https://registry.docker-cn.com” to the registry-mirrors array in /etc.docker/daemon.json.
+
Was ist, wenn ich das Milvus-Docker-Abbild nicht von Docker Hub ziehen konnte?
Wenn Sie das Milvus-Docker-Abbild nicht von Docker Hub abrufen konnten, versuchen Sie, andere Registry-Mirrors hinzuzufügen.
+
Benutzer aus Festlandchina können die URL "https://registry.docker-cn.com" zum Array registry-mirrors in /etc.docker/daemon.json hinzufügen.
Docker is an efficient way to deploy Milvus, but not the only way. You can also deploy Milvus from source code. This requires Ubuntu (18.04 or higher) or CentOS (7 or higher). See Building Milvus from Source Code for more information.
-
What are the main factors affecting recall?
Recall is affected mainly by index type and search parameters.
-
For FLAT index, Milvus takes an exhaustive scan within a collection, with a 100% return.
-
For IVF indexes, the nprobe parameter determines the scope of a search within the collection. Increasing nprobe increases the proportion of vectors searched and recall, but diminishes query performance.
-
For HNSW index, the ef parameter determines the breadth of the graph search. Increasing ef increases the number of points searched on the graph and recall, but diminishes query performance.
Why did my changes to the configuration files not take effect?
Milvus does not support modification to configuration files during runtime. You must restart Milvus Docker for configuration file changes to take effect.
-
How do I know if Milvus has started successfully?
If Milvus is started using Docker Compose, run docker ps to observe how many Docker containers are running and check if Milvus services started correctly.
-
For Milvus standalone, you should be able to observe at least three running Docker containers, one being the Milvus service and the other two being etcd management and storage service. For more information, see Installing Milvus Standalone.
-
Why is the time in the log files different from the system time?
The time difference is usually due to the fact that the host machine does not use Coordinated Universal Time (UTC).
-
The log files inside the Docker image use UTC by default. If your host machine does not use UTC, this issue may occur.
-
How do I know if my CPU supports Milvus?
Milvus’ computing operations depend on CPU’s support for SIMD (Single Instruction, Multiple Data) extension instruction set. Whether your CPU supports SIMD extension instruction set is crucial to index building and vector similarity search within Milvus. Ensure that your CPU supports at least one of the following SIMD instruction sets:
+
Ist Docker die einzige Möglichkeit, Milvus zu installieren und auszuführen?
Docker ist ein effizienter Weg, Milvus zu installieren, aber nicht der einzige Weg. Sie können Milvus auch aus dem Quellcode bereitstellen. Dies erfordert Ubuntu (18.04 oder höher) oder CentOS (7 oder höher). Weitere Informationen finden Sie unter Erstellen von Milvus aus dem Quellcode.
+
Welches sind die Hauptfaktoren, die den Abruf beeinflussen?
Der Abruf wird hauptsächlich durch den Indextyp und die Suchparameter beeinflusst.
+
Bei FLAT-Indizes führt Milvus einen vollständigen Scan innerhalb einer Sammlung durch, mit einer 100%igen Rückgabe.
+
Bei IVF-Indizes bestimmt der Parameter nprobe den Umfang einer Suche innerhalb der Sammlung. Eine Erhöhung von nprobe erhöht den Anteil der durchsuchten Vektoren und den Rücklauf, verschlechtert aber die Abfrageleistung.
+
Beim HNSW-Index bestimmt der Parameter ef die Breite der Graphensuche. Eine Erhöhung von ef erhöht die Anzahl der gesuchten Punkte im Graphen und die Wiederauffindbarkeit, verschlechtert jedoch die Abfrageleistung.
Warum sind meine Änderungen an den Konfigurationsdateien nicht wirksam geworden?
Milvus unterstützt keine Änderungen an den Konfigurationsdateien während der Laufzeit. Sie müssen Milvus Docker neu starten, damit Änderungen an den Konfigurationsdateien wirksam werden.
+
Woher weiß ich, ob Milvus erfolgreich gestartet wurde?
Wenn Milvus unter Verwendung von Docker Compose gestartet wurde, führen Sie docker ps aus, um zu beobachten, wie viele Docker-Container ausgeführt werden, und um zu überprüfen, ob die Milvus-Dienste korrekt gestartet wurden.
+
Bei Milvus standalone sollten Sie mindestens drei laufende Docker-Container beobachten können, von denen einer der Milvus-Dienst und die beiden anderen der etcd-Verwaltungs- und Speicherdienst sind. Weitere Informationen finden Sie unter Installieren von Milvus Standalone.
+
Warum weicht die Zeit in den Protokolldateien von der Systemzeit ab?
Der Zeitunterschied ist in der Regel darauf zurückzuführen, dass der Host-Rechner nicht die Coordinated Universal Time (UTC) verwendet.
+
Die Protokolldateien im Docker-Image verwenden standardmäßig die UTC-Zeit. Wenn Ihr Host-Rechner nicht UTC verwendet, kann dieses Problem auftreten.
+
Woher weiß ich, ob meine CPU Milvus unterstützt?
Die Rechenoperationen von Milvus hängen von der Unterstützung der CPU für den SIMD (Single Instruction, Multiple Data) Erweiterungsbefehlssatz ab. Ob Ihre CPU den SIMD-Erweiterungsbefehlssatz unterstützt, ist entscheidend für die Indexerstellung und die Vektorähnlichkeitssuche in Milvus. Stellen Sie sicher, dass Ihre CPU mindestens einen der folgenden SIMD-Befehlssätze unterstützt:
SSE4.2
AVX
AVX2
AVX512
-
Run the lscpu command to check if your CPU supports the SIMD instruction sets mentioned above:
+
Führen Sie den Befehl lscpu aus, um zu überprüfen, ob Ihre CPU die oben genannten SIMD-Befehlssätze unterstützt:
$ lscpu | grep -e sse4_2 -e avx -e avx2 -e avx512
-
Why does Milvus return illegal instruction during startup?
Milvus requires your CPU to support a SIMD instruction set: SSE4.2, AVX, AVX2, or AVX512. CPU must support at least one of these to ensure that Milvus operates normally. An illegal instruction error returned during startup suggests that your CPU does not support any of the above four instruction sets.
I got an error when installing pymilvus on Windows. What shall I do?
It is not recommended to install PyMilvus on Windows. But if you have to install PyMilvus on Windows but got an error, try installing it in a Conda environment. See Install Milvus SDK for more information about how to install PyMilvus in the Conda environment.
-
Can I deploy Milvus when disconnected from the Internet?
Yes. You can install Milvus in an offline environment. See Install Milvus Offline for more information.
-
Where can I find the logs generated by Milvus?
The Milvus log is printed to stout (standard output) and stderr (standard error) by default, however we highly recommend redirecting your log to a persistent volume in production. To do so, update log.file.rootPath in milvus.yaml. And if you deploy Milvus with milvus-helm chart, you also need to enable log persistence first via --set log.persistence.enabled=true.
-
If you didn’t change the config, using kubectl logs <pod-name> or docker logs CONTAINER can also help you to find the log.
-
Can I create index for a segment before inserting data into it?
Yes, you can. But we recommend inserting data in batches, each of which should not exceed 256 MB, before indexing each segment.
-
Can I share an etcd instance among multiple Milvus instances?
Yes, you can share an etcd instance among multiple Milvus instances. To do so, you need to change etcd.rootPath to a separate value for each Milvus instance in the configuration files of each before starting them.
-
Can I share a Pulsar instance among multiple Milvus instances?
Yes, you can share a Pulsar instance among multiple Milvus instances. To do so, you can
+
Warum gibt Milvus während des Starts illegal instruction zurück?
Milvus erfordert, dass Ihre CPU einen SIMD-Befehlssatz unterstützt: SSE4.2, AVX, AVX2, oder AVX512. Die CPU muss mindestens einen dieser Befehle unterstützen, um sicherzustellen, dass Milvus normal funktioniert. Ein illegal instruction Fehler, der während des Starts zurückgegeben wird, deutet darauf hin, dass Ihre CPU keinen der vier oben genannten Befehlssätze unterstützt.
Ich habe einen Fehler bei der Installation von pymilvus unter Windows erhalten. Was soll ich tun?
Es wird nicht empfohlen, PyMilvus unter Windows zu installieren. Wenn Sie PyMilvus jedoch unter Windows installieren müssen, aber einen Fehler erhalten, versuchen Sie es in einer Conda-Umgebung zu installieren. Weitere Informationen zur Installation von PyMilvus in einer Conda-Umgebung finden Sie unter Installieren des Milvus SDK.
+
Kann ich Milvus einsetzen, wenn ich nicht mit dem Internet verbunden bin?
Ja, Sie können Milvus in einer Offline-Umgebung installieren. Siehe Milvus offline installieren für weitere Informationen.
+
Wo kann ich die von Milvus erzeugten Protokolle finden?
Das Milvus-Protokoll wird standardmäßig auf stout (Standardausgabe) und stderr (Standardfehler) ausgegeben. Wir empfehlen jedoch dringend, Ihr Protokoll in der Produktion auf ein persistentes Volume umzuleiten. Um dies zu tun, aktualisieren Sie log.file.rootPath in milvus.yaml. Und wenn Sie Milvus mit milvus-helm chart einsetzen, müssen Sie auch zuerst die Log-Persistenz über --set log.persistence.enabled=true aktivieren.
+
Wenn Sie die Konfiguration nicht geändert haben, kann Ihnen auch die Verwendung von kubectl logs <pod-name> oder docker logs CONTAINER helfen, das Protokoll zu finden.
+
Kann ich einen Index für ein Segment erstellen, bevor ich Daten in das Segment einfüge?
Ja, das können Sie. Wir empfehlen jedoch, Daten in Stapeln einzufügen, von denen jeder 256 MB nicht überschreiten sollte, bevor jedes Segment indiziert wird.
+
Kann ich eine etcd-Instanz für mehrere Milvus-Instanzen freigeben?
Ja, Sie können eine etcd-Instanz für mehrere Milvus-Instanzen freigeben. Dazu müssen Sie in den Konfigurationsdateien der einzelnen Milvus-Instanzen etcd.rootPath auf einen separaten Wert für jede Instanz ändern, bevor Sie sie starten.
+
Kann ich eine Pulsar-Instanz für mehrere Milvus-Instanzen freigeben?
Ja, Sie können eine Pulsar-Instanz für mehrere Milvus-Instanzen freigeben. Um dies zu tun, können Sie
-
If multi-tenancy is enabled on your Pulsar instance, consider allocating a separate tenant or namespace for each Milvus instance. To do so, you need to change pulsar.tenant or pulsar.namespace in the configuration files of your Milvus instances to a unique value for each before starting them.
-
If you do not plan on enabling multi-tenancy on your Pulsar instance, consider changing msgChannel.chanNamePrefix.cluster in the configuration files of your Milvus instances to a unique value for each before starting them.
+
Wenn Multi-Tenancy auf Ihrer Pulsar-Instanz aktiviert ist, sollten Sie einen separaten Tenant oder Namespace für jede Milvus-Instanz zuweisen. Dazu müssen Sie pulsar.tenant oder pulsar.namespace in den Konfigurationsdateien Ihrer Milvus-Instanzen auf einen eindeutigen Wert für jede Instanz ändern, bevor Sie sie starten.
+
Wenn Sie nicht vorhaben, Multi-Tenancy auf Ihrer Pulsar-Instanz zu aktivieren, sollten Sie msgChannel.chanNamePrefix.cluster in den Konfigurationsdateien Ihrer Milvus-Instanzen auf einen eindeutigen Wert für jede Instanz ändern, bevor Sie sie starten.
-
Can I share a MinIO instance among multiple Milvus instances?
Yes, you can share a MinIO instance among multiple Milvus instances. To do so, you need to change minio.rootPath to a unique value for each Milvus instance in the configuration files of each before starting them.
-
How do I handle the error message pymilvus.exceptions.ConnectionConfigException: <ConnectionConfigException: (code=1, message=Illegal uri: [example.db], expected form 'https://user:pwd@example.com:12345')>?
The error message Illegal uri [example.db] indicates that you are trying to connect to Milvus Lite using an earlier version of PyMilvus that does not support this connection type. To resolve this issue, upgrade your PyMilvus installation to at least version 2.4.2, which includes support for connecting to Milvus Lite.
-
You can upgrade PyMilvus using the following command:
+
Kann ich eine MinIO-Instanz für mehrere Milvus-Instanzen freigeben?
Ja, Sie können eine MinIO-Instanz für mehrere Milvus-Instanzen freigeben. Dazu müssen Sie in den Konfigurationsdateien der einzelnen Milvus-Instanzen minio.rootPath auf einen eindeutigen Wert für jede Instanz ändern, bevor Sie sie starten.
+
Wie gehe ich mit der Fehlermeldung pymilvus.exceptions.ConnectionConfigException: <ConnectionConfigException: (code=1, message=Illegal uri: [example.db], expected form 'https://user:pwd@example.com:12345')> um?
Die Fehlermeldung Illegal uri [example.db] zeigt an, dass Sie versuchen, eine Verbindung zu Milvus Lite herzustellen, indem Sie eine frühere Version von PyMilvus verwenden, die diesen Verbindungstyp nicht unterstützt. Um dieses Problem zu beheben, aktualisieren Sie Ihre PyMilvus-Installation auf mindestens Version 2.4.2, die Unterstützung für die Verbindung zu Milvus Lite enthält.
+
Sie können PyMilvus mit dem folgenden Befehl aktualisieren:
pip install pymilvus>=2.4.2
-
Why am I getting fewer results than the limit I set in my search/query?
There are several reasons why you might receive fewer results than the limit you specified:
+
Warum erhalte ich weniger Ergebnisse als die limit, die ich in meiner Suche/Abfrage eingestellt habe?
Es gibt mehrere Gründe, warum Sie weniger Ergebnisse als die von Ihnen angegebene limit erhalten können:
-
Limited Data: The collection might not have enough entities to fulfill the limit you requested. If the total number of entities in the collection is less than the limit, you will naturally receive fewer results.
-
Duplicate Primary Keys: Milvus prioritizes specific entities when encountering duplicate primary keys during a search. This behavior varies based on the search type:
-
Query (Exact Match): Milvus selects the latest entity with the matching PK.
-ANN Search: Milvus selects the entity with the highest similarity score, even if entities share the same PK.
-This prioritization can result in fewer unique results than the limit if your collection has many duplicate primary keys.
-
Insufficient Matches: Your search filtering expressions might be too strict, resulting in fewer entities meeting the similarity threshold. If the conditions set for the search are too restrictive, not enough entities will match, leading to fewer results than expected.
+
Begrenzte Daten: Die Sammlung enthält möglicherweise nicht genügend Entitäten, um das von Ihnen angeforderte Limit zu erreichen. Wenn die Gesamtzahl der Entitäten in der Sammlung geringer ist als der Grenzwert, erhalten Sie natürlich weniger Ergebnisse.
+
Doppelte Primärschlüssel: Milvus priorisiert bestimmte Entitäten, wenn bei einer Suche doppelte Primärschlüssel gefunden werden. Dieses Verhalten variiert je nach Suchtyp:
+
Abfrage (exakte Übereinstimmung): Milvus wählt die letzte Entität mit dem passenden PK aus. ANN-Suche: Milvus wählt die Entität mit dem höchsten Ähnlichkeitsscore aus, auch wenn die Entitäten denselben PK haben. Diese Priorisierung kann zu weniger eindeutigen Ergebnissen als dem Limit führen, wenn Ihre Sammlung viele doppelte Primärschlüssel hat.
+
Unzureichende Übereinstimmungen: Ihre Suchfilterausdrücke könnten zu streng sein, was dazu führt, dass weniger Entitäten den Ähnlichkeitsschwellenwert erfüllen. Wenn die für die Suche festgelegten Bedingungen zu restriktiv sind, werden nicht genügend Entitäten übereinstimmen, was zu weniger Ergebnissen als erwartet führt.
-
MilvusClient("milvus_demo.db") gives an error: ModuleNotFoundError: No module named 'milvus_lite'. What causes this and how can it be solved?
This error occurs when you attempt to use Milvus Lite on a Windows platform. Milvus Lite is primarily designed for Linux environments and may not have native support for Windows.
-
The solution is to utilize a Linux environment:
+
MilvusClient("milvus_demo.db") gives an error: ModuleNotFoundError: No module named 'milvus_lite'. Was ist die Ursache für diesen Fehler und wie kann er behoben werden?
Dieser Fehler tritt auf, wenn Sie versuchen, Milvus Lite auf einer Windows-Plattform zu verwenden. Milvus Lite wurde in erster Linie für Linux-Umgebungen entwickelt und bietet möglicherweise keine native Unterstützung für Windows.
+
Die Lösung besteht darin, eine Linux-Umgebung zu verwenden:
-
Use a Linux-based operating system or virtual machine to run Milvus Lite.
-
This approach will ensure compatibility with the library’s dependencies and functionality.
+
Verwenden Sie ein Linux-basiertes Betriebssystem oder eine virtuelle Maschine, um Milvus Lite auszuführen.
+
Auf diese Weise wird die Kompatibilität mit den Abhängigkeiten und Funktionen der Bibliothek sichergestellt.
-
What are the “length exceeds max length” errors in Milvus, and how can they be understood and addressed?
“Length exceeds max length” errors in Milvus occur when the size of a data element surpasses the maximum allowable size for a collection or field. Here are some examples and explanations:
+
Was sind die "Länge überschreitet maximale Länge"-Fehler in Milvus, und wie können sie verstanden und behoben werden?
"Length exceeds max length"-Fehler treten in Milvus auf, wenn die Größe eines Datenelements die maximal zulässige Größe für eine Sammlung oder ein Feld überschreitet. Hier sind einige Beispiele und Erklärungen:
-
JSON field error: <MilvusException: (code=1100, message=the length (398324) of json field (metadata) exceeds max length (65536): expected=valid length json string, actual=length exceeds max length: invalid parameter)>
-
String length error: <ParamError: (code=1, message=invalid input, length of string exceeds max length. length: 74238, max length: 60535)>
-
VarChar field error: <MilvusException: (code=1100, message=the length (60540) of 0th VarChar paragraph exceeds max length (0)%!(EXTRA int64=60535): invalid parameter)>
+
JSON-Feld-Fehler: <MilvusException: (code=1100, message=the length (398324) of json field (metadata) exceeds max length (65536): expected=valid length json string, actual=length exceeds max length: invalid parameter)>
+
String-Längenfehler: <ParamError: (code=1, message=invalid input, length of string exceeds max length. length: 74238, max length: 60535)>
+
VarChar-Feldfehler: <MilvusException: (code=1100, message=the length (60540) of 0th VarChar paragraph exceeds max length (0)%!(EXTRA int64=60535): invalid parameter)>
-
To understand and address these errors:
+
Um diese Fehler zu verstehen und zu beheben:
-
Understand that len(str) in Python represents the number of characters, not the size in bytes.
-
For string-based data types like VARCHAR and JSON, use len(bytes(str, encoding='utf-8')) to determine the actual size in bytes, which is what Milvus uses for "max-length".
+
Verstehen Sie, dass len(str) in Python die Anzahl der Zeichen angibt, nicht die Größe in Bytes.
+
Für String-basierte Datentypen wie VARCHAR und JSON verwenden Sie len(bytes(str, encoding='utf-8')), um die tatsächliche Größe in Bytes zu bestimmen, die Milvus für "max-length" verwendet.
-
Example in Python:
+
Beispiel in Python:
# Python Example: result of len() str cannot be used as "max-length" in Milvus >>> s = "你好,世界!">>> len(s) # Number of characters of s.
@@ -99,8 +97,8 @@ This prioritization can result in fewer unique results than the limit if your co
>>> len(bytes(s, "utf-8")) # Size in bytes of s, max-length in Milvus.18
-
Still have questions?
You can:
+
Haben Sie noch Fragen?
Sie können:
-
Check out Milvus on GitHub. Feel free to ask questions, share ideas, and help others.
Schauen Sie sich Milvus auf GitHub an. Sie können Fragen stellen, Ideen austauschen und anderen helfen.
+
Treten Sie unserem Milvus Forum oder Slack Channel bei, um Unterstützung zu erhalten und sich mit unserer Open-Source-Community auszutauschen.
diff --git a/localization/v2.5.x/site/de/faq/performance_faq.json b/localization/v2.5.x/site/de/faq/performance_faq.json
index 1f20fe124..930ad4d1b 100644
--- a/localization/v2.5.x/site/de/faq/performance_faq.json
+++ b/localization/v2.5.x/site/de/faq/performance_faq.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"Performance FAQ","anchorList":[{"label":"Performance FAQ","href":"Performance-FAQ","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"Performance FAQ","anchorList":[{"label":"Leistung FAQ","href":"Performance-FAQ","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/faq/performance_faq.md b/localization/v2.5.x/site/de/faq/performance_faq.md
index dc114ac3e..eb49142a8 100644
--- a/localization/v2.5.x/site/de/faq/performance_faq.md
+++ b/localization/v2.5.x/site/de/faq/performance_faq.md
@@ -1,11 +1,11 @@
---
id: performance_faq.md
summary: >-
- Find answers to frequently asked questions about search performance,
- performance enhancements, and other performance related issues.
-title: Performance FAQ
+ Hier finden Sie Antworten auf häufig gestellte Fragen zur Suchleistung, zu
+ Leistungsverbesserungen und zu anderen leistungsbezogenen Themen.
+title: Leistung FAQ
---
-
Performance FAQ
+
Leistung FAQ
-
How to set nlist and nprobe for IVF indexes?
Setting nlist is scenario-specific. As a rule of thumb, the recommended value of nlist is 4 × sqrt(n), where n is the total number of entities in a segment.
-
The size of each segment is determined by the datacoord.segment.maxSize parameter, which is set to 512 MB by default. The total number of entities in a segment n can be estimated by dividing datacoord.segment.maxSize by the size of each entity.
-
Setting nprobe is specific to the dataset and scenario, and involves a trade-off between accuracy and query performance. We recommend finding the ideal value through repeated experimentation.
-
The following charts are results from a test running on the sift50m dataset and IVF_SQ8 index, which compares recall and query performance of different nlist/nprobe pairs.
+
Wie stellt man nlist und nprobe für IVF-Indizes ein?
Die Einstellung von nlist ist szenariospezifisch. Als Faustregel gilt, dass der empfohlene Wert von nlist4 × sqrt(n) ist, wobei n die Gesamtzahl der Entitäten in einem Segment ist.
+
Die Größe der einzelnen Segmente wird durch den Parameter datacoord.segment.maxSize bestimmt, der standardmäßig auf 512 MB eingestellt ist. Die Gesamtzahl der Entitäten in einem Segment n kann geschätzt werden, indem datacoord.segment.maxSize durch die Größe der einzelnen Entitäten dividiert wird.
+
Die Einstellung von nprobe ist spezifisch für den Datensatz und das Szenario und beinhaltet einen Kompromiss zwischen Genauigkeit und Abfrageleistung. Wir empfehlen, den idealen Wert durch wiederholtes Experimentieren zu finden.
+
Die folgenden Diagramme zeigen die Ergebnisse eines Tests, der mit dem sift50m-Datensatz und dem IVF_SQ8-Index durchgeführt wurde und bei dem die Abruf- und Abfrageleistung verschiedener nlist/nprobe -Paare verglichen wurde.
-
-
- Accuracy test
-
-
-
-
-
- Performance test
-
-
-
Why do queries sometimes take longer on smaller datasets?
Query operations are conducted on segments. Indexes reduce the amount of time it takes to query a segment. If a segment has not been indexed, Milvus resorts to brute-force search on the raw data—drastically increasing query time.
-
Therefore, it usually takes longer to query on a small dataset (collection) because it has not built index. This is because the sizes of its segments have not reached the index-building threshold set by rootCoord.minSegmentSizeToEnableindex. Call create_index() to force Milvus to index segments that have reached the threshold but not yet been automatically indexed, significantly improving query performance.
-
What factors impact CPU usage?
CPU usage increases when Milvus is building indexes or running queries. In general, index building is CPU intensive except when using Annoy, which runs on a single thread.
-
When running queries, CPU usage is affected by nq and nprobe. When nq and nprobe are small, concurrency is low and CPU usage stays low.
-
Does simultaneously inserting data and searching impact query performance?
Insert operations are not CPU intensive. However, because new segments may not have reached the threshold for index building, Milvus resorts to brute-force search—significantly impacting query performance.
-
The rootcoord.minSegmentSizeToEnableIndex parameter determines the index-building threshold for a segment, and is set to 1024 rows by default. See System Configuration for more information.
-
Is storage space released right after data deletion in Milvus?
No, storage space will not be immediately released when you delete data in Milvus. Although deleting data marks entities as “logically deleted,” the actual space might not be freed instantly. Here’s why:
+
+
+ Genauigkeits-TestLeistungs-Test
+
Warum dauern Abfragen auf kleineren Datensätzen manchmal länger?
Abfrageoperationen werden auf Segmenten durchgeführt. Indizes verringern die Zeit, die für die Abfrage eines Segments benötigt wird. Wenn ein Segment nicht indiziert wurde, greift Milvus auf eine Brute-Force-Suche in den Rohdaten zurück, was die Abfragezeit drastisch erhöht.
+
Daher dauert die Abfrage eines kleinen Datensatzes (einer Sammlung) in der Regel länger, da kein Index erstellt wurde. Der Grund dafür ist, dass die Größe der Segmente nicht den von rootCoord.minSegmentSizeToEnableindex festgelegten Schwellenwert für die Indexerstellung erreicht hat. Rufen Sie create_index() auf, um Milvus zu zwingen, Segmente zu indizieren, die den Schwellenwert erreicht haben, aber noch nicht automatisch indiziert wurden, was die Abfrageleistung erheblich verbessert.
+
Welche Faktoren beeinflussen die CPU-Auslastung?
Die CPU-Auslastung steigt, wenn Milvus Indizes aufbaut oder Abfragen ausführt. Im Allgemeinen ist die Indexerstellung CPU-intensiv, außer bei Verwendung von Annoy, das auf einem einzigen Thread läuft.
+
Bei der Ausführung von Abfragen wird die CPU-Auslastung durch nq und nprobe beeinflusst. Wenn nq und nprobe klein sind, ist die Gleichzeitigkeit gering und die CPU-Auslastung bleibt niedrig.
+
Wirkt sich das gleichzeitige Einfügen von Daten und Suchen auf die Abfrageleistung aus?
Einfügevorgänge sind nicht CPU-intensiv. Da jedoch neue Segmente möglicherweise noch nicht den Schwellenwert für den Indexaufbau erreicht haben, greift Milvus auf eine Brute-Force-Suche zurück, was die Abfrageleistung erheblich beeinträchtigt.
+
Der Parameter rootcoord.minSegmentSizeToEnableIndex bestimmt den Schwellenwert für die Indexerstellung für ein Segment und ist standardmäßig auf 1024 Zeilen eingestellt. Siehe Systemkonfiguration für weitere Informationen.
+
Wird der Speicherplatz nach dem Löschen von Daten in Milvus sofort wieder freigegeben?
Nein, der Speicherplatz wird nicht sofort freigegeben, wenn Sie Daten in Milvus löschen. Obwohl das Löschen von Daten Entitäten als "logisch gelöscht" kennzeichnet, wird der tatsächliche Speicherplatz möglicherweise nicht sofort freigegeben. Dies ist der Grund:
-
Compaction: Milvus automatically compacts data in the background. This process merges smaller data segments into larger ones and removes logically deleted data (entities marked for deletion) or data that has exceeded its Time-To-Live (TTL). However, compaction creates new segments while marking old ones as “Dropped.”
-
Garbage Collection: A separate process called Garbage Collection (GC) periodically removes these “Dropped” segments, freeing up the storage space they occupied. This ensures efficient use of storage but can introduce a slight delay between deletion and space reclamation.
+
Verdichtung: Milvus komprimiert Daten automatisch im Hintergrund. Bei diesem Prozess werden kleinere Datensegmente zu größeren zusammengeführt und logisch gelöschte Daten (zum Löschen markierte Entitäten) oder Daten, die ihre Time-To-Live (TTL) überschritten haben, entfernt. Bei der Verdichtung werden jedoch neue Segmente erstellt, während alte als "fallengelassen" markiert werden.
+
Garbage Collection: Ein separater Prozess namens Garbage Collection (GC) entfernt diese "Dropped"-Segmente in regelmäßigen Abständen und gibt den von ihnen belegten Speicherplatz wieder frei. Dies gewährleistet eine effiziente Nutzung des Speichers, kann aber zu einer leichten Verzögerung zwischen dem Löschen und der Wiedergewinnung von Speicherplatz führen.
-
Can I see inserted, deleted, or upserted data immediately after the operation without waiting for a flush?
Yes, in Milvus, data visibility is not directly tied to flush operations due to its storage-compute disaggregation architecture. You can manage data readability using consistency levels.
-
When selecting a consistency level, consider the trade-offs between consistency and performance. For operations requiring immediate visibility, use a “Strong” consistency level. For faster writes, prioritize weaker consistency (data might not be immediately visible). For more information, refer to Consistency.
-
Can indexing a VARCHAR field improve deletion speed?
Indexing a VARCHAR field can speed up “Delete By Expression” operations, but only under certain conditions:
+
Kann ich eingefügte, gelöschte oder hochgeladene Daten sofort nach dem Vorgang sehen, ohne auf einen Flush zu warten?
Ja, in Milvus ist die Datentransparenz aufgrund der Disaggregationsarchitektur von Storage und Compute nicht direkt an Flush-Vorgänge gebunden. Sie können die Lesbarkeit der Daten über Konsistenzstufen verwalten.
+
Bei der Auswahl einer Konsistenzstufe sollten Sie die Kompromisse zwischen Konsistenz und Leistung berücksichtigen. Für Operationen, die eine sofortige Sichtbarkeit erfordern, verwenden Sie eine "starke" Konsistenzstufe. Für schnellere Schreibvorgänge sollten Sie eine schwächere Konsistenz bevorzugen (die Daten sind möglicherweise nicht sofort sichtbar). Weitere Informationen finden Sie unter Konsistenz.
+
Kann die Indizierung eines VARCHAR-Feldes die Löschgeschwindigkeit verbessern?
Die Indizierung eines VARCHAR-Feldes kann die "Delete By Expression"-Operationen beschleunigen, aber nur unter bestimmten Bedingungen:
-
INVERTED Index: This index helps for IN or == expressions on non-primary key VARCHAR fields.
-
Trie Index: This index helps for prefix queries (e.g., LIKE prefix%) on non-primary VARCHAR fields.
+
INVERTED Index: Dieser Index hilft bei IN oder == Ausdrücken auf VARCHAR-Feldern mit nicht primären Schlüsseln.
+
Trie-Index: Dieser Index hilft bei Präfix-Abfragen (z.B. LIKE prefix%) auf nicht-primären VARCHAR-Feldern.
-
However, indexing a VARCHAR field does not speed up:
+
Die Indizierung eines VARCHAR-Feldes führt jedoch nicht zu einer Beschleunigung:
-
Deleting by IDs: When the VARCHAR field is the primary key.
-
Unrelated Expressions: When the VARCHAR field isn’t part of the delete expression.
+
Löschen nach IDs: Wenn das VARCHAR-Feld der Primärschlüssel ist.
+
Unverbundene Ausdrücke: Wenn das VARCHAR-Feld nicht Teil des Löschausdrucks ist.
-
Still have questions?
You can:
+
Haben Sie noch Fragen?
Sie können:
-
Check out Milvus on GitHub. Feel free to ask questions, share ideas, and help others.
-
Join our Slack Channel to find support and engage with our open-source community.
+
Schauen Sie sich Milvus auf GitHub an. Sie können Fragen stellen, Ideen austauschen und anderen helfen.
+
Treten Sie unserem Slack-Kanal bei, um Unterstützung zu erhalten und sich mit unserer Open-Source-Community auszutauschen.
diff --git a/localization/v2.5.x/site/de/faq/product_faq.json b/localization/v2.5.x/site/de/faq/product_faq.json
index 273c2552f..92ccb79da 100644
--- a/localization/v2.5.x/site/de/faq/product_faq.json
+++ b/localization/v2.5.x/site/de/faq/product_faq.json
@@ -1 +1 @@
-{"codeList":["60 * 2 * 4 + 40 * 1 * 12 = 960\n"],"headingContent":"Product FAQ","anchorList":[{"label":"Product FAQ","href":"Product-FAQ","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":["60 * 2 * 4 + 40 * 1 * 12 = 960\n"],"headingContent":"Product FAQ","anchorList":[{"label":"Produkt-FAQ","href":"Product-FAQ","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/faq/product_faq.md b/localization/v2.5.x/site/de/faq/product_faq.md
index ffaf6e6fe..df9a7e238 100644
--- a/localization/v2.5.x/site/de/faq/product_faq.md
+++ b/localization/v2.5.x/site/de/faq/product_faq.md
@@ -1,11 +1,11 @@
---
id: product_faq.md
summary: >-
- Find answers to frequently asked questions about the world's most advanced
- vector database.
-title: Product FAQ
+ Hier finden Sie Antworten auf häufig gestellte Fragen über die weltweit
+ fortschrittlichste Vektordatenbank.
+title: Produkt-FAQ
---
-
Product FAQ
+
Produkt-FAQ
-
How much does Milvus cost?
Milvus is a 100% free open-source project.
-
Please adhere to Apache License 2.0 when using Milvus for production or distribution purposes.
-
Zilliz, the company behind Milvus, also offers a fully managed cloud version of the platform for those that don’t want to build and maintain their own distributed instance. Zilliz Cloud automatically maintains data reliability and allows users to pay only for what they use.
-
Does Milvus support non-x86 architectures?
Milvus cannot be installed or run on non-x86 platforms.
-
Your CPU must support one of the following instruction sets to run Milvus: SSE4.2, AVX, AVX2, AVX512. These are all x86-dedicated SIMD instruction sets.
-
Where does Milvus store data?
Milvus deals with two types of data, inserted data and metadata.
Does Milvus support inserting and searching data simultaneously?
Yes. Insert operations and query operations are handled by two separate modules that are mutually independent. From the client’s perspective, an insert operation is complete when the inserted data enters the message queue. However, inserted data are unsearchable until they are loaded to the query node. If the segment size does not reach the index-building threshold (512 MB by default), Milvus resorts to brute-force search and query performance may be diminished.
-
Can vectors with duplicate primary keys be inserted into Milvus?
Yes. Milvus does not check if vector primary keys are duplicates.
-
When vectors with duplicate primary keys are inserted, does Milvus treat it as an update operation?
No. Milvus does not currently support update operations and does not check if entity primary keys are duplicates. You are responsible for ensuring entity primary keys are unique, and if they aren’t Milvus may contain multiple entities with duplicate primary keys.
-
If this occurs, which data copy will return when queried remains an unknown behavior. This limitation will be fixed in future releases.
-
What is the maximum length of self-defined entity primary keys?
Entity primary keys must be non-negative 64-bit integers.
-
What is the maximum amount of data that can be added per insert operation?
An insert operation must not exceed 1,024 MB in size. This is a limit imposed by gRPC.
-
Does collection size impact query performance when searching in a specific partition?
No. If partitions for a search are specified, Milvus searches the specified partitions only.
-
Does Milvus need to load the entire collection when partitions are specified for a search?
It depends on what data is needed for search. All partitions potentially show up in search result must be loaded before searching.
+
Wie viel kostet Milvus?
Milvus ist ein 100% kostenloses Open-Source-Projekt.
+
Bitte halten Sie sich an die Apache License 2.0, wenn Sie Milvus für Produktions- oder Vertriebszwecke verwenden.
+
Zilliz, das Unternehmen hinter Milvus, bietet auch eine vollständig verwaltete Cloud-Version der Plattform für diejenigen an, die keine eigene verteilte Instanz erstellen und warten möchten. Zilliz Cloud sorgt automatisch für die Zuverlässigkeit der Daten und ermöglicht es den Nutzern, nur für das zu zahlen, was sie verwenden.
+
Unterstützt Milvus nicht-x86-Architekturen?
Milvus kann nicht auf nicht-x86 Plattformen installiert oder ausgeführt werden.
+
Ihre CPU muss einen der folgenden Befehlssätze unterstützen, um Milvus auszuführen: SSE4.2, AVX, AVX2, AVX512. Dies sind alles x86-spezifische SIMD-Befehlssätze.
+
Wo speichert Milvus Daten?
Milvus arbeitet mit zwei Arten von Daten, eingefügten Daten und Metadaten.
Unterstützt Milvus das gleichzeitige Einfügen und Suchen von Daten?
Ja. Einfügeoperationen und Abfrageoperationen werden von zwei separaten Modulen gehandhabt, die voneinander unabhängig sind. Aus der Sicht des Clients ist ein Einfügevorgang abgeschlossen, wenn die eingefügten Daten in die Nachrichtenwarteschlange gelangen. Die eingefügten Daten sind jedoch nicht durchsuchbar, bis sie in den Abfrageknoten geladen werden. Erreicht die Segmentgröße nicht den Schwellenwert für die Indexerstellung (standardmäßig 512 MB), greift Milvus auf die Brute-Force-Suche zurück, und die Abfrageleistung kann beeinträchtigt werden.
+
Können Vektoren mit doppelten Primärschlüsseln in Milvus eingefügt werden?
Ja. Milvus prüft nicht, ob es sich bei den Primärschlüsseln der Vektoren um Duplikate handelt.
+
Wenn Vektoren mit doppelten Primärschlüsseln eingefügt werden, behandelt Milvus dies dann als Aktualisierungsvorgang?
Nein. Milvus unterstützt derzeit keine Aktualisierungsoperationen und prüft nicht, ob Entity-Primärschlüssel doppelt vorhanden sind. Sie sind dafür verantwortlich, dass die Primärschlüssel der Entitäten eindeutig sind, und wenn sie es nicht sind, kann Milvus mehrere Entitäten mit doppelten Primärschlüsseln enthalten.
+
In diesem Fall bleibt unbekannt, welche Datenkopie bei einer Abfrage zurückgegeben wird. Diese Einschränkung wird in zukünftigen Versionen behoben werden.
+
Wie lang dürfen selbst definierte Entitätsprimärschlüssel maximal sein?
Entitäts-Primärschlüssel müssen nicht-negative 64-Bit-Ganzzahlen sein.
+
Wie groß ist die maximale Datenmenge, die pro Einfügevorgang hinzugefügt werden kann?
Ein Einfügevorgang darf eine Größe von 1.024 MB nicht überschreiten. Dies ist eine von gRPC festgelegte Grenze.
+
Wirkt sich die Größe der Sammlung auf die Abfrageleistung bei der Suche in einer bestimmten Partition aus?
Nein. Wenn Partitionen für eine Suche angegeben werden, durchsucht Milvus nur die angegebenen Partitionen.
+
Muss Milvus die gesamte Sammlung laden, wenn Partitionen für eine Suche angegeben werden?
Das hängt davon ab, welche Daten für die Suche benötigt werden. Alle Partitionen, die im Suchergebnis auftauchen könnten, müssen vor der Suche geladen werden.
-
For example, if you only want to search specific parition(s), you don’t need to load all. Call load_partition() to load the intended partition(s) then specify partition(s) in the search() method call.
-
If you want to search all partitions, call load_collection() to load the whole collection including all partitions.
-
If you fail to load the collection or specific partition(s) before searching, Milvus will return an error.
+
Wenn Sie zum Beispiel nur bestimmte Partitionen durchsuchen wollen, müssen Sie nicht alle laden. Rufen Sie load_partition() auf, um die gewünschte(n) Partition(en) zu laden , und geben Sie dann die Partition(en) in dem Methodenaufruf search() an.
+
Wenn Sie alle Partitionen durchsuchen wollen, rufen Sie load_collection() auf, um die gesamte Sammlung einschließlich aller Partitionen zu laden.
+
Wenn Sie die Sammlung oder bestimmte Partition(en) vor der Suche nicht laden, wird Milvus einen Fehler zurückgeben.
-
Can indexes be created after inserting vectors?
Yes. If an index has been built for a collection by create_index() before, Milvus will automatically build an index for subsequently inserted vectors. However, Milvus does not build an index until the newly inserted vectors fill an entire segment and the newly created index file is separate from the previous one.
-
How are the FLAT and IVF_FLAT indexes different?
The IVF_FLAT index divides vector space into list clusters. At the default list value of 16,384, Milvus compares the distances between the target vector and the centroids of all 16,384 clusters to return probe nearest clusters. Milvus then compares the distances between the target vector and the vectors in the selected clusters to get the nearest vectors. Unlike IVF_FLAT, FLAT directly compares the distances between the target vector and every other vector.
-
When the total number of vectors approximately equals nlist, there is little distance between IVF_FLAT and FLAT in terms of calculation requirements and search performance. However, as the number of vectors exceeds nlist by a factor of two or more, IVF_FLAT begins to demonstrate performance advantages.
Milvus returns success when inserted data are ingested to the message queue. However, the data are not yet flushed to the disk. Then Milvus’ data node writes the data in the message queue to persistent storage as incremental logs. If flush() is called, the data node is forced to write all data in the message queue to persistent storage immediately.
-
What is normalization? Why is normalization needed?
Normalization refers to the process of converting a vector so that its norm equals 1. If inner product is used to calculate vector similarity, vectors must be normalized. After normalization, inner product equals cosine similarity.
Why do Euclidean distance (L2) and inner product (IP) return different results?
For normalized vectors, Euclidean distance (L2) is mathematically equivalent to inner product (IP). If these similarity metrics return different results, check to see if your vectors are normalized
-
Is there a limit to the total number of collections and partitions in Milvus?
Yes. You can create up to 65,535 collections in a Milvus instance. When calculating the number of existing collections, Milvus counts all collections with shards and partitions in them.
-
For example, let’s assume you have already created 100 collections, with 2 shards and 4 partitions in 60 of them and with 1 shard and 12 partitions in the rest 40 collections. The current number of collections can be calculated as:
+
Können Indizes nach dem Einfügen von Vektoren erstellt werden?
Ja. Wenn zuvor ein Index für eine Sammlung durch create_index() erstellt wurde, erstellt Milvus automatisch einen Index für die später eingefügten Vektoren. Milvus erstellt jedoch erst dann einen Index, wenn die neu eingefügten Vektoren ein ganzes Segment füllen und die neu erstellte Indexdatei von der vorherigen getrennt ist.
+
Wie unterscheiden sich die Indizes FLAT und IVF_FLAT?
Der IVF_FLAT-Index unterteilt den Vektorraum in Listencluster. Bei dem Standardlistenwert von 16.384 vergleicht Milvus die Abstände zwischen dem Zielvektor und den Mittelpunkten aller 16.384 Cluster, um die nächstgelegenen Cluster zu ermitteln. Milvus vergleicht dann die Abstände zwischen dem Zielvektor und den Vektoren in den ausgewählten Clustern, um die nächstgelegenen Vektoren zu ermitteln. Im Gegensatz zu IVF_FLAT vergleicht FLAT direkt die Abstände zwischen dem Zielvektor und allen anderen Vektoren.
+
Wenn die Gesamtzahl der Vektoren annähernd nlist entspricht, ist der Unterschied zwischen IVF_FLAT und FLAT in Bezug auf den Rechenaufwand und die Suchleistung gering. Sobald jedoch die Anzahl der Vektoren nlist um den Faktor zwei oder mehr übersteigt, beginnt IVF_FLAT Leistungsvorteile zu zeigen.
Milvus gibt einen Erfolg zurück, wenn die eingefügten Daten in die Nachrichtenwarteschlange aufgenommen wurden. Die Daten werden jedoch noch nicht auf die Festplatte gespült. Dann schreibt der Datenknoten von Milvus die Daten in der Nachrichtenwarteschlange als inkrementelle Protokolle in den permanenten Speicher. Wenn flush() aufgerufen wird, wird der Datenknoten gezwungen, alle Daten in der Nachrichtenwarteschlange sofort in den permanenten Speicher zu schreiben.
+
Was ist Normalisierung? Warum ist Normalisierung erforderlich?
Normalisierung bezieht sich auf den Prozess der Konvertierung eines Vektors, so dass seine Norm gleich 1 ist. Wenn das innere Produkt zur Berechnung der Vektorähnlichkeit verwendet wird, müssen die Vektoren normalisiert werden. Nach der Normalisierung ist das innere Produkt gleich der Kosinusähnlichkeit.
Warum liefern der euklidische Abstand (L2) und das innere Produkt (IP) unterschiedliche Ergebnisse?
Für normalisierte Vektoren ist der euklidische Abstand (L2) mathematisch äquivalent zum inneren Produkt (IP). Wenn diese Ähnlichkeitsmetriken unterschiedliche Ergebnisse liefern, prüfen Sie, ob Ihre Vektoren normalisiert sind
+
Gibt es eine Grenze für die Gesamtzahl der Sammlungen und Unterteilungen in Milvus?
Ja. Sie können bis zu 65.535 Sammlungen in einer Milvus-Instanz erstellen. Bei der Berechnung der Anzahl der vorhandenen Sammlungen zählt Milvus alle Sammlungen, die Scherben und Partitionen enthalten.
+
Nehmen wir zum Beispiel an, Sie haben bereits 100 Sammlungen angelegt, von denen 60 2 Shards und 4 Partitionen enthalten und die restlichen 40 Sammlungen 1 Shard und 12 Partitionen. Die aktuelle Anzahl der Sammlungen kann wie folgt berechnet werden:
60 * 2 * 4 + 40 * 1 * 12 = 960
-
Why do I get fewer than k vectors when searching for topk vectors?
Among the indexes that Milvus supports, IVF_FLAT and IVF_SQ8 implement the k-means clustering method. A data space is divided into nlist clusters and the inserted vectors are distributed to these clusters. Milvus then selects the nprobe nearest clusters and compares the distances between the target vector and all vectors in the selected clusters to return the final results.
-
If nlist and topk are large and nprobe is small, the number of vectors in the nprobe clusters may be less than k. Therefore, when you search for the topk nearest vectors, the number of returned vectors is less than k.
-
To avoid this, try setting nprobe larger and nlist and k smaller.
What is the maximum vector dimension supported in Milvus?
Milvus can manage vectors with up to 32,768 dimensions by default. You can increase the value of Proxy.maxDimension to allow for a larger dimension vector.
-
Does Milvus support Apple M1 CPU?
Current Milvus release does not support Apple M1 CPU directly. After Milvus 2.3, Milvus provides Docker images for the ARM64 architecture.
-
What data types does Milvus support on the primary key field?
In current release, Milvus supports both INT64 and string.
-
Is Milvus scalable?
Yes. You can deploy Milvus cluster with multiple nodes via Helm Chart on Kubernetes. Refer to Scale Guide for more instruction.
-
What are growing segment and sealed segment?
When a search request comes, Milvus searches both incremental data and historical data. Incremental data are recent updates, they are stored in the growing segments, which are buffered in memory before they reach the threshold to be persisted in object storage and a more efficient index is built for them, while historical data are updates a while ago. They are in the sealed segments which have been persisted in the object storage. Incremental data and historical data together constitute the whole dataset for search. This design makes any data ingested to Milvus instantly searchable. For Milvus Distributed, there are more complex factors that decide when a record just ingested can show up in search result. Learn more nuance about that at consistency levels.
-
Is Milvus available for concurrent search?
Yes. For queries on the same collection, Milvus concurrently searches the incremental and historical data. However, queries on different collections are conducted in series. Whereas the historical data can be an extremely huge dataset, searches on the historical data are relatively more time-consuming and essentially performed in series.
-
Why does the data in MinIO remain after the corresponding collection is dropped?
Data in MinIO is designed to remain for a certain period of time for the convenience of data rollback.
-
Does Milvus support message engines other than Pulsar?
Yes. Kafka is supported in Milvus 2.1.0.
-
What’s the difference between a search and a query?
In Milvus, a vector similarity search retrieves vectors based on similarity calculation and vector index acceleration. Unlike a vector similarity search, a vector query retrieves vectors via scalar filtering based on a boolean expression. The boolean expression filters on scalar fields or the primary key field, and it retrieves all results that match the filters. In a query, neither similarity metrics nor vector index is involved.
-
Why does a float vector value have a precision of 7 decimal digits in Milvus?
Milvus supports storing vectors as Float32 arrays. A Float32 value has a precision of 7 decimal digits. Even with a Float64 value, such as 1.3476964684980388, Milvus stores it as 1.347696. Therefore, when you retrieve such a vector from Milvus, the precision of the Float64 value is lost.
-
How does Milvus handle vector data types and precision?
Milvus supports Binary, Float32, Float16, and BFloat16 vector types.
+
Warum erhalte ich weniger als k Vektoren, wenn ich nach topk Vektoren suche?
Von den Indizes, die Milvus unterstützt, implementieren IVF_FLAT und IVF_SQ8 die k-means Clustering-Methode. Ein Datenraum wird in nlist Cluster unterteilt und die eingefügten Vektoren werden auf diese Cluster verteilt. Milvus wählt dann die nprobe nächstgelegenen Cluster aus und vergleicht die Abstände zwischen dem Zielvektor und allen Vektoren in den ausgewählten Clustern, um die endgültigen Ergebnisse zu erhalten.
+
Wenn nlist und topk groß sind und nprobe klein ist, kann die Anzahl der Vektoren in den nprobe-Clustern geringer sein als k. Wenn Sie also nach den topk nächstgelegenen Vektoren suchen, ist die Anzahl der zurückgegebenen Vektoren geringer als k.
+
Um dies zu vermeiden, versuchen Sie, nprobe größer und nlist und k kleiner zu setzen.
+
Weitere Informationen finden Sie unter Vektorindex.
+
Was ist die maximale Vektordimension, die Milvus unterstützt?
Milvus kann standardmäßig Vektoren mit bis zu 32.768 Dimensionen verwalten. Sie können den Wert von Proxy.maxDimension erhöhen, um einen Vektor mit einer größeren Dimension zu ermöglichen.
+
Unterstützt Milvus die Apple M1 CPU?
Die aktuelle Milvus-Version unterstützt die Apple M1-CPU nicht direkt. Nach Milvus 2.3 bietet Milvus Docker-Images für die ARM64-Architektur.
+
Welche Datentypen unterstützt Milvus für das Primärschlüsselfeld?
In der aktuellen Version unterstützt Milvus sowohl INT64 als auch String.
+
Ist Milvus skalierbar?
Ja. Sie können Milvus-Cluster mit mehreren Knoten über Helm Chart auf Kubernetes bereitstellen. Weitere Anweisungen finden Sie im Scale Guide.
+
Was sind wachsende und geschlossene Segmente?
Wenn eine Suchanfrage kommt, durchsucht Milvus sowohl inkrementelle als auch historische Daten. Inkrementelle Daten sind aktuelle Aktualisierungen, die in den wachsenden Segmenten gespeichert werden, die im Speicher gepuffert werden, bevor sie den Schwellenwert für die Persistenz im Objektspeicher erreichen, und für die ein effizienterer Index erstellt wird, während historische Daten Aktualisierungen sind, die schon länger zurückliegen. Sie befinden sich in den versiegelten Segmenten, die im Objektspeicher persistiert wurden. Inkrementelle Daten und historische Daten bilden zusammen den gesamten Datenbestand für die Suche. Dieses Design macht alle Daten, die in Milvus aufgenommen werden, sofort durchsuchbar. Bei Milvus Distributed gibt es komplexere Faktoren, die darüber entscheiden, wann ein gerade aufgenommener Datensatz in den Suchergebnissen auftauchen kann. Erfahren Sie mehr darüber unter Konsistenzstufen.
+
Ist Milvus für die gleichzeitige Suche verfügbar?
Ja. Bei Abfragen in derselben Sammlung durchsucht Milvus gleichzeitig die inkrementellen und historischen Daten. Abfragen zu verschiedenen Sammlungen werden jedoch nacheinander durchgeführt. Da es sich bei den historischen Daten um einen extrem großen Datenbestand handeln kann, sind die Abfragen auf den historischen Daten relativ zeitaufwändiger und werden im Wesentlichen in Serien durchgeführt.
+
Warum bleiben die Daten in MinIO erhalten, nachdem die entsprechende Sammlung gelöscht wurde?
Die Daten in MinIO sind so konzipiert, dass sie für einen bestimmten Zeitraum gespeichert bleiben, um ein Rollback der Daten zu ermöglichen.
+
Unterstützt Milvus auch andere Message Engines als Pulsar?
Ja. Kafka wird in Milvus 2.1.0 unterstützt.
+
Was ist der Unterschied zwischen einer Suche und einer Abfrage?
In Milvus findet eine Vektorähnlichkeitssuche Vektoren auf der Grundlage von Ähnlichkeitsberechnungen und Vektorindexbeschleunigung. Im Gegensatz zu einer Vektorähnlichkeitssuche werden bei einer Vektorabfrage Vektoren durch skalare Filterung auf der Grundlage eines booleschen Ausdrucks abgerufen. Der boolesche Ausdruck filtert auf skalare Felder oder das Primärschlüsselfeld und ruft alle Ergebnisse ab, die den Filtern entsprechen. Bei einer Abfrage sind weder Ähnlichkeitsmetriken noch ein Vektorindex beteiligt.
+
Warum hat ein Float-Vektorwert in Milvus eine Genauigkeit von 7 Dezimalstellen?
Milvus unterstützt die Speicherung von Vektoren als Float32-Arrays. Ein Float32-Wert hat eine Genauigkeit von 7 Dezimalziffern. Selbst bei einem Float64-Wert, wie z.B. 1.3476964684980388, speichert Milvus ihn als 1.347696. Wenn Sie also einen solchen Vektor von Milvus abrufen, geht die Genauigkeit des Float64-Wertes verloren.
+
Wie geht Milvus mit Vektordatentypen und Genauigkeit um?
Milvus unterstützt die Vektortypen Binary, Float32, Float16 und BFloat16.
-
Binary vectors: Store binary data as sequences of 0s and 1s, used in image processing and information retrieval.
-
Float32 vectors: Default storage with a precision of about 7 decimal digits. Even Float64 values are stored with Float32 precision, leading to potential precision loss upon retrieval.
-
Float16 and BFloat16 vectors: Offer reduced precision and memory usage. Float16 is suitable for applications with limited bandwidth and storage, while BFloat16 balances range and efficiency, commonly used in deep learning to reduce computational requirements without significantly impacting accuracy.
+
Binäre Vektoren: Speichern binäre Daten als Sequenzen von 0en und 1en und werden in der Bildverarbeitung und beim Informationsabruf verwendet.
+
Float32-Vektoren: Standardspeicherung mit einer Genauigkeit von etwa 7 Dezimalstellen. Auch Float64-Werte werden mit Float32-Präzision gespeichert, was zu einem möglichen Präzisionsverlust beim Abruf führt.
+
Float16- und BFloat16-Vektoren: Bieten eine geringere Genauigkeit und einen geringeren Speicherbedarf. Float16 eignet sich für Anwendungen mit begrenzter Bandbreite und begrenztem Speicherplatz, während BFloat16 ein ausgewogenes Verhältnis zwischen Reichweite und Effizienz bietet und häufig beim Deep Learning verwendet wird, um die Rechenanforderungen zu reduzieren, ohne die Genauigkeit wesentlich zu beeinträchtigen.
-
Does Milvus support specifying default values for scalar or vector fields?
Currently, Milvus 2.4.x does not support specifying default values for scalar or vector fields. This feature is planned for future releases.
-
Still have questions?
You can:
+
Unterstützt Milvus die Angabe von Standardwerten für Skalar- oder Vektorfelder?
Derzeit unterstützt Milvus 2.4.x nicht die Angabe von Standardwerten für Skalar- oder Vektorfelder. Diese Funktion ist für zukünftige Versionen geplant.
+
Haben Sie noch Fragen?
Sie können:
-
Check out Milvus on GitHub. You’re welcome to raise questions, share ideas, and help others.
-
Join our Slack community to find support and engage with our open-source community.
+
Schauen Sie sich Milvus auf GitHub an. Dort können Sie Fragen stellen, Ideen austauschen und anderen helfen.
+
Treten Sie unserer Slack-Community bei, um Unterstützung zu erhalten und sich mit unserer Open-Source-Community auszutauschen.
diff --git a/localization/v2.5.x/site/de/faq/troubleshooting.json b/localization/v2.5.x/site/de/faq/troubleshooting.json
index c1f51771c..d9c621bc5 100644
--- a/localization/v2.5.x/site/de/faq/troubleshooting.json
+++ b/localization/v2.5.x/site/de/faq/troubleshooting.json
@@ -1 +1 @@
-{"codeList":["$ docker logs \n","kubectl scale sts --replicas=1\n# delete the pvc for etcd-1 and etcd-2\nkubectl scale sts --replicas=3\n","kubectl kubectl scale sts --replicas=0\n# delete the pvc for etcd-0, etcd-1, etcd-2\nkubectl kubectl scale sts --replicas=1\n# restore the backup data\n"],"headingContent":"Troubleshooting","anchorList":[{"label":"Troubleshooting","href":"Troubleshooting","type":1,"isActive":false},{"label":"Boot issues","href":"Boot-issues","type":2,"isActive":false},{"label":"Runtime issues","href":"Runtime-issues","type":2,"isActive":false},{"label":"API issues","href":"API-issues","type":2,"isActive":false},{"label":"etcd crash issues","href":"etcd-crash-issues","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ docker logs \n","kubectl scale sts --replicas=1\n# delete the pvc for etcd-1 and etcd-2\nkubectl scale sts --replicas=3\n","kubectl kubectl scale sts --replicas=0\n# delete the pvc for etcd-0, etcd-1, etcd-2\nkubectl kubectl scale sts --replicas=1\n# restore the backup data\n"],"headingContent":"Troubleshooting","anchorList":[{"label":"Fehlersuche","href":"Troubleshooting","type":1,"isActive":false},{"label":"Boot-Probleme","href":"Boot-issues","type":2,"isActive":false},{"label":"Laufzeit-Probleme","href":"Runtime-issues","type":2,"isActive":false},{"label":"API-Probleme","href":"API-issues","type":2,"isActive":false},{"label":"etcd-Absturzprobleme","href":"etcd-crash-issues","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/faq/troubleshooting.md b/localization/v2.5.x/site/de/faq/troubleshooting.md
index a9c3ea0db..f00e56791 100644
--- a/localization/v2.5.x/site/de/faq/troubleshooting.md
+++ b/localization/v2.5.x/site/de/faq/troubleshooting.md
@@ -1,11 +1,11 @@
---
id: troubleshooting.md
summary: >-
- Learn about common issues you may encounter with Milvus and how to overcome
- them.
-title: Troubleshooting
+ Erfahren Sie mehr über häufige Probleme, die bei Milvus auftreten können, und
+ wie Sie diese lösen können.
+title: Fehlersuche
---
-
Troubleshooting
+
Fehlersuche
-
This page lists common issues that may occur when running Milvus, as well as possible troubleshooting tips. Issues on this page fall into the following categories:
+
Auf dieser Seite werden häufige Probleme, die beim Betrieb von Milvus auftreten können, sowie mögliche Tipps zur Fehlerbehebung aufgeführt. Die Probleme auf dieser Seite lassen sich in die folgenden Kategorien einteilen:
Boot errors are usually fatal. Run the following command to view error details:
+
Boot-Fehler sind in der Regel fatal. Führen Sie den folgenden Befehl aus, um Fehlerdetails anzuzeigen:
$ docker logs <your milvus container id>
-
Runtime issues
+
Laufzeit-Probleme
-
Errors that occur during runtime may cause service breakdown. To troubleshoot this issue, check compatibility between the server and your client before moving forward.
-
API issues
+
Fehler, die während der Laufzeit auftreten, können zum Ausfall des Dienstes führen. Um dieses Problem zu beheben, überprüfen Sie die Kompatibilität zwischen dem Server und Ihrem Client, bevor Sie fortfahren.
+
API-Probleme
-
These issues occur during API method calls between the Milvus server and your client. They will be returned to the client synchronously or asynchronously.
-
etcd crash issues
+
Diese Probleme treten bei API-Methodenaufrufen zwischen dem Milvus-Server und Ihrem Client auf. Sie werden synchron oder asynchron an den Client zurückgegeben.
+
etcd-Absturzprobleme
-
1. etcd pod pending
The etcd cluster uses pvc by default. StorageClass needs to be preconfigured for the Kubernetes cluster.
-
2. etcd pod crash
When an etcd pod crashes with Error: bad member ID arg (strconv.ParseUint: parsing "": invalid syntax), expecting ID in Hex, you can log into this pod and delete the /bitnami/etcd/data/member_id file.
-
3. Multiple pods keep crashing while etcd-0 is still running
You can run the following code if multiple pods keeps crashing while etcd-0 is still running.
+
1. etcd-Pod ausstehend
Der etcd-Cluster verwendet standardmäßig pvc. StorageClass muss für den Kubernetes-Cluster vorkonfiguriert werden.
+
2. etcd-Pod-Absturz
Wenn ein etcd-Pod mit Error: bad member ID arg (strconv.ParseUint: parsing "": invalid syntax), expecting ID in Hex abstürzt, können Sie sich bei diesem Pod anmelden und die Datei /bitnami/etcd/data/member_id löschen.
+
3. Mehrere Pods stürzen ständig ab, während etcd-0 noch läuft
Sie können den folgenden Code ausführen, wenn mehrere Pods abstürzen, während etcd-0 noch läuft.
kubectl scale sts <etcd-sts> --replicas=1# delete the pvc for etcd-1 and etcd-2
kubectl scale sts <etcd-sts> --replicas=3
-
4. All pods crash
When all pods crash, try copying the /bitnami/etcd/data/member/snap/db file. Use https://github.com/etcd-io/bbolt to modify database data.
-
All Milvus metadata are kept in the key bucket. Back up the data in this bucket and run the following commands. Note that the prefix data in the by-dev/meta/session file does not require a backup.
+
4. Alle Pods stürzen ab
Wenn alle Pods abstürzen, versuchen Sie, die Datei /bitnami/etcd/data/member/snap/db zu kopieren. Verwenden Sie https://github.com/etcd-io/bbolt, um Datenbankdaten zu ändern.
+
Alle Milvus-Metadaten werden im key -Bucket gespeichert. Sichern Sie die Daten in diesem Bucket und führen Sie die folgenden Befehle aus. Beachten Sie, dass die Präfixdaten in der Datei by-dev/meta/session nicht gesichert werden müssen.
kubectl kubectl scale sts <etcd-sts> --replicas=0# delete the pvc for etcd-0, etcd-1, etcd-2
kubectl kubectl scale sts <etcd-sts> --replicas=1# restore the backup data
-
If you need help solving a problem, feel free to:
+
Wenn Sie Hilfe bei der Lösung eines Problems benötigen, können Sie das gerne tun:
-
Join our Slack channel and reach out for support from the Milvus team.
-
File an Issue on GitHub that includes details about your problem.
+
Treten Sie unserem Slack-Kanal bei und fordern Sie Unterstützung durch das Milvus-Team an.
diff --git a/localization/v2.5.x/site/de/getstarted/install-overview.json b/localization/v2.5.x/site/de/getstarted/install-overview.json
index ff701bb94..2941a7d38 100644
--- a/localization/v2.5.x/site/de/getstarted/install-overview.json
+++ b/localization/v2.5.x/site/de/getstarted/install-overview.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"Overview of Milvus Deployment Options","anchorList":[{"label":"Overview of Milvus Deployment Options","href":"Overview-of-Milvus-Deployment-Options","type":1,"isActive":false},{"label":"Milvus Lite","href":"Milvus-Lite","type":2,"isActive":false},{"label":"Milvus Standalone","href":"Milvus-Standalone","type":2,"isActive":false},{"label":"Milvus Distributed","href":"Milvus-Distributed","type":2,"isActive":false},{"label":"Choose the Right Deployment for Your Use Case","href":"Choose-the-Right-Deployment-for-Your-Use-Case","type":2,"isActive":false},{"label":"Comparison on functionalities","href":"Comparison-on-functionalities","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"Overview of Milvus Deployment Options","anchorList":[{"label":"Überblick über die Milvus-Bereitstellungsoptionen","href":"Overview-of-Milvus-Deployment-Options","type":1,"isActive":false},{"label":"Milvus Lite","href":"Milvus-Lite","type":2,"isActive":false},{"label":"Milvus Standalone","href":"Milvus-Standalone","type":2,"isActive":false},{"label":"Milvus Verteilt","href":"Milvus-Distributed","type":2,"isActive":false},{"label":"Wählen Sie die richtige Bereitstellung für Ihren Anwendungsfall","href":"Choose-the-Right-Deployment-for-Your-Use-Case","type":2,"isActive":false},{"label":"Vergleich der Funktionalitäten","href":"Comparison-on-functionalities","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/getstarted/install-overview.md b/localization/v2.5.x/site/de/getstarted/install-overview.md
index 02cf3fc42..61b8ceca1 100644
--- a/localization/v2.5.x/site/de/getstarted/install-overview.md
+++ b/localization/v2.5.x/site/de/getstarted/install-overview.md
@@ -1,14 +1,15 @@
---
id: install-overview.md
summary: >-
- Milvus is a highly performant, scalable vector database. It supports use cases
- of a wide range of sizes, from demos running locally in Jupyter Notebooks to
- massive-scale Kubernetes clusters handling tens of billions of vectors.
- Currently, there are three Milvus deployment options_ Milvus Lite, Milvus
- Standalone, and Milvus Distributed.
-title: Overview of Milvus Deployment Options
+ Milvus ist eine hochleistungsfähige, skalierbare Vektordatenbank. Sie
+ unterstützt Anwendungsfälle unterschiedlichster Größe, von Demos, die lokal in
+ Jupyter Notebooks ausgeführt werden, bis hin zu Kubernetes-Clustern, die
+ mehrere Milliarden Vektoren verarbeiten. Derzeit gibt es drei
+ Milvus-Bereitstellungsoptionen: Milvus Lite, Milvus Standalone und Milvus
+ Distributed.
+title: Überblick über die Milvus-Bereitstellungsoptionen
---
-
Overview of Milvus Deployment Options
+
Überblick über die Milvus-Bereitstellungsoptionen
-
Milvus is a highly performant, scalable vector database. It supports use cases of a wide range of sizes, from demos running locally in Jupyter Notebooks to massive-scale Kubernetes clusters handling tens of billions of vectors. Currently, there are three Milvus deployment options: Milvus Lite, Milvus Standalone, and Milvus Distributed.
+
Milvus ist eine hochleistungsfähige, skalierbare Vektordatenbank. Sie unterstützt Anwendungsfälle unterschiedlichster Größe, von Demos, die lokal in Jupyter Notebooks ausgeführt werden, bis hin zu Kubernetes-Clustern, die mehrere Milliarden Vektoren verarbeiten. Derzeit gibt es drei Milvus-Bereitstellungsoptionen: Milvus Lite, Milvus Standalone und Milvus Distributed.
Milvus Lite
-
Milvus Lite is a Python library that can be imported into your applications. As a lightweight version of Milvus, it is ideal for quick prototyping in Jupyter Notebooks or running on smart devices with limited resources. Milvus Lite supports the same APIs as other Milvus deployments. The client-side code interacting with Milvus Lite can also work with Milvus instances in other deployment modes.
-
To integrate Milvus Lite into your applications, run pip install pymilvus to install it and use the MilvusClient("./demo.db") statement to instantiate a vector database with a local file that persists all your data. For more details, refer to Run Milvus Lite.
+
Milvus Lite ist eine Python-Bibliothek, die in Ihre Anwendungen importiert werden kann. Als leichtgewichtige Version von Milvus ist sie ideal für schnelles Prototyping in Jupyter Notebooks oder für die Ausführung auf Smart Devices mit begrenzten Ressourcen. Milvus Lite unterstützt die gleichen APIs wie andere Milvus-Implementierungen. Der clientseitige Code, der mit Milvus Lite interagiert, kann auch mit Milvus-Instanzen in anderen Bereitstellungsmodi arbeiten.
+
Um Milvus Lite in Ihre Anwendungen zu integrieren, führen Sie pip install pymilvus aus, um es zu installieren, und verwenden Sie die Anweisung MilvusClient("./demo.db"), um eine Vektordatenbank mit einer lokalen Datei zu instanziieren, in der alle Ihre Daten gespeichert sind. Weitere Einzelheiten finden Sie unter Ausführen von Milvus Lite.
Milvus Standalone
-
Milvus Standalone is a single-machine server deployment. All components of Milvus Standalone are packed into a single Docker image, making deployment convenient. If you have a production workload but prefer not to use Kubernetes, running Milvus Standalone on a single machine with sufficient memory is a good option. Additionally, Milvus Standalone supports high availability through master-slave replication.
-
Milvus Distributed
+
Milvus Standalone ist ein Servereinsatz auf einer einzigen Maschine. Alle Komponenten von Milvus Standalone sind in ein einziges Docker-Image gepackt, was die Bereitstellung erleichtert. Wenn Sie eine produktive Arbeitslast haben, aber nicht Kubernetes verwenden möchten, ist die Ausführung von Milvus Standalone auf einem einzelnen Rechner mit ausreichend Speicher eine gute Option. Außerdem unterstützt Milvus Standalone hohe Verfügbarkeit durch Master-Slave-Replikation.
+
Milvus Verteilt
-
Milvus Distributed can be deployed on Kubernetes clusters. This deployment features a cloud-native architecture, where ingestion load and search queries are separately handled by isolated nodes, allowing redundancy for critical components. It offers the highest scalability and availability, as well as the flexibility in customizing the allocated resources in each component. Milvus Distributed is the top choice for enterprise users running large-scale vector search systems in production.
-
Choose the Right Deployment for Your Use Case
+
Milvus Distributed kann auf Kubernetes-Clustern bereitgestellt werden. Diese Bereitstellung zeichnet sich durch eine Cloud-native Architektur aus, bei der die Ingestion-Last und die Suchanfragen separat von isolierten Knoten verarbeitet werden, was Redundanz für kritische Komponenten ermöglicht. Sie bietet höchste Skalierbarkeit und Verfügbarkeit sowie die Flexibilität, die zugewiesenen Ressourcen in jeder Komponente anzupassen. Milvus Distributed ist die erste Wahl für Unternehmensanwender, die große Vektorsuchsysteme in der Produktion betreiben.
+
Wählen Sie die richtige Bereitstellung für Ihren Anwendungsfall
-
The selection of a deployment mode typically depends on the development stage of your application:
+
Die Wahl des Bereitstellungsmodus hängt in der Regel von der Entwicklungsphase Ihrer Anwendung ab:
-
For Quick Prototyping
-
If you would like to quickly build something as a prototype or for learning purposes, such as Retrieval Augmented Generation (RAG) demos, AI chatbots, multi-modality search, Milvus Lite itself or a combination of Milvus Lite and Milvus Standalone is suitable. You can use Milvus Lite in notebooks for rapid prototyping and explore various approaches such as different chunking strategies in RAG. You may want to deploy the application built with Milvus Lite in a small-scale production to serve real users, or validating the idea on larger datasets, say more than a few millions of vectors. Milvus Standalone is appropriate. The application logic for Milvus Lite can still be shared as all Milvus deployments have the same client side API. The data stored in Milvus Lite can also be ported to Milvus Standalone with a command line tool.
-
Small-Scale Production Deployment
-
For early-stage production, when the project is still seeking product-market fit and agility is more important than scalability, Milvus Standalone is the best choice. It can still scale up to 100M vectors given enough machine resource, while requiring much less DevOps than maintaining a K8s cluster.
-
Large-Scale Production Deployment
-
As your business is rapidly growing and the data scale exceeds the capacity of a single server, it’s time to consider Milvus Distributed. You can keep using Milvus Standalone for dev or staging environment for its convenience, and operate the K8s cluster that runs Milvus Distributed. This can sustain you towards tens of billions of vectors, as well as providing flexibility on tailoring the node size for your particular workload, such as high-read, infrequent write or high-write, low read cases.
-
Local Search on Edge Devices
-
For searching through private or sensitive on edge devices, you can deploy Milvus Lite on the device without relying on a cloud-based service to do text or image search. This is suitable for cases such as proprietary document search, or on-device object detection.
+
Für schnelles Prototyping
+
Wenn Sie schnell etwas als Prototyp oder zu Lernzwecken erstellen möchten, wie z. B. Retrieval Augmented Generation (RAG)-Demos, KI-Chatbots, multimodale Suche, ist Milvus Lite selbst oder eine Kombination aus Milvus Lite und Milvus Standalone geeignet. Sie können Milvus Lite in Notebooks für Rapid Prototyping verwenden und verschiedene Ansätze wie z. B. verschiedene Chunking-Strategien in RAG erkunden. Möglicherweise möchten Sie die mit Milvus Lite erstellte Anwendung in einem kleinen Produktionsmaßstab einsetzen, um echte Benutzer zu bedienen oder die Idee an größeren Datensätzen zu validieren, z. B. an mehr als ein paar Millionen Vektoren. Milvus Standalone ist dafür geeignet. Die Anwendungslogik für Milvus Lite kann weiterhin gemeinsam genutzt werden, da alle Milvus-Implementierungen dieselbe clientseitige API haben. Die in Milvus Lite gespeicherten Daten können auch mit einem Befehlszeilentool auf Milvus Standalone portiert werden.
+
Produktionseinsatz in kleinem Maßstab
+
Für die frühe Produktionsphase, wenn das Projekt noch auf der Suche nach der Anpassung an den Produktmarkt ist und Agilität wichtiger ist als Skalierbarkeit, ist Milvus Standalone die beste Wahl. Es kann bei ausreichenden Maschinenressourcen bis zu 100 Mio. Vektoren skalieren und erfordert dabei viel weniger DevOps als die Wartung eines K8s-Clusters.
+
Groß angelegte Produktionsimplementierung
+
Wenn Ihr Unternehmen schnell wächst und die Datenmenge die Kapazität eines einzelnen Servers übersteigt, ist es an der Zeit, Milvus Distributed in Betracht zu ziehen. Sie können Milvus Standalone weiterhin für die Entwicklungs- oder Staging-Umgebung verwenden und den K8s-Cluster betreiben, auf dem Milvus Distributed läuft. Damit können Sie mehrere Milliarden Vektoren verwalten und die Knotengröße flexibel an Ihre Arbeitslast anpassen, z. B. an Fälle mit hohem Leseaufkommen und seltenen Schreibvorgängen oder mit hohem Schreibaufkommen und geringem Leseaufkommen.
+
Lokale Suche auf Edge-Geräten
+
Für die Suche in privaten oder sensiblen Daten auf Edge-Geräten können Sie Milvus Lite auf dem Gerät einsetzen, ohne auf einen Cloud-basierten Dienst für die Text- oder Bildsuche angewiesen zu sein. Dies eignet sich für Fälle wie die Suche in eigenen Dokumenten oder die Erkennung von Objekten auf dem Gerät.
-
The choice of Milvus deployment mode depends on your project’s stage and scale. Milvus provides a flexible and powerful solution for various needs, from rapid prototyping to large-scale enterprise deployment.
+
Die Wahl des Milvus-Bereitstellungsmodus hängt von der Phase und dem Umfang Ihres Projekts ab. Milvus bietet eine flexible und leistungsstarke Lösung für verschiedene Anforderungen, vom schnellen Prototyping bis zum Einsatz in großen Unternehmen.
-
Milvus Lite is recommended for smaller datasets, up to a few million vectors.
-
Milvus Standalone is suitable for medium-sized datasets, scaling up to 100 million vectors.
-
Milvus Distributed is designed for large-scale deployments, capable of handling datasets from 100 million up to tens of billions of vectors.
+
Milvus Lite wird für kleinere Datensätze mit bis zu einigen Millionen Vektoren empfohlen.
+
Milvus Standalone ist für mittelgroße Datensätze geeignet, die bis zu 100 Millionen Vektoren umfassen.
+
Milvus Distributed ist für große Bereitstellungen konzipiert und kann Datensätze von 100 Millionen bis zu zehn Milliarden Vektoren verarbeiten.
-
-
- Select deployment option for your use case
-
-
-
Comparison on functionalities
+
+
+ Wählen Sie die Einsatzoption für Ihren Anwendungsfall
+
diff --git a/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.json b/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.json
index 71b6436cd..a40a6f7b0 100644
--- a/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.json
+++ b/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.json
@@ -1 +1 @@
-{"codeList":["$ go get -u github.com/milvus-io/milvus-sdk-go/v2\n"],"headingContent":"Install Milvus Go SDK","anchorList":[{"label":"Install Milvus Go SDK","href":"Install-Milvus-Go-SDK","type":1,"isActive":false},{"label":"Requirement","href":"Requirement","type":2,"isActive":false},{"label":"Install Milvus GO SDK","href":"Install-Milvus-GO-SDK","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ go get -u github.com/milvus-io/milvus-sdk-go/v2\n"],"headingContent":"Install Milvus Go SDK","anchorList":[{"label":"Milvus Go SDK installieren","href":"Install-Milvus-Go-SDK","type":1,"isActive":false},{"label":"Voraussetzung","href":"Requirement","type":2,"isActive":false},{"label":"Milvus GO SDK installieren","href":"Install-Milvus-GO-SDK","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.md b/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.md
index b5d3aa8e3..5d1780f50 100644
--- a/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.md
+++ b/localization/v2.5.x/site/de/getstarted/install_SDKs/install-go.md
@@ -2,10 +2,10 @@
id: install-go.md
label: Install GO SDK
related_key: SDK
-summary: Learn how to install the GO SDK of Milvus.
-title: Install Milvus Go SDK
+summary: 'Erfahren Sie, wie Sie das GO SDK von Milvus installieren.'
+title: Milvus Go SDK installieren
---
-
Install Milvus Go SDK
+
Milvus Go SDK installieren
-
This topic describes how to install Milvus Go SDK for Milvus.
-
Current version of Milvus supports SDKs in Python, Node.js, GO, and Java.
-
Requirement
+
Dieses Thema beschreibt, wie man das Milvus Go SDK für Milvus installiert.
+
Die aktuelle Version von Milvus unterstützt SDKs in Python, Node.js, GO und Java.
+
Voraussetzung
-
GO (1.17 or later) is required.
-
Install Milvus GO SDK
+
GO (1.17 oder höher) ist erforderlich.
+
Milvus GO SDK installieren
-
Install the Milvus GO SDK and dependencies via go get.
+
Installieren Sie das Milvus GO SDK und die Abhängigkeiten über go get.
$ go get -u github.com/milvus-io/milvus-sdk-go/v2
-
What’s next
+
Wie geht es weiter?
-
Having installed Milvus GO SDK, you can:
+
Nachdem Sie Milvus GO SDK installiert haben, können Sie:
The recommended way to get started using the Milvus node.js client is by using npm (Node package manager) to install the dependency in your project.
+
Der empfohlene Weg, den Milvus node.js-Client zu verwenden, ist die Verwendung von npm (Node package manager), um die Abhängigkeit in Ihrem Projekt zu installieren.
npm install @zilliz/milvus2-sdk-node
# or ...
yarn add @zilliz/milvus2-sdk-node
-
This will download the Milvus node.js sdk and add a dependency entry in your package.json file.
-
What’s next
+
Dadurch wird das Milvus node.js sdk heruntergeladen und ein Abhängigkeitseintrag in Ihrer package.json-Datei hinzugefügt.
+
Wie geht es weiter?
-
Having installed Milvus Node.js SDK, you can:
+
Nachdem Sie Milvus Node.js SDK installiert haben, können Sie:
-It is recommended to install a PyMilvus version that matches the version of the Milvus server you installed. For more information, see Release Notes.
-
+Es wird empfohlen, eine PyMilvus-Version zu installieren, die mit der Version des Milvus-Servers übereinstimmt, den Sie installiert haben. Weitere Informationen finden Sie in den Release Notes.
$ python3 -m pip install pymilvus==2.5.0
-
Verify installation
+
Überprüfen Sie die Installation
-
If PyMilvus is correctly installed, no exception will be raised when you run the following command.
+
Wenn PyMilvus korrekt installiert ist, wird keine Ausnahme ausgelöst, wenn Sie den folgenden Befehl ausführen.
$ python3 -c "from pymilvus import Collection"
-
What’s next
+
Wie geht es weiter?
-
Having installed PyMilvus, you can:
+
Nachdem Sie PyMilvus installiert haben, können Sie:
-
Learn the basic operations of Milvus:
+
Die grundlegenden Funktionen von Milvus kennenlernen:
diff --git a/localization/v2.5.x/site/de/getstarted/milvus_lite.json b/localization/v2.5.x/site/de/getstarted/milvus_lite.json
index 6558c03d0..3415effd7 100644
--- a/localization/v2.5.x/site/de/getstarted/milvus_lite.json
+++ b/localization/v2.5.x/site/de/getstarted/milvus_lite.json
@@ -1 +1 @@
-{"codeList":["pip install -U pymilvus\n","from pymilvus import MilvusClient\nclient = MilvusClient(\"./milvus_demo.db\")\n","from pymilvus import MilvusClient\nimport numpy as np\n\nclient = MilvusClient(\"./milvus_demo.db\")\nclient.create_collection(\n collection_name=\"demo_collection\",\n dimension=384 # The vectors we will use in this demo has 384 dimensions\n)\n\n# Text strings to search from.\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n# For illustration, here we use fake vectors with random numbers (384 dimension).\n\nvectors = [[ np.random.uniform(-1, 1) for _ in range(384) ] for _ in range(len(docs)) ]\ndata = [ {\"id\": i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"history\"} for i in range(len(vectors)) ]\nres = client.insert(\n collection_name=\"demo_collection\",\n data=data\n)\n\n# This will exclude any text in \"history\" subject despite close to the query vector.\nres = client.search(\n collection_name=\"demo_collection\",\n data=[vectors[0]],\n filter=\"subject == 'history'\",\n limit=2,\n output_fields=[\"text\", \"subject\"],\n)\nprint(res)\n\n# a query that retrieves all entities matching filter expressions.\nres = client.query(\n collection_name=\"demo_collection\",\n filter=\"subject == 'history'\",\n output_fields=[\"text\", \"subject\"],\n)\nprint(res)\n\n# delete\nres = client.delete(\n collection_name=\"demo_collection\",\n filter=\"subject == 'history'\",\n)\nprint(res)\n","# Install\npip install -U \"pymilvus[bulk_writer]\"\n\nmilvus-lite dump -h\n\nusage: milvus-lite dump [-h] [-d DB_FILE] [-c COLLECTION] [-p PATH]\n\noptional arguments:\n -h, --help show this help message and exit\n -d DB_FILE, --db-file DB_FILE\n milvus lite db file\n -c COLLECTION, --collection COLLECTION\n collection that need to be dumped\n -p PATH, --path PATH dump file storage dir\n","milvus-lite dump -d ./milvus_demo.db -c demo_collection -p ./data_dir\n# ./milvus_demo.db: milvus lite db file\n# demo_collection: collection that need to be dumped\n#./data_dir : dump file storage dir\n"],"headingContent":"Run Milvus Lite Locally","anchorList":[{"label":"Run Milvus Lite Locally","href":"Run-Milvus-Lite-Locally","type":1,"isActive":false},{"label":"Overview","href":"Overview","type":2,"isActive":false},{"label":"Prerequisites","href":"Prerequisites","type":2,"isActive":false},{"label":"Set up Milvus Lite","href":"Set-up-Milvus-Lite","type":2,"isActive":false},{"label":"Connect to Milvus Lite","href":"Connect-to-Milvus-Lite","type":2,"isActive":false},{"label":"Examples","href":"Examples","type":2,"isActive":false},{"label":"Limits","href":"Limits","type":2,"isActive":false},{"label":"Migrating data from Milvus Lite","href":"Migrating-data-from-Milvus-Lite","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["pip install -U pymilvus\n","from pymilvus import MilvusClient\nclient = MilvusClient(\"./milvus_demo.db\")\n","from pymilvus import MilvusClient\nimport numpy as np\n\nclient = MilvusClient(\"./milvus_demo.db\")\nclient.create_collection(\n collection_name=\"demo_collection\",\n dimension=384 # The vectors we will use in this demo has 384 dimensions\n)\n\n# Text strings to search from.\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n# For illustration, here we use fake vectors with random numbers (384 dimension).\n\nvectors = [[ np.random.uniform(-1, 1) for _ in range(384) ] for _ in range(len(docs)) ]\ndata = [ {\"id\": i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"history\"} for i in range(len(vectors)) ]\nres = client.insert(\n collection_name=\"demo_collection\",\n data=data\n)\n\n# This will exclude any text in \"history\" subject despite close to the query vector.\nres = client.search(\n collection_name=\"demo_collection\",\n data=[vectors[0]],\n filter=\"subject == 'history'\",\n limit=2,\n output_fields=[\"text\", \"subject\"],\n)\nprint(res)\n\n# a query that retrieves all entities matching filter expressions.\nres = client.query(\n collection_name=\"demo_collection\",\n filter=\"subject == 'history'\",\n output_fields=[\"text\", \"subject\"],\n)\nprint(res)\n\n# delete\nres = client.delete(\n collection_name=\"demo_collection\",\n filter=\"subject == 'history'\",\n)\nprint(res)\n","# Install\npip install -U \"pymilvus[bulk_writer]\"\n\nmilvus-lite dump -h\n\nusage: milvus-lite dump [-h] [-d DB_FILE] [-c COLLECTION] [-p PATH]\n\noptional arguments:\n -h, --help show this help message and exit\n -d DB_FILE, --db-file DB_FILE\n milvus lite db file\n -c COLLECTION, --collection COLLECTION\n collection that need to be dumped\n -p PATH, --path PATH dump file storage dir\n","milvus-lite dump -d ./milvus_demo.db -c demo_collection -p ./data_dir\n# ./milvus_demo.db: milvus lite db file\n# demo_collection: collection that need to be dumped\n#./data_dir : dump file storage dir\n"],"headingContent":"Run Milvus Lite Locally","anchorList":[{"label":"Lokale Ausführung von Milvus Lite","href":"Run-Milvus-Lite-Locally","type":1,"isActive":false},{"label":"Überblick","href":"Overview","type":2,"isActive":false},{"label":"Voraussetzungen","href":"Prerequisites","type":2,"isActive":false},{"label":"Milvus Lite einrichten","href":"Set-up-Milvus-Lite","type":2,"isActive":false},{"label":"Verbindung zu Milvus Lite","href":"Connect-to-Milvus-Lite","type":2,"isActive":false},{"label":"Beispiele","href":"Examples","type":2,"isActive":false},{"label":"Begrenzungen","href":"Limits","type":2,"isActive":false},{"label":"Migration von Daten aus Milvus Lite","href":"Migrating-data-from-Milvus-Lite","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/getstarted/milvus_lite.md b/localization/v2.5.x/site/de/getstarted/milvus_lite.md
index 89853a829..21cf4f23f 100644
--- a/localization/v2.5.x/site/de/getstarted/milvus_lite.md
+++ b/localization/v2.5.x/site/de/getstarted/milvus_lite.md
@@ -1,9 +1,9 @@
---
id: milvus_lite.md
-summary: Get started with Milvus Lite.
-title: Run Milvus Lite Locally
+summary: Starten Sie mit Milvus Lite.
+title: Lokale Ausführung von Milvus Lite
---
-
Run Milvus Lite Locally
+
Lokale Ausführung von Milvus Lite
-
This page illustrates how to run Milvus locally with Milvus Lite. Milvus Lite is the lightweight version of Milvus, an open-source vector database that powers AI applications with vector embeddings and similarity search.
-
Overview
+
Diese Seite veranschaulicht, wie Milvus lokal mit Milvus Lite ausgeführt werden kann. Milvus Lite ist die schlanke Version von Milvus, einer Open-Source-Vektordatenbank, die KI-Anwendungen mit Vektoreinbettungen und Ähnlichkeitssuche unterstützt.
+
Überblick
-
Milvus Lite can be imported into your Python application, providing the core vector search functionality of Milvus. Milvus Lite is already included in the Python SDK of Milvus. It can be simply deployed with pip install pymilvus.
-
With Milvus Lite, you can start building an AI application with vector similarity search within minutes! Milvus Lite is good for running in the following environment:
+
Milvus Lite kann in Ihre Python-Anwendung importiert werden und bietet die zentralen Vektorsuchfunktionen von Milvus. Milvus Lite ist bereits im Python-SDK von Milvus enthalten. Es kann einfach mit pip install pymilvus eingesetzt werden.
+
Mit Milvus Lite können Sie innerhalb weniger Minuten eine KI-Anwendung mit vektorieller Ähnlichkeitssuche erstellen! Milvus Lite kann in den folgenden Umgebungen eingesetzt werden:
Jupyter Notebook / Google Colab
Laptops
-
Edge Devices
+
Edge-Geräte
-
Milvus Lite shares the same API with Milvus Standalone and Distributed, and covers most of the features such as vector data persistence and management, vector CRUD operations, sparse and dense vector search, metadata filtering, multi-vector and hybrid_search. Together, they provide a consistent experience across different types of environments, from edge devices to clusters in cloud, fitting use cases of different size. With the same client-side code, you can run GenAI apps with Milvus Lite on a laptop or Jupyter Notebook, or Milvus Standalone on Docker container, or Milvus Distributed on massive scale Kubernetes cluster serving billions of vectors in production.
-
Prerequisites
+
Milvus Lite nutzt dieselbe API wie Milvus Standalone und Distributed und deckt die meisten Funktionen ab, wie z. B. die Persistenz und Verwaltung von Vektordaten, Vektor-CRUD-Operationen, Sparse- und Dense-Vektor-Suche, Metadatenfilterung, Multi-Vektor- und Hybrid-Suche. Zusammen bieten sie eine konsistente Erfahrung über verschiedene Arten von Umgebungen hinweg, von Edge-Geräten bis hin zu Clustern in der Cloud, passend zu Anwendungsfällen unterschiedlicher Größe. Mit demselben clientseitigen Code können Sie GenAI-Anwendungen mit Milvus Lite auf einem Laptop oder Jupyter Notebook, Milvus Standalone auf einem Docker-Container oder Milvus Distributed auf einem Kubernetes-Cluster mit Milliarden von Vektoren in der Produktion ausführen.
+
Voraussetzungen
-
Milvus Lite currently supports the following environmnets:
+
Milvus Lite unterstützt derzeit die folgenden Umgebungen:
-
Ubuntu >= 20.04 (x86_64 and arm64)
-
MacOS >= 11.0 (Apple Silicon M1/M2 and x86_64)
+
Ubuntu >= 20.04 (x86_64 und arm64)
+
MacOS >= 11.0 (Apple Silicon M1/M2 und x86_64)
-
Please note that Milvus Lite is only suitable for small scale vector search use cases. For a large scale use case, we recommend using Milvus Standalone or Milvus Distributed. You can also consider the fully-managed Milvus on Zilliz Cloud.
-
Set up Milvus Lite
+
Bitte beachten Sie, dass Milvus Lite nur für kleine Anwendungsfälle der Vektorsuche geeignet ist. Für große Anwendungsfälle empfehlen wir Milvus Standalone oder Milvus Distributed. Sie können auch das vollständig verwaltete Milvus auf der Zilliz Cloud in Betracht ziehen.
+
Milvus Lite einrichten
pip install -U pymilvus
-
We recommend using pymilvus. Since milvus-lite is included in pymilvus version 2.4.2 or above, you can pip install with -U to force update to the latest version and milvus-lite is automatically installed.
-
If you want to explicitly install milvus-lite package, or you have installed an older version of milvus-lite and would like to update it, you can do pip install -U milvus-lite.
-
Connect to Milvus Lite
+
Wir empfehlen die Verwendung von pymilvus. Da milvus-lite in pymilvus Version 2.4.2 oder höher enthalten ist, können Sie pip install mit -U verwenden, um ein Update auf die neueste Version zu erzwingen. milvus-lite wird automatisch installiert.
+
Wenn Sie das Paket milvus-lite explizit installieren möchten, oder wenn Sie eine ältere Version von milvus-lite installiert haben und diese aktualisieren möchten, können Sie pip install -U milvus-lite verwenden.
+
Verbindung zu Milvus Lite
-
In pymilvus, specify a local file name as uri parameter of MilvusClient will use Milvus Lite.
+
Wenn Sie in pymilvus einen lokalen Dateinamen als uri-Parameter von MilvusClient angeben, wird Milvus Lite verwendet.
from pymilvus importMilvusClient
client = MilvusClient("./milvus_demo.db")
-
After running the above code snippet, a database file named milvus_demo.db will be generated in the current folder.
+
Nach Ausführung des obigen Codeausschnitts wird eine Datenbankdatei mit dem Namen milvus_demo.db im aktuellen Ordner erstellt.
-
NOTE: Note that the same API also applies to Milvus Standalone, Milvus Distributed and Zilliz Cloud, the only difference is to replace local file name to remote server endpoint and credentials, e.g.
-client = MilvusClient(uri="http://localhost:19530", token="username:password").
+
HINWEIS: Beachten Sie, dass dieselbe API auch für Milvus Standalone, Milvus Distributed und Zilliz Cloud gilt. Der einzige Unterschied besteht darin, dass der lokale Dateiname durch den Endpunkt des Remote-Servers und die Anmeldedaten ersetzt wird, z. B.client = MilvusClient(uri="http://localhost:19530", token="username:password").
-
Examples
+
BeispieleMilvusClient(
-
Following is a simple demo showing how to use Milvus Lite for text search. There are more comprehensive examples for using Milvus Lite to build applications
-such as RAG, image search, and using Milvus Lite in popular RAG framework such as LangChain and LlamaIndex!
+
Im Folgenden finden Sie eine einfache Demo, die zeigt, wie Milvus Lite für die Textsuche verwendet wird. Es gibt umfangreichere Beispiele für die Verwendung von Milvus Lite zur Erstellung von Anwendungen wie RAG, Bildsuche und die Verwendung von Milvus Lite in beliebten RAG-Frameworks wie LangChain und LlamaIndex!
from pymilvus import MilvusClient
import numpy as np
@@ -172,7 +170,7 @@ res = client.delete(
)
print(res)
-
Limits
+
Begrenzungen
-
When running Milvus Lite, note that some features are not supported. The following tables summarize the usage limits on Milvus Lite.
-
Collection
+
Wenn Sie Milvus Lite verwenden, beachten Sie bitte, dass einige Funktionen nicht unterstützt werden. Die folgenden Tabellen fassen die Nutzungsgrenzen von Milvus Lite zusammen.
Milvus Lite only supports FLAT index type. It uses FLAT type regardless of the specified index type in collection.
-
Search Features
Milvus Lite supports Sparse Vector, Multi-vector, Hybrid Search.
-
Partition
Milvus Lite does not support partitions and partition-related methods.
-
Users & Roles
Milvus Lite does not support users and roles and related methods.
-
Alias
Milvus Lite does not support aliases and alias-related methods.
-
Migrating data from Milvus Lite
+
Vektor-Index-Typen
Milvus Lite unterstützt nur den Index-Typ FLAT. Es verwendet den FLAT-Typ unabhängig vom angegebenen Index-Typ in der Sammlung.
+
Suchfunktionen
Milvus Lite unterstützt Sparse Vector, Multi-Vector, Hybrid Search.
+
Partitionierung
Milvus Lite unterstützt keine Partitionen und partitionierungsbezogene Methoden.
+
Benutzer & Rollen
Milvus Lite unterstützt keine Benutzer und Rollen und damit verbundene Methoden.
+
Alias
Milvus Lite unterstützt keine Aliasnamen und aliasbezogene Methoden.
+
Migration von Daten aus Milvus Lite
-
All data stored in Milvus Lite can be easily exported and loaded into other types of Milvus deployment, such as Milvus Standalone on Docker, Milvus Distributed on K8s, or fully-managed Milvus on Zilliz Cloud.
-
Milvus Lite provides a command line tool that can dump data into a json file, which can be imported into milvus and Zilliz Cloud(the fully managed cloud service for Milvus). The milvus-lite command will be installed together with milvus-lite python package
+
Alle in Milvus Lite gespeicherten Daten können einfach exportiert und in andere Milvus-Bereitstellungsarten geladen werden, wie Milvus Standalone auf Docker, Milvus Distributed auf K8s oder vollständig verwaltetes Milvus auf Zilliz Cloud.
+
Milvus Lite bietet ein Kommandozeilen-Tool, das Daten in eine json-Datei ausgeben kann, die in Milvus und Zilliz Cloud(der vollständig verwaltete Cloud-Service für Milvus) importiert werden kann. Der Befehl milvus-lite wird zusammen mit dem Python-Paket milvus-lite installiert.
# Install
pip install -U "pymilvus[bulk_writer]"
@@ -364,15 +362,15 @@ optional arguments:
collection that need to be dumped
-p PATH, --path PATH dump file storage dir
-
The following example dumps all data from demo_collection collection that’s stored in ./milvus_demo.db (Milvus Lite database file)
-
To export data:
+
Das folgende Beispiel exportiert alle Daten aus der Sammlung demo_collection, die in ./milvus_demo.db (Milvus Lite Datenbankdatei) gespeichert sind
+
Zum Exportieren von Daten:
milvus-lite dump -d ./milvus_demo.db -c demo_collection -p ./data_dir
# ./milvus_demo.db: milvus lite db file# demo_collection: collection that need to be dumped#./data_dir : dump file storage dir
-
With the dump file, you can upload data to Zilliz Cloud via Data Import, or upload data to Milvus servers via Bulk Insert.
-
What’s next
+
Mit der Dump-Datei können Sie Daten über Data Import in die Zilliz-Cloud hochladen oder über Bulk Insert auf die Milvus-Server hochladen.
+
Wie geht es weiter?
-
Having connected to Milvus Lite, you can:
+
Nachdem Sie sich mit Milvus Lite verbunden haben, können Sie:
diff --git a/localization/v2.5.x/site/de/getstarted/quickstart.json b/localization/v2.5.x/site/de/getstarted/quickstart.json
index d96f5165b..923925e7f 100644
--- a/localization/v2.5.x/site/de/getstarted/quickstart.json
+++ b/localization/v2.5.x/site/de/getstarted/quickstart.json
@@ -1 +1 @@
-{"codeList":["$ pip install -U pymilvus\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\"milvus_demo.db\")\n","if client.has_collection(collection_name=\"demo_collection\"):\n client.drop_collection(collection_name=\"demo_collection\")\nclient.create_collection(\n collection_name=\"demo_collection\",\n dimension=768, # The vectors we will use in this demo has 768 dimensions\n)\n","$ pip install \"pymilvus[model]\"\n","from pymilvus import model\n\n# If connection to https://huggingface.co/ failed, uncomment the following path\n# import os\n# os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'\n\n# This will download a small embedding model \"paraphrase-albert-small-v2\" (~50MB).\nembedding_fn = model.DefaultEmbeddingFunction()\n\n# Text strings to search from.\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\nvectors = embedding_fn.encode_documents(docs)\n# The output vector has 768 dimensions, matching the collection that we just created.\nprint(\"Dim:\", embedding_fn.dim, vectors[0].shape) # Dim: 768 (768,)\n\n# Each entity has id, vector representation, raw text, and a subject label that we use\n# to demo metadata filtering later.\ndata = [\n {\"id\": i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"history\"}\n for i in range(len(vectors))\n]\n\nprint(\"Data has\", len(data), \"entities, each with fields: \", data[0].keys())\nprint(\"Vector dim:\", len(data[0][\"vector\"]))\n","Dim: 768 (768,)\nData has 3 entities, each with fields: dict_keys(['id', 'vector', 'text', 'subject'])\nVector dim: 768\n","import random\n\n# Text strings to search from.\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n# Use fake representation with random vectors (768 dimension).\nvectors = [[random.uniform(-1, 1) for _ in range(768)] for _ in docs]\ndata = [\n {\"id\": i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"history\"}\n for i in range(len(vectors))\n]\n\nprint(\"Data has\", len(data), \"entities, each with fields: \", data[0].keys())\nprint(\"Vector dim:\", len(data[0][\"vector\"]))\n","Data has 3 entities, each with fields: dict_keys(['id', 'vector', 'text', 'subject'])\nVector dim: 768\n","res = client.insert(collection_name=\"demo_collection\", data=data)\n\nprint(res)\n","{'insert_count': 3, 'ids': [0, 1, 2], 'cost': 0}\n","query_vectors = embedding_fn.encode_queries([\"Who is Alan Turing?\"])\n# If you don't have the embedding function you can use a fake vector to finish the demo:\n# query_vectors = [ [ random.uniform(-1, 1) for _ in range(768) ] ]\n\nres = client.search(\n collection_name=\"demo_collection\", # target collection\n data=query_vectors, # query vectors\n limit=2, # number of returned entities\n output_fields=[\"text\", \"subject\"], # specifies fields to be returned\n)\n\nprint(res)\n","data: [\"[{'id': 2, 'distance': 0.5859944820404053, 'entity': {'text': 'Born in Maida Vale, London, Turing was raised in southern England.', 'subject': 'history'}}, {'id': 1, 'distance': 0.5118255615234375, 'entity': {'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}}]\"] , extra_info: {'cost': 0}\n","# Insert more docs in another subject.\ndocs = [\n \"Machine learning has been used for drug design.\",\n \"Computational synthesis with AI algorithms predicts molecular properties.\",\n \"DDR1 is involved in cancers and fibrosis.\",\n]\nvectors = embedding_fn.encode_documents(docs)\ndata = [\n {\"id\": 3 + i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"biology\"}\n for i in range(len(vectors))\n]\n\nclient.insert(collection_name=\"demo_collection\", data=data)\n\n# This will exclude any text in \"history\" subject despite close to the query vector.\nres = client.search(\n collection_name=\"demo_collection\",\n data=embedding_fn.encode_queries([\"tell me AI related information\"]),\n filter=\"subject == 'biology'\",\n limit=2,\n output_fields=[\"text\", \"subject\"],\n)\n\nprint(res)\n","data: [\"[{'id': 4, 'distance': 0.27030569314956665, 'entity': {'text': 'Computational synthesis with AI algorithms predicts molecular properties.', 'subject': 'biology'}}, {'id': 3, 'distance': 0.16425910592079163, 'entity': {'text': 'Machine learning has been used for drug design.', 'subject': 'biology'}}]\"] , extra_info: {'cost': 0}\n","res = client.query(\n collection_name=\"demo_collection\",\n filter=\"subject == 'history'\",\n output_fields=[\"text\", \"subject\"],\n)\n","res = client.query(\n collection_name=\"demo_collection\",\n ids=[0, 2],\n output_fields=[\"vector\", \"text\", \"subject\"],\n)\n","# Delete entities by primary key\nres = client.delete(collection_name=\"demo_collection\", ids=[0, 2])\n\nprint(res)\n\n# Delete entities by a filter expression\nres = client.delete(\n collection_name=\"demo_collection\",\n filter=\"subject == 'biology'\",\n)\n\nprint(res)\n","[0, 2]\n[3, 4, 5]\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\"milvus_demo.db\")\n","# Drop collection\nclient.drop_collection(collection_name=\"demo_collection\")\n","client = MilvusClient(uri=\"http://localhost:19530\", token=\"root:Milvus\")\n"],"headingContent":"Quickstart with Milvus Lite","anchorList":[{"label":"Quickstart with Milvus Lite","href":"Quickstart-with-Milvus-Lite","type":1,"isActive":false},{"label":"Install Milvus","href":"Install-Milvus","type":2,"isActive":false},{"label":"Set Up Vector Database","href":"Set-Up-Vector-Database","type":2,"isActive":false},{"label":"Create a Collection","href":"Create-a-Collection","type":2,"isActive":false},{"label":"Prepare Data","href":"Prepare-Data","type":2,"isActive":false},{"label":"Represent text with vectors","href":"Represent-text-with-vectors","type":2,"isActive":false},{"label":"[Alternatively] Use fake representation with random vectors","href":"Alternatively-Use-fake-representation-with-random-vectors","type":2,"isActive":false},{"label":"Insert Data","href":"Insert-Data","type":2,"isActive":false},{"label":"Semantic Search","href":"Semantic-Search","type":2,"isActive":false},{"label":"Vector Search with Metadata Filtering","href":"Vector-Search-with-Metadata-Filtering","type":2,"isActive":false},{"label":"Delete Entities","href":"Delete-Entities","type":2,"isActive":false},{"label":"Load Existing Data","href":"Load-Existing-Data","type":2,"isActive":false},{"label":"Drop the collection","href":"Drop-the-collection","type":2,"isActive":false},{"label":"Learn More","href":"Learn-More","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ pip install -U pymilvus\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\"milvus_demo.db\")\n","if client.has_collection(collection_name=\"demo_collection\"):\n client.drop_collection(collection_name=\"demo_collection\")\nclient.create_collection(\n collection_name=\"demo_collection\",\n dimension=768, # The vectors we will use in this demo has 768 dimensions\n)\n","$ pip install \"pymilvus[model]\"\n","from pymilvus import model\n\n# If connection to https://huggingface.co/ failed, uncomment the following path\n# import os\n# os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'\n\n# This will download a small embedding model \"paraphrase-albert-small-v2\" (~50MB).\nembedding_fn = model.DefaultEmbeddingFunction()\n\n# Text strings to search from.\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n\nvectors = embedding_fn.encode_documents(docs)\n# The output vector has 768 dimensions, matching the collection that we just created.\nprint(\"Dim:\", embedding_fn.dim, vectors[0].shape) # Dim: 768 (768,)\n\n# Each entity has id, vector representation, raw text, and a subject label that we use\n# to demo metadata filtering later.\ndata = [\n {\"id\": i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"history\"}\n for i in range(len(vectors))\n]\n\nprint(\"Data has\", len(data), \"entities, each with fields: \", data[0].keys())\nprint(\"Vector dim:\", len(data[0][\"vector\"]))\n","Dim: 768 (768,)\nData has 3 entities, each with fields: dict_keys(['id', 'vector', 'text', 'subject'])\nVector dim: 768\n","import random\n\n# Text strings to search from.\ndocs = [\n \"Artificial intelligence was founded as an academic discipline in 1956.\",\n \"Alan Turing was the first person to conduct substantial research in AI.\",\n \"Born in Maida Vale, London, Turing was raised in southern England.\",\n]\n# Use fake representation with random vectors (768 dimension).\nvectors = [[random.uniform(-1, 1) for _ in range(768)] for _ in docs]\ndata = [\n {\"id\": i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"history\"}\n for i in range(len(vectors))\n]\n\nprint(\"Data has\", len(data), \"entities, each with fields: \", data[0].keys())\nprint(\"Vector dim:\", len(data[0][\"vector\"]))\n","Data has 3 entities, each with fields: dict_keys(['id', 'vector', 'text', 'subject'])\nVector dim: 768\n","res = client.insert(collection_name=\"demo_collection\", data=data)\n\nprint(res)\n","{'insert_count': 3, 'ids': [0, 1, 2], 'cost': 0}\n","query_vectors = embedding_fn.encode_queries([\"Who is Alan Turing?\"])\n# If you don't have the embedding function you can use a fake vector to finish the demo:\n# query_vectors = [ [ random.uniform(-1, 1) for _ in range(768) ] ]\n\nres = client.search(\n collection_name=\"demo_collection\", # target collection\n data=query_vectors, # query vectors\n limit=2, # number of returned entities\n output_fields=[\"text\", \"subject\"], # specifies fields to be returned\n)\n\nprint(res)\n","data: [\"[{'id': 2, 'distance': 0.5859944820404053, 'entity': {'text': 'Born in Maida Vale, London, Turing was raised in southern England.', 'subject': 'history'}}, {'id': 1, 'distance': 0.5118255615234375, 'entity': {'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}}]\"] , extra_info: {'cost': 0}\n","# Insert more docs in another subject.\ndocs = [\n \"Machine learning has been used for drug design.\",\n \"Computational synthesis with AI algorithms predicts molecular properties.\",\n \"DDR1 is involved in cancers and fibrosis.\",\n]\nvectors = embedding_fn.encode_documents(docs)\ndata = [\n {\"id\": 3 + i, \"vector\": vectors[i], \"text\": docs[i], \"subject\": \"biology\"}\n for i in range(len(vectors))\n]\n\nclient.insert(collection_name=\"demo_collection\", data=data)\n\n# This will exclude any text in \"history\" subject despite close to the query vector.\nres = client.search(\n collection_name=\"demo_collection\",\n data=embedding_fn.encode_queries([\"tell me AI related information\"]),\n filter=\"subject == 'biology'\",\n limit=2,\n output_fields=[\"text\", \"subject\"],\n)\n\nprint(res)\n","data: [\"[{'id': 4, 'distance': 0.27030569314956665, 'entity': {'text': 'Computational synthesis with AI algorithms predicts molecular properties.', 'subject': 'biology'}}, {'id': 3, 'distance': 0.16425910592079163, 'entity': {'text': 'Machine learning has been used for drug design.', 'subject': 'biology'}}]\"] , extra_info: {'cost': 0}\n","res = client.query(\n collection_name=\"demo_collection\",\n filter=\"subject == 'history'\",\n output_fields=[\"text\", \"subject\"],\n)\n","res = client.query(\n collection_name=\"demo_collection\",\n ids=[0, 2],\n output_fields=[\"vector\", \"text\", \"subject\"],\n)\n","# Delete entities by primary key\nres = client.delete(collection_name=\"demo_collection\", ids=[0, 2])\n\nprint(res)\n\n# Delete entities by a filter expression\nres = client.delete(\n collection_name=\"demo_collection\",\n filter=\"subject == 'biology'\",\n)\n\nprint(res)\n","[0, 2]\n[3, 4, 5]\n","from pymilvus import MilvusClient\n\nclient = MilvusClient(\"milvus_demo.db\")\n","# Drop collection\nclient.drop_collection(collection_name=\"demo_collection\")\n","client = MilvusClient(uri=\"http://localhost:19530\", token=\"root:Milvus\")\n"],"headingContent":"Quickstart with Milvus Lite","anchorList":[{"label":"Schnellstart mit Milvus Lite","href":"Quickstart-with-Milvus-Lite","type":1,"isActive":false},{"label":"Milvus installieren","href":"Install-Milvus","type":2,"isActive":false},{"label":"Einrichten der Vektordatenbank","href":"Set-Up-Vector-Database","type":2,"isActive":false},{"label":"Erstellen Sie eine Sammlung","href":"Create-a-Collection","type":2,"isActive":false},{"label":"Daten vorbereiten","href":"Prepare-Data","type":2,"isActive":false},{"label":"Text mit Vektoren darstellen","href":"Represent-text-with-vectors","type":2,"isActive":false},{"label":"[Alternativ] Fake-Darstellung mit zufälligen Vektoren verwenden","href":"Alternatively-Use-fake-representation-with-random-vectors","type":2,"isActive":false},{"label":"Daten einfügen","href":"Insert-Data","type":2,"isActive":false},{"label":"Semantische Suche","href":"Semantic-Search","type":2,"isActive":false},{"label":"Vektorsuche mit Metadatenfilterung","href":"Vector-Search-with-Metadata-Filtering","type":2,"isActive":false},{"label":"Entitäten löschen","href":"Delete-Entities","type":2,"isActive":false},{"label":"Vorhandene Daten laden","href":"Load-Existing-Data","type":2,"isActive":false},{"label":"Löschen der Sammlung","href":"Drop-the-collection","type":2,"isActive":false},{"label":"Mehr erfahren","href":"Learn-More","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/getstarted/quickstart.md b/localization/v2.5.x/site/de/getstarted/quickstart.md
index 8f5d7ee90..6156f6bc1 100644
--- a/localization/v2.5.x/site/de/getstarted/quickstart.md
+++ b/localization/v2.5.x/site/de/getstarted/quickstart.md
@@ -1,9 +1,9 @@
---
id: quickstart.md
-summary: Get started with Milvus.
-title: Quickstart
+summary: Starten Sie mit Milvus.
+title: Schnellstart
---
-
Quickstart with Milvus Lite
+
Schnellstart mit Milvus Lite
-
Vectors, the output data format of Neural Network models, can effectively encode information and serve a pivotal role in AI applications such as knowledge base, semantic search, Retrieval Augmented Generation (RAG) and more.
-
Milvus is an open-source vector database that suits AI applications of every size from running a demo chatbot in Jupyter notebook to building web-scale search that serves billions of users. In this guide, we will walk you through how to set up Milvus locally within minutes and use the Python client library to generate, store and search vectors.
-
Install Milvus
+
Vektoren, das Ausgabedatenformat von Neuronalen Netzwerkmodellen, können Informationen effektiv kodieren und spielen eine zentrale Rolle in KI-Anwendungen wie Wissensdatenbanken, semantischer Suche, Retrieval Augmented Generation (RAG) und mehr.
+
Milvus ist eine Open-Source-Vektordatenbank, die sich für KI-Anwendungen jeder Größe eignet, von der Ausführung eines Demo-Chatbots in einem Jupyter-Notebook bis zum Aufbau einer Web-Suche, die Milliarden von Nutzern bedient. In dieser Anleitung zeigen wir Ihnen, wie Sie Milvus innerhalb weniger Minuten lokal einrichten und die Python-Client-Bibliothek zum Erzeugen, Speichern und Durchsuchen von Vektoren verwenden können.
+
Milvus installieren
-
In this guide we use Milvus Lite, a python library included in pymilvus that can be embedded into the client application. Milvus also supports deployment on Docker and Kubernetes for production use cases.
-
Before starting, make sure you have Python 3.8+ available in the local environment. Install pymilvus which contains both the python client library and Milvus Lite:
+
In dieser Anleitung verwenden wir Milvus Lite, eine Python-Bibliothek, die in pymilvus enthalten ist und in die Client-Anwendung eingebettet werden kann. Milvus unterstützt auch die Bereitstellung auf Docker und Kubernetes für Produktionsanwendungen.
+
Bevor Sie beginnen, stellen Sie sicher, dass Sie Python 3.8+ in der lokalen Umgebung verfügbar haben. Installieren Sie pymilvus, das sowohl die Python-Client-Bibliothek als auch Milvus Lite enthält:
$ pip install -U pymilvus
-
If you are using Google Colab, to enable dependencies just installed, you may need to restart the runtime. (Click on the “Runtime” menu at the top of the screen, and select “Restart session” from the dropdown menu).
+
Wenn Sie Google Colab verwenden, müssen Sie möglicherweise die Laufzeitumgebung neu starten, um die gerade installierten Abhängigkeiten zu aktivieren. (Klicken Sie auf das Menü "Runtime" am oberen Rand des Bildschirms und wählen Sie "Restart session" aus dem Dropdown-Menü).
-
Set Up Vector Database
+
Einrichten der Vektordatenbank
-
To create a local Milvus vector database, simply instantiate a MilvusClient by specifying a file name to store all data, such as "milvus_demo.db".
+
Um eine lokale Milvus-Vektordatenbank zu erstellen, richten Sie einfach eine MilvusClient ein, indem Sie einen Dateinamen angeben, unter dem alle Daten gespeichert werden, z. B. "milvus_demo.db".
from pymilvus importMilvusClient
client = MilvusClient("milvus_demo.db")
-
Create a Collection
+
Erstellen Sie eine SammlungMilvusClient(
-
In Milvus, we need a collection to store vectors and their associated metadata. You can think of it as a table in traditional SQL databases. When creating a collection, you can define schema and index params to configure vector specs such as dimensionality, index types and distant metrics. There are also complex concepts to optimize the index for vector search performance. For now, let’s just focus on the basics and use default for everything possible. At minimum, you only need to set the collection name and the dimension of the vector field of the collection.
+
In Milvus benötigen wir eine Sammlung, um Vektoren und ihre zugehörigen Metadaten zu speichern. Sie können sich das wie eine Tabelle in herkömmlichen SQL-Datenbanken vorstellen. Beim Erstellen einer Sammlung können Sie Schema- und Indexparameter definieren, um Vektorspezifikationen wie Dimensionalität, Indextypen und entfernte Metriken zu konfigurieren. Es gibt auch komplexe Konzepte zur Optimierung des Index für die Vektorsuchleistung. Konzentrieren wir uns zunächst auf die Grundlagen und verwenden wir für alles Mögliche die Standardeinstellungen. Zumindest müssen Sie nur den Sammlungsnamen und die Dimension des Vektorfeldes der Sammlung festlegen.
if client.has_collection(collection_name="demo_collection"):
client.drop_collection(collection_name="demo_collection")
client.create_collection(
@@ -89,14 +89,13 @@ client.create_collection(
dimension=768, # The vectors we will use in this demo has 768 dimensions
)
-
In the above setup,
+
In der obigen Konfiguration,
-
The primary key and vector fields use their default names (“id” and “vector”).
-
The metric type (vector distance definition) is set to its default value (COSINE).
-
The primary key field accepts integers and does not automatically increments (namely not using auto-id feature)
-Alternatively, you can formally define the schema of the collection by following this instruction.
+
Der Primärschlüssel und die Vektorfelder verwenden ihre Standardnamen ("id" und "vector").
+
Der metrische Typ (Vektorabstandsdefinition) ist auf den Standardwert(COSINE) eingestellt.
+
Das Primärschlüsselfeld akzeptiert ganze Zahlen und wird nicht automatisch inkrementiert (d. h. es wird keine Auto-ID-Funktion verwendet). Alternativ können Sie das Schema der Sammlung formal definieren, indem Sie dieser Anweisung folgen.
-
Prepare Data
+
Daten vorbereiten
-
In this guide, we use vectors to perform semantic search on text. We need to generate vectors for text by downloading embedding models. This can be easily done by using the utility functions from pymilvus[model] library.
-
Represent text with vectors
+
In diesem Leitfaden verwenden wir Vektoren, um eine semantische Suche nach Text durchzuführen. Wir müssen Vektoren für Text generieren, indem wir Einbettungsmodelle herunterladen. Dies lässt sich leicht mit den Dienstprogrammen der Bibliothek pymilvus[model] bewerkstelligen.
+
Text mit Vektoren darstellen
-
First, install the model library. This package includes essential ML tools such as PyTorch. The package download may take some time if your local environment has never installed PyTorch.
+
Installieren Sie zunächst die Modellbibliothek. Dieses Paket enthält wichtige ML-Tools wie PyTorch. Der Download des Pakets kann einige Zeit in Anspruch nehmen, wenn in Ihrer lokalen Umgebung PyTorch noch nicht installiert ist.
$ pip install "pymilvus[model]"
-
Generate vector embeddings with default model. Milvus expects data to be inserted organized as a list of dictionaries, where each dictionary represents a data record, termed as an entity.
+
Erzeugen Sie Vektoreinbettungen mit dem Standardmodell. Milvus erwartet, dass die Daten als eine Liste von Wörterbüchern eingefügt werden, wobei jedes Wörterbuch einen Datensatz darstellt, der als Entität bezeichnet wird.
from pymilvus import model
# If connection to https://huggingface.co/ failed, uncomment the following path
@@ -165,7 +164,7 @@ data = [
Data has 3 entities, each withfields: dict_keys(['id', 'vector', 'text', 'subject'])
Vectordim: 768
-
[Alternatively] Use fake representation with random vectors
+
[Alternativ] Fake-Darstellung mit zufälligen Vektoren verwenden
-
If you couldn’t download the model due to network issues, as a walkaround, you can use random vectors to represent the text and still finish the example. Just note that the search result won’t reflect semantic similarity as the vectors are fake ones.
+
Wenn Sie das Modell aufgrund von Netzwerkproblemen nicht herunterladen konnten, können Sie zur Umgehung des Problems Zufallsvektoren zur Darstellung des Textes verwenden und das Beispiel trotzdem beenden. Beachten Sie nur, dass das Suchergebnis die semantische Ähnlichkeit nicht widerspiegelt, da die Vektoren gefälscht sind.
import random
# Text strings to search from.
@@ -202,7 +201,7 @@ data = [
Data has 3 entities, each withfields: dict_keys(['id', 'vector', 'text', 'subject'])
Vectordim: 768
-
Insert Data
+
Daten einfügen
-
Let’s insert the data into the collection:
+
Fügen wir nun die Daten in die Sammlung ein:
res = client.insert(collection_name="demo_collection", data=data)
print(res)
{'insert_count': 3, 'ids': [0, 1, 2], 'cost': 0}
-
Semantic Search
+
Semantische Suche
-
Now we can do semantic searches by representing the search query text as vector, and conduct vector similarity search on Milvus.
-
Vector search
Milvus accepts one or multiple vector search requests at the same time. The value of the query_vectors variable is a list of vectors, where each vector is an array of float numbers.
+
Jetzt können wir semantische Suchen durchführen, indem wir den Text der Suchanfrage als Vektor darstellen und eine Vektorähnlichkeitssuche auf Milvus durchführen.
+
Vektorielle Suche
Milvus akzeptiert eine oder mehrere Vektorsuchanfragen zur gleichen Zeit. Der Wert der Variable query_vectors ist eine Liste von Vektoren, wobei jeder Vektor ein Array von Fließkommazahlen ist.
query_vectors = embedding_fn.encode_queries(["Who is Alan Turing?"])
# If you don't have the embedding function you can use a fake vector to finish the demo:# query_vectors = [ [ random.uniform(-1, 1) for _ in range(768) ] ]
@@ -256,8 +255,8 @@ res = client.search(
data: ["[{'id': 2, 'distance': 0.5859944820404053, 'entity': {'text': 'Born in Maida Vale, London, Turing was raised in southern England.', 'subject': 'history'}}, {'id': 1, 'distance': 0.5118255615234375, 'entity': {'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}}]"] , extra_info: {'cost': 0}
-
The output is a list of results, each mapping to a vector search query. Each query contains a list of results, where each result contains the entity primary key, the distance to the query vector, and the entity details with specified output_fields.
-
Vector Search with Metadata Filtering
+
Die Ausgabe ist eine Liste von Ergebnissen, die jeweils auf eine Vektorsuchanfrage abgebildet werden. Jede Abfrage enthält eine Liste von Ergebnissen, wobei jedes Ergebnis den Primärschlüssel der Entität, den Abstand zum Abfragevektor und die Entitätsdetails mit dem angegebenen output_fields enthält.
+
Vektorsuche mit Metadatenfilterung
-
You can also conduct vector search while considering the values of the metadata (called “scalar” fields in Milvus, as scalar refers to non-vector data). This is done with a filter expression specifying certain criteria. Let’s see how to search and filter with the subject field in the following example.
+
Sie können die Vektorsuche auch unter Berücksichtigung der Werte der Metadaten durchführen (in Milvus "skalare" Felder genannt, da sich skalar auf Nicht-Vektordaten bezieht). Dies geschieht mit einem Filterausdruck, der bestimmte Kriterien angibt. Im folgenden Beispiel wird gezeigt, wie man mit dem Feld subject suchen und filtern kann.
# Insert more docs in another subject.
docs = [
"Machine learning has been used for drug design.",
@@ -300,24 +299,24 @@ res = client.search(
data: ["[{'id': 4, 'distance': 0.27030569314956665, 'entity': {'text': 'Computational synthesis with AI algorithms predicts molecular properties.', 'subject': 'biology'}}, {'id': 3, 'distance': 0.16425910592079163, 'entity': {'text': 'Machine learning has been used for drug design.', 'subject': 'biology'}}]"] , extra_info: {'cost': 0}
-
By default, the scalar fields are not indexed. If you need to perform metadata filtered search in large dataset, you can consider using fixed schema and also turn on the index to improve the search performance.
-
In addition to vector search, you can also perform other types of searches:
-
Query
A query() is an operation that retrieves all entities matching a criteria, such as a filter expression or matching some ids.
-
For example, retrieving all entities whose scalar field has a particular value:
+
Standardmäßig werden die skalaren Felder nicht indiziert. Wenn Sie eine gefilterte Metadatensuche in großen Datenbeständen durchführen müssen, können Sie die Verwendung eines festen Schemas in Betracht ziehen und auch den Index aktivieren, um die Suchleistung zu verbessern.
+
Neben der Vektorsuche können Sie auch andere Arten von Suchen durchführen:
+
Abfrage
Eine Abfrage() ist eine Operation, die alle Entitäten abruft, die einem Kriterium entsprechen, wie z. B. einem Filterausdruck oder einigen IDs.
+
Zum Beispiel werden alle Entitäten abgefragt, deren Skalarfeld einen bestimmten Wert hat:
res = client.query(
collection_name="demo_collection",
filter="subject == 'history'",
output_fields=["text", "subject"],
)
-
Directly retrieve entities by primary key:
+
Direktes Abrufen von Entitäten nach Primärschlüssel:
res = client.query(
collection_name="demo_collection",
ids=[0, 2],
output_fields=["vector", "text", "subject"],
)
-
Delete Entities
+
Entitäten löschen
-
If you’d like to purge data, you can delete entities specifying the primary key or delete all entities matching a particular filter expression.
+
Wenn Sie Daten bereinigen möchten, können Sie Entitäten unter Angabe des Primärschlüssels oder alle Entitäten, die einem bestimmten Filterausdruck entsprechen, löschen.
# Delete entities by primary key
res = client.delete(collection_name="demo_collection", ids=[0, 2])
@@ -349,7 +348,7 @@ res = client.delete(
[0, 2]
[3, 4, 5]
-
Load Existing Data
+
Vorhandene Daten laden
-
Since all data of Milvus Lite is stored in a local file, you can load all data into memory even after the program terminates, by creating a MilvusClient with the existing file. For example, this will recover the collections from “milvus_demo.db” file and continue to write data into it.
+
Da alle Daten von Milvus Lite in einer lokalen Datei gespeichert werden, können Sie alle Daten auch nach Beendigung des Programms in den Speicher laden, indem Sie eine MilvusClient mit der vorhandenen Datei erstellen. Dadurch werden zum Beispiel die Sammlungen aus der Datei "milvus_demo.db" wiederhergestellt und weiterhin Daten in diese Datei geschrieben.
from pymilvus importMilvusClient
client = MilvusClient("milvus_demo.db")
-
Drop the collection
+
Löschen der SammlungMilvusClient(
-
If you would like to delete all the data in a collection, you can drop the collection with
+
Wenn Sie alle Daten in einer Sammlung löschen möchten, können Sie die Sammlung mit
# Drop collection
client.drop_collection(collection_name="demo_collection")
Milvus Lite is great for getting started with a local python program. If you have large scale data or would like to use Milvus in production, you can learn about deploying Milvus on Docker and Kubernetes. All deployment modes of Milvus share the same API, so your client side code doesn’t need to change much if moving to another deployment mode. Simply specify the URI and Token of a Milvus server deployed anywhere:
+
Milvus Lite ist ideal für den Einstieg in ein lokales Python-Programm. Wenn Sie große Datenmengen haben oder Milvus in der Produktion verwenden möchten, können Sie sich über die Bereitstellung von Milvus auf Docker und Kubernetes informieren. Alle Bereitstellungsmodi von Milvus nutzen dieselbe API, sodass sich Ihr clientseitiger Code beim Wechsel zu einem anderen Bereitstellungsmodus nicht großartig ändern muss. Geben Sie einfach die URI und das Token eines Milvus-Servers an, der überall eingesetzt wird:
Milvus provides a Docker Compose configuration file in the Milvus repository. To install Milvus using Docker Compose, just run
+
Milvus bietet eine Docker Compose-Konfigurationsdatei im Milvus-Repository. Um Milvus mit Docker Compose zu installieren, führen Sie einfach folgenden Befehl aus
If you failed to run the above command, please check whether your system has Docker Compose V1 installed. If this is the case, you are advised to migrate to Docker Compose V2 due to the notes on this page.
-
If you encounter any issues pulling the image, contact us at community@zilliz.com with details about the problem, and we’ll provide you with the necessary support.
+
Wenn Sie den obigen Befehl nicht ausführen können, überprüfen Sie bitte, ob auf Ihrem System Docker Compose V1 installiert ist. Wenn dies der Fall ist, sollten Sie aufgrund der Hinweise auf dieser Seite auf Docker Compose V2 migrieren.
+
Sollten Sie beim Ziehen des Images auf Probleme stoßen, kontaktieren Sie uns unter community@zilliz.com und schildern Sie das Problem, damit wir Ihnen den nötigen Support bieten können.
-
After starting up Milvus,
+
Nach dem Starten von Milvus,
-
Containers named milvus-standalone, milvus-minio, and milvus-etcd are up.
-
-
The milvus-etcd container does not expose any ports to the host and maps its data to volumes/etcd in the current folder.
-
The milvus-minio container serves ports 9090 and 9091 locally with the default authentication credentials and maps its data to volumes/minio in the current folder.
-
The milvus-standalone container serves ports 19530 locally with the default settings and maps its data to volumes/milvus in the current folder.
+
Die Container mit den Namen milvus-standalone, milvus-minio und milvus-etcd sind gestartet.
+
Der milvus-etcd-Container stellt dem Host keine Ports zur Verfügung und mappt seine Daten auf volumes/etcd im aktuellen Ordner.
+
Der milvus-minio-Container bedient die Ports 9090 und 9091 lokal mit den Standard-Authentifizierungsdaten und ordnet seine Daten den Volumes/minio im aktuellen Ordner zu.
+
Der milvus-standalone-Container bedient lokal die Ports 19530 mit den Standardeinstellungen und ordnet seine Daten den Volumes/milvus im aktuellen Ordner zu.
-
You can check if the containers are up and running using the following command:
+
Mit dem folgenden Befehl können Sie überprüfen, ob die Container aktiv sind und laufen:
$ sudo docker-compose ps
Name Command State Ports
@@ -90,14 +89,14 @@ milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 23
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
-
You can stop and delete this container as follows
+
Sie können diesen Container wie folgt stoppen und löschen
# Stop Milvus
$ sudo docker-compose down
# Delete service data
$ sudorm -rf volumes
Milvus provides an installation script to install it as a docker container. The script is available in the Milvus repository. To install Milvus in Docker, just run
+
Milvus bietet ein Installationsskript, um es als Docker-Container zu installieren. Das Skript ist im Milvus-Repository verfügbar. Um Milvus in Docker zu installieren, führen Sie einfach
If you encounter any issues pulling the image, contact us at community@zilliz.com with details about the problem, and we’ll provide you with the necessary support.
+
Sollten Sie beim Ziehen des Images auf Probleme stoßen, kontaktieren Sie uns unter community@zilliz.com mit Details zum Problem, und wir werden Ihnen den nötigen Support bieten.
-
After running the installation script:
+
Nachdem Sie das Installationsskript ausgeführt haben:
-
A docker container named milvus has been started at port 19530.
-
An embed etcd is installed along with Milvus in the same container and serves at port 2379. Its configuration file is mapped to embedEtcd.yaml in the current folder.
-
To change the default Milvus configuration, add your settings to the user.yaml file in the current folder and then restart the service.
-
The Milvus data volume is mapped to volumes/milvus in the current folder.
+
Ein Docker-Container namens milvus wurde an Port 19530 gestartet.
+
Ein embed etcd wird zusammen mit Milvus im selben Container installiert und dient an Port 2379. Seine Konfigurationsdatei wird auf embedEtcd.yaml im aktuellen Ordner abgebildet.
+
Um die Standardkonfiguration von Milvus zu ändern, fügen Sie Ihre Einstellungen der Datei user.yaml im aktuellen Ordner hinzu und starten Sie den Dienst neu.
+
Das Milvus-Datenvolumen wird im aktuellen Ordner auf volumes/milvus abgebildet.
-
You can stop and delete this container as follows
+
Sie können diesen Container wie folgt stoppen und löschen
diff --git a/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.json b/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.json
index 8a5290fd2..1b8e1f05d 100644
--- a/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.json
+++ b/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.json
@@ -1 +1 @@
-{"codeList":["mkdir test-data\nfio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest\n"],"headingContent":"Requirements for Installing Milvus with Docker Compose","anchorList":[{"label":"Requirements for Installing Milvus with Docker Compose","href":"Requirements-for-Installing-Milvus-with-Docker-Compose","type":1,"isActive":false},{"label":"Hardware requirements","href":"Hardware-requirements","type":2,"isActive":false},{"label":"Software requirements","href":"Software-requirements","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["mkdir test-data\nfio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest\n"],"headingContent":"Requirements for Installing Milvus with Docker Compose","anchorList":[{"label":"Anforderungen für die Installation von Milvus mit Docker Compose","href":"Requirements-for-Installing-Milvus-with-Docker-Compose","type":1,"isActive":false},{"label":"Hardware-Anforderungen","href":"Hardware-requirements","type":2,"isActive":false},{"label":"Software-Anforderungen","href":"Software-requirements","type":2,"isActive":false},{"label":"Was kommt als Nächstes?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.md b/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.md
index 8c5329766..6dabad801 100644
--- a/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.md
+++ b/localization/v2.5.x/site/de/getstarted/run-milvus-docker/prerequisite-docker.md
@@ -2,10 +2,12 @@
id: prerequisite-docker.md
label: Docker requirements
related_key: Docker
-summary: Learn the necessary preparations before installing Milvus with Docker Compose.
-title: Requirements for Installing Milvus with Docker Compose
+summary: >-
+ Lernen Sie die notwendigen Vorbereitungen für die Installation von Milvus mit
+ Docker Compose.
+title: Anforderungen für die Installation von Milvus mit Docker Compose
---
-
Requirements for Installing Milvus with Docker Compose
+
Anforderungen für die Installation von Milvus mit Docker Compose
-
Before installing a Milvus instance, check your hardware and software to see if they meet the requirements.
-
Hardware requirements
+
Überprüfen Sie vor der Installation einer Milvus-Instanz, ob Ihre Hardware und Software den Anforderungen entspricht.
+
Hardware-Anforderungen
-
Component
Requirement
Recommendation
Note
+
Komponente
Anforderung
Empfehlung
Hinweis
-
CPU
Intel 2nd Gen Core CPU or higher
Apple Silicon
Standalone: 4 core or more
Cluster: 8 core or more
-
CPU instruction set
SSE4.2
AVX
AVX2
AVX-512
SSE4.2
AVX
AVX2
AVX-512
Vector similarity search and index building within Milvus require CPU’s support of single instruction, multiple data (SIMD) extension sets. Ensure that the CPU supports at least one of the SIMD extensions listed. See CPUs with AVX for more information.
-
RAM
Standalone: 8G
Cluster: 32G
Standalone: 16G
Cluster: 128G
The size of RAM depends on the data volume.
-
Hard drive
SATA 3.0 SSD or higher
NVMe SSD or higher
The size of hard drive depends on the data volume.
+
CPU
Intel 2nd Gen Core CPU oder höher
Apple Silizium
Eigenständig: 4 Kerne oder mehr
Cluster: 8 Kerne oder mehr
+
CPU-Befehlssatz
SSE4.2
AVX
AVX2
AVX-512
SSE4.2
AVX
AVX2
AVX-512
Die Vektorähnlichkeitssuche und die Indexerstellung in Milvus erfordern die Unterstützung von SIMD-Erweiterungen (Single Instruction, Multiple Data) durch die CPU. Stellen Sie sicher, dass die CPU mindestens eine der aufgeführten SIMD-Erweiterungen unterstützt. Siehe CPUs mit AVX für weitere Informationen.
+
RAM
Eigenständig: 8G
Cluster: 32G
Eigenständig: 16G
Cluster: 128G
Die Größe des Arbeitsspeichers hängt von der Datenmenge ab.
+
Festplattenlaufwerk
SATA 3.0 SSD oder höher
NVMe SSD oder höher
Die Größe des Festplattenlaufwerks hängt vom Datenvolumen ab.
-
Software requirements
+
Software-Anforderungen
-
Operating system
Software
Note
+
Betriebssytem
Software
Hinweis
-
macOS 10.14 or later
Docker Desktop
Set the Docker virtual machine (VM) to use a minimum of 2 virtual CPUs (vCPUs) and 8 GB of initial memory. Otherwise, installation might fail. See Install Docker Desktop on Mac for more information.
We recommend that you store source code and other data bind-mounted into Linux containers in the Linux file system instead of the Windows file system. See Install Docker Desktop on Windows with WSL 2 backend for more information.
+
macOS 10.14 oder höher
Docker-Schreibtisch
Stellen Sie die virtuelle Maschine (VM) von Docker so ein, dass sie mindestens 2 virtuelle CPUs (vCPUs) und 8 GB Anfangsspeicher verwendet. Andernfalls kann die Installation fehlschlagen. Weitere Informationen finden Sie unter Installieren von Docker Desktop auf Mac.
The following dependencies will be obtained and configured automatically when Milvus Standalone is installed using the Docker script, or the Docker Compose configuration:
+
Die folgenden Abhängigkeiten werden automatisch beschafft und konfiguriert, wenn Milvus Standalone mit dem Docker-Skript oder der Docker Compose-Konfiguration installiert wird:
Disk performance is critical to etcd. It is highly recommended that you use local NVMe SSDs. Slower disk response may cause frequent cluster elections that will eventually degrade the etcd service.
Die Festplattenleistung ist entscheidend für etcd. Es wird dringend empfohlen, dass Sie lokale NVMe-SSDs verwenden. Langsame Festplattenreaktionen können zu häufigen Clusterwahlen führen, die schließlich den etcd-Dienst beeinträchtigen.
+
Um zu testen, ob Ihre Festplatte geeignet ist, verwenden Sie fio.
Ideally, your disk should reach over 500 IOPS and below 10ms for the 99th percentile fsync latency. Read the etcd Docs for more detailed requirements.
-
What’s next
+
Idealerweise sollte Ihre Festplatte mehr als 500 IOPS und eine fsync-Latenz von weniger als 10 ms (99. Perzentil) erreichen. Detaillierte Anforderungen finden Sie in den etcd Docs.
Starten von Milvus mit GPU-Unterstützung mit Helm Chart
-
This page illustrates how to start a Milvus instance with GPU support using Helm Chart.
-
Overview
+
Diese Seite veranschaulicht, wie Sie eine Milvus-Instanz mit GPU-Unterstützung mithilfe von Helm Chart starten können.
+
Überblick
-
Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. Milvus provides a set of charts to help you deploy Milvus dependencies and components. Milvus Helm Chart is a solution that bootstraps Milvus deployment on a Kubernetes (K8s) cluster using the Helm package manager.
-
Prerequisites
+
Helm verwendet ein Paketierungsformat namens Charts. Ein Diagramm ist eine Sammlung von Dateien, die einen zusammenhängenden Satz von Kubernetes-Ressourcen beschreiben. Milvus bietet eine Reihe von Diagrammen, die Sie bei der Bereitstellung von Milvus-Abhängigkeiten und -Komponenten unterstützen. Milvus Helm Chart ist eine Lösung, die die Bereitstellung von Milvus auf einem Kubernetes-Cluster (K8s) mit dem Helm-Paketmanager unterstützt.
Installieren Sie eine StorageClass. Sie können die installierte StorageClass wie folgt überprüfen.
$ kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBIINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard(default) k8s.io/minikube-hostpath Delete Immediate false
If you encounter any issues pulling the image, contact us at community@zilliz.com with details about the problem, and we’ll provide you with the necessary support.
+
Wenn Sie beim Ziehen des Images auf Probleme stoßen, kontaktieren Sie uns unter community@zilliz.com und geben Sie Details zum Problem an, damit wir Ihnen den nötigen Support bieten können.
-
Install Helm Chart for Milvus
+
Installieren Sie Helm Chart für Milvus
-
Helm is a K8s package manager that can help you deploy Milvus quickly.
+
Helm ist ein K8s-Paketmanager, der Sie bei der schnellen Bereitstellung von Milvus unterstützen kann.
The Milvus Helm Charts repo at https://milvus-io.github.io/milvus-helm/ has been archived and you can get further updates from https://zilliztech.github.io/milvus-helm/ as follows:
+
Das Milvus Helm Charts Repository unter https://milvus-io.github.io/milvus-helm/ wurde archiviert und Sie können weitere Aktualisierungen wie folgt von https://zilliztech.github.io/milvus-helm/ erhalten:
The archived repo is still available for the charts up to 4.0.31. For later releases, use the new repo instead.
+
Das archivierte Repository ist weiterhin für die Diagramme bis 4.0.31 verfügbar. Für spätere Versionen verwenden Sie stattdessen das neue Repo.
-
Update charts locally.
+
Karten lokal aktualisieren.
$ helm repo update
-
Start Milvus
+
Starten Sie Milvus
-
Once you have installed the Helm chart, you can start Milvus on Kubernetes. In this section, we will guide you through the steps to start Milvus with GPU support.
-
You should start Milvus with Helm by specifying the release name, the chart, and the parameters you expect to change. In this guide, we use my-release as the release name. To use a different release name, replace my-release in the following commands with the one you are using.
-
Milvus allows you to assign one or more GPU devices to Milvus.
-
1. Assign a single GPU device
Milvus with GPU support allows you to assign one or more GPU devices.
+
Sobald Sie das Helm-Diagramm installiert haben, können Sie Milvus auf Kubernetes starten. In diesem Abschnitt führen wir Sie durch die Schritte zum Starten von Milvus mit GPU-Unterstützung.
+
Sie sollten Milvus mit Helm starten, indem Sie den Versionsnamen, das Diagramm und die Parameter angeben, die Sie ändern möchten. In dieser Anleitung wird my-release als Versionsname verwendet. Um einen anderen Versionsnamen zu verwenden, ersetzen Sie my-release in den folgenden Befehlen durch den von Ihnen verwendeten Namen.
+
Milvus ermöglicht es Ihnen, Milvus ein oder mehrere GPU-Geräte zuzuweisen.
+
1. Ein einzelnes GPU-Gerät zuweisen
Milvus mit GPU-Unterstützung ermöglicht es Ihnen, ein oder mehrere GPU-Geräte zuzuweisen.
In the configuration above, the indexNode and queryNode share two GPUs. To assign different GPUs to the indexNode and the queryNode, you can modify the configuration accordingly by setting extraEnv in the configuration file as follows:
+
In der obigen Konfiguration teilen sich der indexNode und der queryNode zwei GPUs. Um der indexNode und der queryNode unterschiedliche GPUs zuzuweisen, können Sie die Konfiguration entsprechend ändern, indem Sie extraEnv in der Konfigurationsdatei wie folgt einstellen:
The release name should only contain letters, numbers and dashes. Dots are not allowed in the release name.
-
The default command line installs cluster version of Milvus while installing Milvus with Helm. Further setting is needed while installing Milvus standalone.
-
According to the deprecated API migration guide of Kuberenetes, the policy/v1beta1 API version of PodDisruptionBudget is not longer served as of v1.25. You are suggested to migrate manifests and API clients to use the policy/v1 API version instead. As a workaround for users who still use the policy/v1beta1 API version of PodDisruptionBudget on Kuberenetes v1.25 and later, you can instead run the following command to install Milvus:
- helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
Der Release-Name sollte nur Buchstaben, Zahlen und Bindestriche enthalten. Punkte sind im Versionsnamen nicht erlaubt.
+
Die Standard-Befehlszeile installiert die Cluster-Version von Milvus bei der Installation von Milvus mit Helm. Bei der Installation von Milvus als Einzelplatzversion sind weitere Einstellungen erforderlich.
+
Gemäß dem veralteten API-Migrationsleitfaden von Kuberenetes wird die API-Version policy/v1beta1 von PodDisruptionBudget ab v1.25 nicht mehr unterstützt. Es wird empfohlen, Manifeste und API-Clients zu migrieren, um stattdessen die policy/v1-API-Version zu verwenden. Als Workaround für Benutzer, die noch die policy/v1beta1-API-Version von PodDisruptionBudget auf Kuberenetes v1.25 und später verwenden, können Sie stattdessen den folgenden Befehl ausführen, um Milvus zu installieren: helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
In the configuration above, the indexNode and queryNode share two GPUs. To assign different GPUs to the indexNode and the queryNode, you can modify the configuration accordingly by setting extraEnv in the configuration file as follows:
+
In der obigen Konfiguration teilen sich indexNode und queryNode zwei GPUs. Um dem indexNode und dem queryNode unterschiedliche GPUs zuzuweisen, können Sie die Konfiguration entsprechend ändern, indem Sie extraEnv in der Konfigurationsdatei wie folgt einstellen:
Optionally, you can use :19530 instead of 27017:19530 in the above command to let kubectl allocate a local port for you so that you don’t have to manage port conflicts.
-
By default, kubectl’s port-forwarding only listens on localhost. Use the address flag if you want Milvus to listen on the selected or all IP addresses. The following command makes port-forward listen on all IP addresses on the host machine.
+
Optional können Sie :19530 anstelle von 27017:19530 im obigen Befehl verwenden, um kubectl einen lokalen Port für Sie zuweisen zu lassen, so dass Sie sich nicht um Portkonflikte kümmern müssen.
+
Standardmäßig lauscht die Port-Weiterleitung von kubectl nur auf localhost. Verwenden Sie das address Flag, wenn Sie möchten, dass Milvus die ausgewählten oder alle IP-Adressen abhört. Der folgende Befehl sorgt dafür, dass port-forward alle IP-Adressen auf dem Host-Rechner abhört.
If you encounter any issues pulling the image, contact us at community@zilliz.com with details about the problem, and we’ll provide you with the necessary support.
+
Wenn Sie beim Ziehen des Images auf Probleme stoßen, kontaktieren Sie uns unter community@zilliz.com und beschreiben Sie das Problem, damit wir Ihnen den nötigen Support bieten können.
-
Install Milvus
+
Milvus installieren
-
To install Milvus with GPU support using Docker Compose, follow these steps.
You need to make some changes to the environment variables of the standalone service in the YAML file as follows:
+
Sie müssen einige Änderungen an den Umgebungsvariablen des eigenständigen Dienstes in der YAML-Datei wie folgt vornehmen:
-
To assign a specific GPU device to Milvus, locate the deploy.resources.reservations.devices[0].devices_ids field in the definition of the standalone service and replace its value with the ID of the desired GPU. You can use the nvidia-smi tool, included with NVIDIA GPU display drivers, to determine the ID of a GPU device. Milvus supports multiple GPU devices.
+
Um Milvus ein bestimmtes GPU-Gerät zuzuweisen, suchen Sie das Feld deploy.resources.reservations.devices[0].devices_ids in der Definition des standalone -Dienstes und ersetzen Sie seinen Wert durch die ID der gewünschten GPU. Sie können das Tool nvidia-smi verwenden, das in den NVIDIA-GPU-Anzeigetreibern enthalten ist, um die ID eines GPU-Geräts zu ermitteln. Milvus unterstützt mehrere GPU-Geräte.
-
Assign a single GPU device to Milvus:
+
Weisen Sie Milvus ein einzelnes GPU-Gerät zu:
...
standalone:
...
@@ -79,7 +79,7 @@ title: Run Milvus with GPU Support Using Docker Compose
device_ids: ["0"]
...
-
Assign multiple GPU devices to Milvus:
+
Weisen Sie Milvus mehrere GPU-Geräte zu:
...
standalone:
...
@@ -92,7 +92,7 @@ title: Run Milvus with GPU Support Using Docker Compose
device_ids: ['0', '1']
...
-
2. Start Milvus
In the directory that holds docker-compose.yml, start Milvus by running:
+
2. Starten Sie Milvus
Starten Sie Milvus in dem Verzeichnis, in dem sich die Datei docker-compose.yml befindet, indem Sie den Befehl ausführen:
If you failed to run the above command, check whether your system has Docker Compose V1 installed. If this is the case, you are advised to migrate to Docker Compose V2 due to the notes on this page.
+
Wenn Sie den obigen Befehl nicht ausführen konnten, überprüfen Sie, ob auf Ihrem System Docker Compose V1 installiert ist. Wenn dies der Fall ist, sollten Sie aufgrund der Hinweise auf dieser Seite auf Docker Compose V2 migrieren.
-
After starting up Milvus,
+
Nach dem Starten von Milvus,
-
Containers named milvus-standalone, milvus-minio, and milvus-etcd are up.
-
-
The milvus-etcd container does not expose any ports to the host and maps its data to volumes/etcd in the current folder.
-
The milvus-minio container serves ports 9090 and 9091 locally with the default authentication credentials and maps its data to volumes/minio in the current folder.
-
The milvus-standalone container serves ports 19530 locally with the default settings and maps its data to volumes/milvus in the current folder.
+
Container mit den Namen milvus-standalone, milvus-minio und milvus-etcd sind vorhanden.
+
Der milvus-etcd-Container stellt dem Host keine Ports zur Verfügung und mappt seine Daten auf volumes/etcd im aktuellen Ordner.
+
Der milvus-minio-Container bedient die Ports 9090 und 9091 lokal mit den Standard-Authentifizierungsdaten und ordnet seine Daten den Volumes/minio im aktuellen Ordner zu.
+
Der milvus-standalone-Container bedient lokal die Ports 19530 mit den Standardeinstellungen und ordnet seine Daten den Volumes/milvus im aktuellen Ordner zu.
-
You can check if the containers are up and running using the following command:
+
Mit folgendem Befehl können Sie überprüfen, ob die Container aktiv sind:
$ sudo docker compose ps
Name Command State Ports
@@ -120,21 +119,21 @@ milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 23
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
-
If you have assigned multiple GPU devices to Milvus in docker-compose.yml, you can specify which GPU device is visible or available for use.
-
Make GPU device 0 visible to Milvus:
+
Wenn Sie Milvus in der Datei docker-compose.yml mehrere GPU-Geräte zugewiesen haben, können Sie angeben, welches GPU-Gerät sichtbar oder zur Verwendung verfügbar ist.
+
Machen Sie das GPU-Gerät 0 für Milvus sichtbar:
$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone
-
Make GPU devices 0 and 1 visible to Milvus:
+
Machen Sie die GPU-Geräte 0 und 1 für Milvus sichtbar:
$ CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone
-
You can stop and delete this container as follows.
+
Sie können diesen Container wie folgt stoppen und löschen.
# Stop Milvus
$ sudo docker compose down
# Delete service data
$ sudorm -rf volumes
After Milvus is up and running, you can customize the memory pool by modifying the initMemSize and maxMemSize settings in the milvus.yaml file.
+
Nachdem Milvus eingerichtet ist und läuft, können Sie den Speicherpool anpassen, indem Sie die Einstellungen initMemSize und maxMemSize in der Datei milvus.yaml ändern.
-
The milvus.yaml file is located in the /milvus/configs/ directory inside the Milvus container.
+
Die Datei milvus.yaml befindet sich im Verzeichnis /milvus/configs/ innerhalb des Milvus-Containers.
-
To confgiure the memory pool, modify the initMemSize and maxMemSize settings in the milvus.yaml file as follows.
+
Um den Speicherpool zu konfigurieren, ändern Sie die Einstellungen initMemSize und maxMemSize in der Datei milvus.yaml wie folgt.
-
Use the following command to copy milvus.yaml from the Milvus container to your local machine. Replace <milvus_container_id> with your actual Milvus container ID.
+
Verwenden Sie den folgenden Befehl, um milvus.yaml aus dem Milvus-Container auf Ihren lokalen Rechner zu kopieren. Ersetzen Sie <milvus_container_id> durch Ihre aktuelle Milvus-Container-ID.
initMemSize: Initial size of the memory pool. Defaults to 1024.
-
maxMemSize: Maximum size of the memory pool. Defaults to 2048.
+
initMemSize: Anfangsgröße des Speicherpools. Die Voreinstellung ist 1024.
+
maxMemSize: Maximale Größe des Speicherpools. Die Voreinstellung ist 2048.
-
Use the following command to copy the modified milvus.yaml file back to the Milvus container. Replace <milvus_container_id> with your actual Milvus container ID.
+
Verwenden Sie den folgenden Befehl, um die geänderte Datei milvus.yaml zurück in den Milvus-Container zu kopieren. Ersetzen Sie <milvus_container_id> durch Ihre aktuelle Milvus-Container-ID.
You are recommended to use the drivers of version 545 and above.
-
Software requirements
+
Es wird empfohlen, die Treiber der Version 545 und höher zu verwenden.
+
Software-Anforderungen
-
It is recommended that you run the Kubernetes cluster on Linux platforms.
+
Es wird empfohlen, den Kubernetes-Cluster auf Linux-Plattformen zu betreiben.
-
kubectl is the command-line tool for Kubernetes. Use a kubectl version that is within one minor version difference of your cluster. Using the latest version of kubectl helps avoid unforeseen issues.
-
minikube is required when running Kubernetes cluster locally. minikube requires Docker as a dependency. Ensure that you install Docker before installing Milvus using Helm. See Get Docker for more information.
+
kubectl ist das Befehlszeilentool für Kubernetes. Verwenden Sie eine kubectl-Version, die innerhalb eines geringfügigen Versionsunterschieds zu Ihrem Cluster liegt. Die Verwendung der neuesten Version von kubectl hilft, unvorhergesehene Probleme zu vermeiden.
+
minikube ist erforderlich, wenn Sie einen Kubernetes-Cluster lokal betreiben. minikube benötigt Docker als Abhängigkeit. Stellen Sie sicher, dass Sie Docker installieren, bevor Sie Milvus mit Helm installieren. Weitere Informationen finden Sie unter Get Docker.
Weitere Informationen finden Sie in den Helm Docs.
-
FAQs
+
Häufig gestellte Fragen
-
How can I start a K8s cluster locally for test purposes?
You can use tools like minikube, kind, and Kubeadm, to quickly set up a Kubernetes cluster locally. The following procedure uses minikube as an example.
+
Wie kann ich einen K8s-Cluster zu Testzwecken lokal starten?
Sie können Tools wie minikube, kind und Kubeadm verwenden, um schnell einen Kubernetes-Cluster lokal einzurichten. Das folgende Verfahren verwendet minikube als Beispiel.
-
Download minikube
+
Minikube herunterladen
-
Go to the Get Started page, check whether you have met the conditions listed in the What you’ll need section, click on the buttons that describe your target platform, and copy the commands to download and install the binary.
+
Rufen Sie die Seite Get Started auf, prüfen Sie, ob Sie die im Abschnitt What you'll need aufgelisteten Bedingungen erfüllen, klicken Sie auf die Schaltflächen, die Ihre Zielplattform beschreiben, und kopieren Sie die Befehle zum Herunterladen und Installieren der Binärdatei.
-
Start a K8s cluster using minikube
+
Starten eines K8s-Clusters mit minikube
$ minikube start
-
Check the status of the K8s cluster
+
Überprüfen des Status des K8s-Clusters
-
You can check the status of the K8s cluster installed using the following command.
+
Sie können den Status des installierten K8s-Clusters mit dem folgenden Befehl überprüfen.
$ kubectl cluster-info
-
Ensure that you can access the K8s cluster via kubectl. If you have not installed kubectl locally, see Use kubectl inside minikube.
+
Stellen Sie sicher, dass Sie über kubectl auf den K8s-Cluster zugreifen können. Wenn Sie kubectl nicht lokal installiert haben, siehe Verwenden von kubectl innerhalb von minikube.
-
How can I start a K8s cluster with GPU worker nodes?
If you prefer to use GPU-enabled worker nodes, you can follow the steps below to create a K8s cluster with GPU worker nodes. We recommend installing Milvus on a K8s cluster with GPU worker nodes and using the default storage class provisioned.
+
Wie kann ich einen K8s-Cluster mit GPU-Worker-Nodes starten?
Wenn Sie GPU-fähige Worker Nodes verwenden möchten, können Sie die folgenden Schritte ausführen, um einen K8s-Cluster mit GPU-Worker Nodes zu erstellen. Wir empfehlen, Milvus auf einem K8s-Cluster mit GPU-Worker-Nodes zu installieren und die standardmäßig bereitgestellte Speicherklasse zu verwenden.
This page illustrates how to start a Milvus instance in Kubernetes using Milvus Helm charts.
-
Overview
+
Diese Seite veranschaulicht, wie man eine Milvus-Instanz in Kubernetes mithilfe von Milvus Helm-Diagrammen startet.
+
Übersicht
-
Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. Milvus provides a set of charts to help you deploy Milvus dependencies and components.
-
Prerequisites
+
Helm verwendet ein Paketierungsformat namens Charts. Ein Diagramm ist eine Sammlung von Dateien, die einen zusammenhängenden Satz von Kubernetes-Ressourcen beschreiben. Milvus bietet eine Reihe von Diagrammen, die Sie bei der Bereitstellung von Milvus-Abhängigkeiten und -Komponenten unterstützen.
Installieren Sie eine StorageClass. Sie können die installierte StorageClass wie folgt überprüfen.
$ kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBIINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard(default) k8s.io/minikube-hostpath Delete Immediate false
Before installing Milvus, it is recommended to use the Milvus Sizing Tool to estimate the hardware requirements based on your data size. This helps ensure optimal performance and resource allocation for your Milvus installation.
Es wird empfohlen, vor der Installation von Milvus das Milvus Sizing Tool zu verwenden, um die Hardware-Anforderungen auf der Grundlage Ihrer Datengröße abzuschätzen. Dies hilft, eine optimale Leistung und Ressourcenzuweisung für Ihre Milvus-Installation zu gewährleisten.
-
If you encounter any issues pulling the image, contact us at community@zilliz.com with details about the problem, and we’ll provide you with the necessary support.
+
Sollten Sie beim Ziehen des Images auf Probleme stoßen, wenden Sie sich bitte an community@zilliz.com und schildern Sie das Problem, damit wir Ihnen die notwendige Unterstützung bieten können.
-
Install Milvus Helm Chart
+
Milvus Helm Chart installieren
-
Before installing Milvus Helm Charts, you need to add Milvus Helm repository.
+
Bevor Sie Milvus Helm Charts installieren, müssen Sie das Milvus Helm Repository hinzufügen.
The Milvus Helm Charts repo at https://github.com/milvus-io/milvus-helm has been archived and you can get further updates from https://github.com/zilliztech/milvus-helm as follows:
+
Das Milvus Helm Charts-Repository unter https://github.com/milvus-io/milvus-helm wurde archiviert und Sie können weitere Aktualisierungen wie folgt von https://github.com/zilliztech/milvus-helm erhalten:
The archived repo is still available for the charts up to 4.0.31. For later releases, use the new repo instead.
+
Das archivierte Repository ist weiterhin für die Diagramme bis 4.0.31 verfügbar. Für spätere Versionen verwenden Sie stattdessen das neue Repo.
-
Then fetch Milvus charts from the repository as follows:
+
Holen Sie sich dann die Milvus-Charts wie folgt aus dem Repository:
$ helm repo update
-
You can always run this command to fetch the latest Milvus Helm charts.
-
Online install
+
Sie können diesen Befehl jederzeit ausführen, um die neuesten Milvus Helm-Diagramme abzurufen.
+
Online-Installation
-
1. Deploy a Milvus cluster
Once you have installed the Helm chart, you can start Milvus on Kubernetes. This section will guide you through the steps to starting Milvus.
+
1. Bereitstellen eines Milvus-Clusters
Sobald Sie das Helm-Diagramm installiert haben, können Sie Milvus auf Kubernetes starten. Dieser Abschnitt führt Sie durch die Schritte zum Starten von Milvus.
$ helm install my-release milvus/milvus
-
In the above command, my-release is the release name, and milvus/milvus is the locally installed chart repository. To use a different name, replace my-release with the one you see fit.
-
The command above deploys a Milvus cluster with its components and dependencies using default configurations. To customize these settings, we recommend you use the Milvus Sizing Tool to adjust the configurations based on your actual data size and then download the corresponding YAML file. To learn more about configuration parameters, refer to Milvus System Configurations Checklist.
+
Im obigen Befehl ist my-release der Versionsname und milvus/milvus ist das lokal installierte Diagramm-Repository. Wenn Sie einen anderen Namen verwenden möchten, ersetzen Sie my-release mit dem Namen, den Sie für geeignet halten.
+
Mit dem obigen Befehl wird ein Milvus-Cluster mit seinen Komponenten und Abhängigkeiten unter Verwendung von Standardkonfigurationen bereitgestellt. Um diese Einstellungen anzupassen, empfehlen wir Ihnen, das Milvus Sizing Tool zu verwenden, um die Konfigurationen basierend auf Ihrer tatsächlichen Datengröße anzupassen und dann die entsprechende YAML-Datei herunterzuladen. Weitere Informationen zu den Konfigurationsparametern finden Sie in der Milvus System Configurations Checklist.
-
The release name should only contain letters, numbers and dashes. Dots are not allowed in the release name.
-
The default command line installs cluster version of Milvus while installing Milvus with Helm. Further setting is needed while installing Milvus standalone.
-
According to the deprecated API migration guide of Kubernetes, the policy/v1beta1 API version of PodDisruptionBudget is no longer served as of v1.25. You are suggested to migrate manifests and API clients to use the policy/v1 API version instead. As a workaround for users who still use the policy/v1beta1 API version of PodDisruptionBudget on Kubernetes v1.25 and later, you can instead run the following command to install Milvus:
- helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
Der Versionsname sollte nur Buchstaben, Zahlen und Bindestriche enthalten. Punkte sind im Versionsnamen nicht erlaubt.
+
Die Standard-Befehlszeile installiert die Cluster-Version von Milvus bei der Installation von Milvus mit Helm. Bei der Installation von Milvus als Einzelplatzversion sind weitere Einstellungen erforderlich.
+
Gemäß dem veralteten API-Migrationsleitfaden von Kubernetes wird die API-Version policy/v1beta1 von PodDisruptionBudget ab v1.25 nicht mehr unterstützt. Es wird empfohlen, Manifeste und API-Clients zu migrieren, um stattdessen die policy/v1-API-Version zu verwenden. Als Abhilfe für Benutzer, die noch die API-Version policy/v1beta1 von PodDisruptionBudget auf Kubernetes v1.25 und später verwenden, können Sie stattdessen den folgenden Befehl ausführen, um Milvus zu installieren: helm install my-release milvus/milvus --set pulsar.bookkeeper.pdb.usePolicy=false,pulsar.broker.pdb.usePolicy=false,pulsar.proxy.pdb.usePolicy=false,pulsar.zookeeper.pdb.usePolicy=false
Run the following command to get the port at which your Milvus cluster serves.
+
3. Weiterleitung eines lokalen Ports an Milvus
Führen Sie den folgenden Befehl aus, um den Port abzufragen, an dem Ihr Milvus-Cluster arbeitet.
$ kubectl get pod my-release-milvus-proxy-6bd7f5587-ds2xv --template
='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'19530
-
The output shows that the Milvus instance serves at the default port 19530.
+
Die Ausgabe zeigt, dass die Milvus-Instanz auf dem Standard-Port 19530 arbeitet.
-
If you have deployed Milvus in standalone mode, change the pod name from my-release-milvus-proxy-xxxxxxxxxx-xxxxx to my-release-milvus-xxxxxxxxxx-xxxxx.
+
Wenn Sie Milvus im Standalone-Modus eingesetzt haben, ändern Sie den Pod-Namen von my-release-milvus-proxy-xxxxxxxxxx-xxxxx in my-release-milvus-xxxxxxxxxx-xxxxx.
-
Then, run the following command to forward a local port to the port at which Milvus serves.
+
Führen Sie dann den folgenden Befehl aus, um einen lokalen Port an den Port weiterzuleiten, an dem Milvus arbeitet.
Optionally, you can use :19530 instead of 27017:19530 in the above command to let kubectl allocate a local port for you so that you don’t have to manage port conflicts.
-
By default, kubectl’s port-forwarding only listens on localhost. Use the address flag if you want Milvus to listen on the selected or all IP addresses. The following command makes port-forward listen on all IP addresses on the host machine.
+
Optional können Sie :19530 anstelle von 27017:19530 im obigen Befehl verwenden, um kubectl einen lokalen Port für Sie zuweisen zu lassen, so dass Sie sich nicht um Portkonflikte kümmern müssen.
+
Standardmäßig lauscht die Port-Weiterleitung von kubectl nur auf localhost. Verwenden Sie das address Flag, wenn Sie möchten, dass Milvus die ausgewählten oder alle IP-Adressen abhört. Der folgende Befehl sorgt dafür, dass port-forward auf allen IP-Adressen des Host-Rechners lauscht.
If you are in a network-restricted environment, follow the procedure in this section to start a Milvus cluster.
-
1. Get Milvus manifest
Run the following command to get the Milvus manifest.
+
Wenn Sie sich in einer Umgebung mit Netzwerkbeschränkungen befinden, folgen Sie den Anweisungen in diesem Abschnitt, um einen Milvus-Cluster zu starten.
+
1. Milvus-Manifest abrufen
Führen Sie den folgenden Befehl aus, um das Milvus-Manifest abzurufen.
The above command renders chart templates for a Milvus cluster and saves the output to a manifest file named milvus_manifest.yaml. Using this manifest, you can install a Milvus cluster with its components and dependencies in separate pods.
+
Der obige Befehl rendert Diagrammvorlagen für einen Milvus-Cluster und speichert die Ausgabe in einer Manifestdatei namens milvus_manifest.yaml. Mit diesem Manifest können Sie einen Milvus-Cluster mit seinen Komponenten und Abhängigkeiten in separaten Pods installieren.
-
To install a Milvus instance in the standalone mode where all Milvus components are contained within a single pod, you should run helm template my-release --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false milvus/milvus > milvus_manifest.yaml instead to render chart templates for a Milvus instance in a standalone mode.
-
To change Milvus configurations, download the value.yaml template, place your desired settings in it, and use helm template -f values.yaml my-release milvus/milvus > milvus_manifest.yaml to render the manifest accordingly.
+
Um eine Milvus-Instanz im Standalone-Modus zu installieren, bei dem alle Milvus-Komponenten in einem einzigen Pod enthalten sind, sollten Sie stattdessen helm template my-release --set cluster.enabled=false --set etcd.replicaCount=1 --set minio.mode=standalone --set pulsar.enabled=false milvus/milvus > milvus_manifest.yaml ausführen, um Diagrammvorlagen für eine Milvus-Instanz im Standalone-Modus zu rendern.
+
Um Milvus-Konfigurationen zu ändern, laden Sie die value.yaml Vorlage herunter, fügen Sie die gewünschten Einstellungen hinzu, und verwenden Sie helm template -f values.yaml my-release milvus/milvus > milvus_manifest.yaml, um das Manifest entsprechend zu rendern.
-
2. Download image-pulling script
The image-pulling script is developed in Python. You should download the script along with its dependencies in the requirement.txt file.
+
2. Download des Image-Pulling-Skripts
Das Image-Pulling-Skript ist in Python entwickelt. Sie sollten das Skript zusammen mit seinen Abhängigkeiten in der Datei requirement.txt herunterladen.
The images are pulled into a sub-folder named images in the current directory.
-
4. Load images
You can now load the images to the hosts in the network-restricted environment as follows:
+
Die Bilder werden in einem Unterordner namens images im aktuellen Verzeichnis gespeichert.
+
4. Bilder laden
Sie können die Bilder nun wie folgt auf die Hosts in der netzbeschränkten Umgebung laden:
$ for image in $(find . -type f -name "*.tar.gz") ; do gunzip -c $image | docker load; done
-
5. Deploy Milvus
$ kubectl apply -f milvus_manifest.yaml
+
5. Milvus bereitstellen
$ kubectl apply -f milvus_manifest.yaml
-
Till now, you can follow steps 2 and 3 of the online install to check the cluster status and forward a local port to Milvus.
-
Upgrade running Milvus cluster
+
Bis zu diesem Zeitpunkt können Sie die Schritte 2 und 3 der Online-Installation ausführen, um den Cluster-Status zu überprüfen und einen lokalen Port an Milvus weiterzuleiten.
+
Upgrade des laufenden Milvus-Clusters
-
Run the following command to upgrade your running Milvus cluster to the latest version:
+
Führen Sie den folgenden Befehl aus, um Ihren laufenden Milvus-Cluster auf die neueste Version zu aktualisieren:
diff --git a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.json b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.json
index eed801e4d..a937ad71b 100644
--- a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.json
+++ b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.json
@@ -1 +1 @@
-{"codeList":["$ kubectl get sc\n\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBIINDINGMODE ALLOWVOLUMEEXPANSION AGE\nstandard (default) k8s.io/minikube-hostpath Delete Immediate false \n","$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml\n","customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io created\nnamespace/cert-manager created\nserviceaccount/cert-manager-cainjector created\n...\nservice/cert-manager created\nservice/cert-manager-webhook created\ndeployment.apps/cert-manager-cainjector created\ndeployment.apps/cert-manager created\ndeployment.apps/cert-manager-webhook created\nmutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created\nvalidatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created\n","$ kubectl get pods -n cert-manager\n\nNAME READY STATUS RESTARTS AGE\ncert-manager-848f547974-gccz8 1/1 Running 0 70s\ncert-manager-cainjector-54f4cc6b5-dpj84 1/1 Running 0 70s\ncert-manager-webhook-7c9588c76-tqncn 1/1 Running 0 70s\n","$ helm install milvus-operator \\\n -n milvus-operator --create-namespace \\\n --wait --wait-for-jobs \\\n https://github.com/zilliztech/milvus-operator/releases/download/v1.0.1/milvus-operator-1.0.1.tgz\n","NAME: milvus-operator\nLAST DEPLOYED: Thu Jul 7 13:18:40 2022\nNAMESPACE: milvus-operator\nSTATUS: deployed\nREVISION: 1\nTEST SUITE: None\nNOTES:\nMilvus Operator Is Starting, use `kubectl get -n milvus-operator deploy/milvus-operator` to check if its successfully installed\nIf Operator not started successfully, check the checker's log with `kubectl -n milvus-operator logs job/milvus-operator-checker`\nFull Installation doc can be found in https://github.com/zilliztech/milvus-operator/blob/main/docs/installation/installation.md\nQuick start with `kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_minimum.yaml`\nMore samples can be found in https://github.com/zilliztech/milvus-operator/tree/main/config/samples\nCRD Documentation can be found in https://github.com/zilliztech/milvus-operator/tree/main/docs/CRD\n","$ kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/deploy/manifests/deployment.yaml\n","namespace/milvus-operator created\ncustomresourcedefinition.apiextensions.k8s.io/milvusclusters.milvus.io created\nserviceaccount/milvus-operator-controller-manager created\nrole.rbac.authorization.k8s.io/milvus-operator-leader-election-role created\nclusterrole.rbac.authorization.k8s.io/milvus-operator-manager-role created\nclusterrole.rbac.authorization.k8s.io/milvus-operator-metrics-reader created\nclusterrole.rbac.authorization.k8s.io/milvus-operator-proxy-role created\nrolebinding.rbac.authorization.k8s.io/milvus-operator-leader-election-rolebinding created\nclusterrolebinding.rbac.authorization.k8s.io/milvus-operator-manager-rolebinding created\nclusterrolebinding.rbac.authorization.k8s.io/milvus-operator-proxy-rolebinding created\nconfigmap/milvus-operator-manager-config created\nservice/milvus-operator-controller-manager-metrics-service created\nservice/milvus-operator-webhook-service created\ndeployment.apps/milvus-operator-controller-manager created\ncertificate.cert-manager.io/milvus-operator-serving-cert created\nissuer.cert-manager.io/milvus-operator-selfsigned-issuer created\nmutatingwebhookconfiguration.admissionregistration.k8s.io/milvus-operator-mutating-webhook-configuration created\nvalidatingwebhookconfiguration.admissionregistration.k8s.io/milvus-operator-validating-webhook-configuration created\n","$ kubectl get pods -n milvus-operator\n\nNAME READY STATUS RESTARTS AGE\nmilvus-operator-5fd77b87dc-msrk4 1/1 Running 0 46s\n","$ kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","$ kubectl get milvus my-release -o yaml\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n...\nstatus:\n conditions:\n - lastTransitionTime: \"2021-11-02T05:59:41Z\"\n reason: StorageReady\n status: \"True\"\n type: StorageReady\n - lastTransitionTime: \"2021-11-02T06:06:23Z\"\n message: Pulsar is ready\n reason: PulsarReady\n status: \"True\"\n type: PulsarReady\n - lastTransitionTime: \"2021-11-02T05:59:41Z\"\n message: Etcd endpoints is healthy\n reason: EtcdReady\n status: \"True\"\n type: EtcdReady\n - lastTransitionTime: \"2021-11-02T06:12:36Z\"\n message: All Milvus components are healthy\n reason: MilvusClusterHealthy\n status: \"True\"\n type: MilvusReady\n endpoint: my-release-milvus.default:19530\n status: Healthy\n","$ kubectl get pods\n\nNAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 14m\nmy-release-etcd-1 1/1 Running 0 14m\nmy-release-etcd-2 1/1 Running 0 14m\nmy-release-milvus-datanode-5c686bd65-wxtmf 1/1 Running 0 6m\nmy-release-milvus-indexnode-5b9787b54-xclbx 1/1 Running 0 6m\nmy-release-milvus-proxy-84f67cdb7f-pg6wf 1/1 Running 0 6m\nmy-release-milvus-querynode-5bcb59f6-nhqqw 1/1 Running 0 6m\nmy-release-milvus-mixcoord-fdcccfc84-9964g 1/1 Running 0 6m\nmy-release-minio-0 1/1 Running 0 14m\nmy-release-minio-1 1/1 Running 0 14m\nmy-release-minio-2 1/1 Running 0 14m\nmy-release-minio-3 1/1 Running 0 14m\nmy-release-pulsar-bookie-0 1/1 Running 0 14m\nmy-release-pulsar-bookie-1 1/1 Running 0 14m\nmy-release-pulsar-bookie-init-h6tfz 0/1 Completed 0 14m\nmy-release-pulsar-broker-0 1/1 Running 0 14m\nmy-release-pulsar-broker-1 1/1 Running 0 14m\nmy-release-pulsar-proxy-0 1/1 Running 0 14m\nmy-release-pulsar-proxy-1 1/1 Running 0 14m\nmy-release-pulsar-pulsar-init-d2t56 0/1 Completed 0 14m\nmy-release-pulsar-recovery-0 1/1 Running 0 14m\nmy-release-pulsar-toolset-0 1/1 Running 0 14m\nmy-release-pulsar-zookeeper-0 1/1 Running 0 14m\nmy-release-pulsar-zookeeper-1 1/1 Running 0 13m\nmy-release-pulsar-zookeeper-2 1/1 Running 0 13m\n","$ kubectl get pod my-release-milvus-proxy-84f67cdb7f-pg6wf --template\n='{{(index (index .spec.containers 0).ports 0).containerPort}}{{\"\\n\"}}'\n19530\n","$ kubectl port-forward service/my-release-milvus 27017:19530\nForwarding from 127.0.0.1:27017 -> 19530\n","$ kubectl port-forward --address 0.0.0.0 service/my-release-milvus 27017:19530\nForwarding from 0.0.0.0:27017 -> 19530\n","$ kubectl delete milvus my-release\n","$ helm -n milvus-operator uninstall milvus-operator\n","$ kubectl delete -f https://raw.githubusercontent.com/zilliztech/milvus-operator/v1.0.1/deploy/manifests/deployment.yaml\n"],"headingContent":"Run Milvus in Kubernetes with Milvus Operator","anchorList":[{"label":"Run Milvus in Kubernetes with Milvus Operator","href":"Run-Milvus-in-Kubernetes-with-Milvus-Operator","type":1,"isActive":false},{"label":"Overview","href":"Overview","type":2,"isActive":false},{"label":"Prerequisites","href":"Prerequisites","type":2,"isActive":false},{"label":"Install Milvus Operator","href":"Install-Milvus-Operator","type":2,"isActive":false},{"label":"Deploy Milvus","href":"Deploy-Milvus","type":2,"isActive":false},{"label":"Uninstall Milvus","href":"Uninstall-Milvus","type":2,"isActive":false},{"label":"Uninstall Milvus Operator","href":"Uninstall-Milvus-Operator","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ kubectl get sc\n\nNAME PROVISIONER RECLAIMPOLICY VOLUMEBIINDINGMODE ALLOWVOLUMEEXPANSION AGE\nstandard (default) k8s.io/minikube-hostpath Delete Immediate false \n","$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml\n","customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io created\ncustomresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io created\nnamespace/cert-manager created\nserviceaccount/cert-manager-cainjector created\n...\nservice/cert-manager created\nservice/cert-manager-webhook created\ndeployment.apps/cert-manager-cainjector created\ndeployment.apps/cert-manager created\ndeployment.apps/cert-manager-webhook created\nmutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created\nvalidatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created\n","$ kubectl get pods -n cert-manager\n\nNAME READY STATUS RESTARTS AGE\ncert-manager-848f547974-gccz8 1/1 Running 0 70s\ncert-manager-cainjector-54f4cc6b5-dpj84 1/1 Running 0 70s\ncert-manager-webhook-7c9588c76-tqncn 1/1 Running 0 70s\n","$ helm install milvus-operator \\\n -n milvus-operator --create-namespace \\\n --wait --wait-for-jobs \\\n https://github.com/zilliztech/milvus-operator/releases/download/v1.0.1/milvus-operator-1.0.1.tgz\n","NAME: milvus-operator\nLAST DEPLOYED: Thu Jul 7 13:18:40 2022\nNAMESPACE: milvus-operator\nSTATUS: deployed\nREVISION: 1\nTEST SUITE: None\nNOTES:\nMilvus Operator Is Starting, use `kubectl get -n milvus-operator deploy/milvus-operator` to check if its successfully installed\nIf Operator not started successfully, check the checker's log with `kubectl -n milvus-operator logs job/milvus-operator-checker`\nFull Installation doc can be found in https://github.com/zilliztech/milvus-operator/blob/main/docs/installation/installation.md\nQuick start with `kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_minimum.yaml`\nMore samples can be found in https://github.com/zilliztech/milvus-operator/tree/main/config/samples\nCRD Documentation can be found in https://github.com/zilliztech/milvus-operator/tree/main/docs/CRD\n","$ kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/deploy/manifests/deployment.yaml\n","namespace/milvus-operator created\ncustomresourcedefinition.apiextensions.k8s.io/milvusclusters.milvus.io created\nserviceaccount/milvus-operator-controller-manager created\nrole.rbac.authorization.k8s.io/milvus-operator-leader-election-role created\nclusterrole.rbac.authorization.k8s.io/milvus-operator-manager-role created\nclusterrole.rbac.authorization.k8s.io/milvus-operator-metrics-reader created\nclusterrole.rbac.authorization.k8s.io/milvus-operator-proxy-role created\nrolebinding.rbac.authorization.k8s.io/milvus-operator-leader-election-rolebinding created\nclusterrolebinding.rbac.authorization.k8s.io/milvus-operator-manager-rolebinding created\nclusterrolebinding.rbac.authorization.k8s.io/milvus-operator-proxy-rolebinding created\nconfigmap/milvus-operator-manager-config created\nservice/milvus-operator-controller-manager-metrics-service created\nservice/milvus-operator-webhook-service created\ndeployment.apps/milvus-operator-controller-manager created\ncertificate.cert-manager.io/milvus-operator-serving-cert created\nissuer.cert-manager.io/milvus-operator-selfsigned-issuer created\nmutatingwebhookconfiguration.admissionregistration.k8s.io/milvus-operator-mutating-webhook-configuration created\nvalidatingwebhookconfiguration.admissionregistration.k8s.io/milvus-operator-validating-webhook-configuration created\n","$ kubectl get pods -n milvus-operator\n\nNAME READY STATUS RESTARTS AGE\nmilvus-operator-5fd77b87dc-msrk4 1/1 Running 0 46s\n","$ kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml\n","$ kubectl get milvus my-release -o yaml\n","apiVersion: milvus.io/v1alpha1\nkind: Milvus\nmetadata:\n...\nstatus:\n conditions:\n - lastTransitionTime: \"2021-11-02T05:59:41Z\"\n reason: StorageReady\n status: \"True\"\n type: StorageReady\n - lastTransitionTime: \"2021-11-02T06:06:23Z\"\n message: Pulsar is ready\n reason: PulsarReady\n status: \"True\"\n type: PulsarReady\n - lastTransitionTime: \"2021-11-02T05:59:41Z\"\n message: Etcd endpoints is healthy\n reason: EtcdReady\n status: \"True\"\n type: EtcdReady\n - lastTransitionTime: \"2021-11-02T06:12:36Z\"\n message: All Milvus components are healthy\n reason: MilvusClusterHealthy\n status: \"True\"\n type: MilvusReady\n endpoint: my-release-milvus.default:19530\n status: Healthy\n","$ kubectl get pods\n\nNAME READY STATUS RESTARTS AGE\nmy-release-etcd-0 1/1 Running 0 14m\nmy-release-etcd-1 1/1 Running 0 14m\nmy-release-etcd-2 1/1 Running 0 14m\nmy-release-milvus-datanode-5c686bd65-wxtmf 1/1 Running 0 6m\nmy-release-milvus-indexnode-5b9787b54-xclbx 1/1 Running 0 6m\nmy-release-milvus-proxy-84f67cdb7f-pg6wf 1/1 Running 0 6m\nmy-release-milvus-querynode-5bcb59f6-nhqqw 1/1 Running 0 6m\nmy-release-milvus-mixcoord-fdcccfc84-9964g 1/1 Running 0 6m\nmy-release-minio-0 1/1 Running 0 14m\nmy-release-minio-1 1/1 Running 0 14m\nmy-release-minio-2 1/1 Running 0 14m\nmy-release-minio-3 1/1 Running 0 14m\nmy-release-pulsar-bookie-0 1/1 Running 0 14m\nmy-release-pulsar-bookie-1 1/1 Running 0 14m\nmy-release-pulsar-bookie-init-h6tfz 0/1 Completed 0 14m\nmy-release-pulsar-broker-0 1/1 Running 0 14m\nmy-release-pulsar-broker-1 1/1 Running 0 14m\nmy-release-pulsar-proxy-0 1/1 Running 0 14m\nmy-release-pulsar-proxy-1 1/1 Running 0 14m\nmy-release-pulsar-pulsar-init-d2t56 0/1 Completed 0 14m\nmy-release-pulsar-recovery-0 1/1 Running 0 14m\nmy-release-pulsar-toolset-0 1/1 Running 0 14m\nmy-release-pulsar-zookeeper-0 1/1 Running 0 14m\nmy-release-pulsar-zookeeper-1 1/1 Running 0 13m\nmy-release-pulsar-zookeeper-2 1/1 Running 0 13m\n","$ kubectl get pod my-release-milvus-proxy-84f67cdb7f-pg6wf --template\n='{{(index (index .spec.containers 0).ports 0).containerPort}}{{\"\\n\"}}'\n19530\n","$ kubectl port-forward service/my-release-milvus 27017:19530\nForwarding from 127.0.0.1:27017 -> 19530\n","$ kubectl port-forward --address 0.0.0.0 service/my-release-milvus 27017:19530\nForwarding from 0.0.0.0:27017 -> 19530\n","$ kubectl delete milvus my-release\n","$ helm -n milvus-operator uninstall milvus-operator\n","$ kubectl delete -f https://raw.githubusercontent.com/zilliztech/milvus-operator/v1.0.1/deploy/manifests/deployment.yaml\n"],"headingContent":"Run Milvus in Kubernetes with Milvus Operator","anchorList":[{"label":"Milvus in Kubernetes mit Milvus Operator starten","href":"Run-Milvus-in-Kubernetes-with-Milvus-Operator","type":1,"isActive":false},{"label":"Überblick","href":"Overview","type":2,"isActive":false},{"label":"Voraussetzungen","href":"Prerequisites","type":2,"isActive":false},{"label":"Milvus Operator installieren","href":"Install-Milvus-Operator","type":2,"isActive":false},{"label":"Milvus bereitstellen","href":"Deploy-Milvus","type":2,"isActive":false},{"label":"Deinstallation von Milvus","href":"Uninstall-Milvus","type":2,"isActive":false},{"label":"Deinstallation von Milvus Operator","href":"Uninstall-Milvus-Operator","type":2,"isActive":false},{"label":"Wie geht es weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.md b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.md
index f5f19338c..3992b1ea0 100644
--- a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.md
+++ b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/install_cluster-milvusoperator.md
@@ -2,10 +2,12 @@
id: install_cluster-milvusoperator.md
label: Milvus Operator
related_key: Kubernetes
-summary: Learn how to install Milvus cluster on Kubernetes using Milvus Operator
-title: Install Milvus Cluster with Milvus Operator
+summary: >-
+ Erfahren Sie, wie Sie Milvus-Cluster mit Milvus Operator auf Kubernetes
+ installieren
+title: Milvus Cluster mit Milvus Operator installieren
---
-
Run Milvus in Kubernetes with Milvus Operator
+
Milvus in Kubernetes mit Milvus Operator starten
-
This page illustrates how to start a Milvus instance in Kubernetes using Milvus Operator.
-
Overview
+
Diese Seite zeigt, wie man eine Milvus-Instanz in Kubernetes mit Milvus Operator startet.
+
Überblick
-
Milvus Operator is a solution that helps you deploy and manage a full Milvus service stack to target Kubernetes (K8s) clusters. The stack includes all Milvus components and relevant dependencies like etcd, Pulsar, and MinIO.
-
Prerequisites
+
Milvus Operator ist eine Lösung, mit der Sie einen vollständigen Milvus-Service-Stack in Kubernetes (K8s)-Clustern bereitstellen und verwalten können. Der Stack umfasst alle Milvus-Komponenten und relevante Abhängigkeiten wie etcd, Pulsar und MinIO.
Installieren Sie eine StorageClass. Sie können die installierte StorageClass wie folgt überprüfen.
$ kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBIINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard(default) k8s.io/minikube-hostpath Delete Immediate false
Before installing Milvus, it is recommended to use the Milvus Sizing Tool to estimate the hardware requirements based on your data size. This helps ensure optimal performance and resource allocation for your Milvus installation.
Es wird empfohlen, vor der Installation von Milvus das Milvus Sizing Tool zu verwenden, um die Hardwareanforderungen auf der Grundlage Ihrer Datengröße abzuschätzen. Dies hilft, eine optimale Leistung und Ressourcenzuweisung für Ihre Milvus-Installation zu gewährleisten.
-
If you encounter any issues pulling the image, contact us at community@zilliz.com with details about the problem, and we’ll provide you with the necessary support.
+
Sollten Sie beim Ziehen des Images auf Probleme stoßen, wenden Sie sich bitte an community@zilliz.com und schildern Sie das Problem, damit wir Ihnen den nötigen Support bieten können.
-
Install Milvus Operator
+
Milvus Operator installieren
-
Milvus Operator defines a Milvus cluster custom resources on top of Kubernetes Custom Resources. When custom resources are defined, you can use K8s APIs in a declarative way and manage the Milvus deployment stack to ensure its scalability and high availability.
-
1. Install cert-manager
Milvus Operator uses cert-manager to provide a certificate for the webhook server.
+
Milvus Operator definiert die benutzerdefinierten Ressourcen eines Milvus-Clusters zusätzlich zu den benutzerdefinierten Ressourcen von Kubernetes. Wenn benutzerdefinierte Ressourcen definiert sind, können Sie K8s-APIs auf deklarative Weise verwenden und den Milvus-Bereitstellungsstapel verwalten, um seine Skalierbarkeit und Hochverfügbarkeit sicherzustellen.
+
1. Installieren Sie cert-manager
Milvus Operator verwendet cert-manager, um ein Zertifikat für den Webhook-Server bereitzustellen.
You will see the output similar to the following after the installation process ends.
+
Nach Abschluss des Installationsvorgangs sehen Sie eine Ausgabe ähnlich der folgenden.
customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created
@@ -110,7 +112,7 @@ deployment.apps/cert-manager-webhook created
mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created
validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created
-
You can check if cert-manager pods are running as follows:
+
Sie können wie folgt überprüfen, ob cert-manager-Pods ausgeführt werden:
$ kubectl get pods -n cert-manager
NAME READY STATUS RESTARTS AGE
@@ -118,18 +120,18 @@ cert-manager-848f547974-gccz8 -54f4cc6b5-dpj84 1/1 Running 070s
cert-manager-webhook-7c9588c76-tqncn 1/1 Running 070s
-
2. Install Milvus Operator
You can install Milvus Operator in either of the following ways:
+
2. Installieren Sie Milvus Operator
Sie können Milvus Operator auf eine der folgenden Arten installieren:
You will see the output similar to the following after the installation process ends.
+
Nach Beendigung des Installationsprozesses sehen Sie eine Ausgabe ähnlich der folgenden.
NAME: milvus-operator
LAST DEPLOYED: Thu Jul 713:18:402022
NAMESPACE: milvus-operator
@@ -144,10 +146,10 @@ Quick start with `kubectl apply -f https://raw.githubusercontent.com/zilliztech/
More samples can be found in https://github.com/zilliztech/milvus-operator/tree/main/config/samples
CRD Documentation can be found in https://github.com/zilliztech/milvus-operator/tree/main/docs/CRD
-
Install with kubectl
Run the following command to install Milvus Operator with kubectl.
+
Installation mit kubectl
Führen Sie den folgenden Befehl aus, um Milvus Operator mit kubectl zu installieren.
You will see the output similar to the following after the installation process ends.
+
Nach Beendigung des Installationsvorgangs erhalten Sie eine Ausgabe ähnlich der folgenden.
namespace/milvus-operator created
customresourcedefinition.apiextensions.k8s.io/milvusclusters.milvus.io created
serviceaccount/milvus-operator-controller-manager created
@@ -167,13 +169,13 @@ issuer.cert-manager.io/milvus-operator-selfsigned-issuer created
mutatingwebhookconfiguration.admissionregistration.k8s.io/milvus-operator-mutating-webhook-configuration created
validatingwebhookconfiguration.admissionregistration.k8s.io/milvus-operator-validating-webhook-configuration created
-
You can check if the Milvus Operator pod is running as follows:
+
Sie können wie folgt überprüfen, ob der Milvus Operator-Pod läuft:
$ kubectl get pods -n milvus-operator
NAME READY STATUS RESTARTS AGE
milvus-operator-5fd77b87dc-msrk4 1/1 Running 046s
The command above deploys a Milvus cluster with its components and dependencies in separate pods using default configurations. To customize these settings, we recommend you use the Milvus Sizing Tool to adjust the configurations based on your actual data size and then download the corresponding YAML file. To learn more about configuration parameters, refer to Milvus System Configurations Checklist.
+
Mit dem obigen Befehl wird ein Milvus-Cluster mit seinen Komponenten und Abhängigkeiten in separaten Pods mit Standardkonfigurationen bereitgestellt. Um diese Einstellungen anzupassen, empfehlen wir Ihnen, das Milvus Sizing Tool zu verwenden, um die Konfigurationen basierend auf Ihrer tatsächlichen Datengröße anzupassen und dann die entsprechende YAML-Datei herunterzuladen. Weitere Informationen zu den Konfigurationsparametern finden Sie in der Checkliste für Milvus-Systemkonfigurationen.
-
The release name should only contain letters, numbers and dashes. Dots are not allowed in the release name.
-
You can also deploy a Milvus instance in standalone mode, where all its components are contained within a single pod. To do so, change the configuration file URL in the above command to https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_default.yaml
+
Der Release-Name sollte nur Buchstaben, Zahlen und Bindestriche enthalten. Punkte sind im Versionsnamen nicht erlaubt.
+
Sie können eine Milvus-Instanz auch im Standalone-Modus bereitstellen, bei dem alle Komponenten in einem einzigen Pod enthalten sind. Dazu ändern Sie die URL der Konfigurationsdatei im obigen Befehl in https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_default.yaml
-
2. Check Milvus cluster status
Run the following command to check Milvus cluster status
+
2. Überprüfen des Milvus-Cluster-Status
Führen Sie den folgenden Befehl aus, um den Status des Milvus-Clusters zu überprüfen
$ kubectl get milvus my-release -o yaml
-
Once your Milvus cluster is ready, the output of the above command should be similar to the following. If the status.status field stays Unhealthy, your Milvus cluster is still under creation.
+
Sobald Ihr Milvus-Cluster bereit ist, sollte die Ausgabe des obigen Befehls ähnlich wie die folgende aussehen. Wenn das Feld status.statusUnhealthy bleibt, ist Ihr Milvus-Cluster noch in der Erstellung.
Milvus Operator creates Milvus dependencies, such as etcd, Pulsar, and MinIO, and then Milvus components, such as proxy, coordinators, and nodes.
-
Once your Milvus cluster is ready, the status of all pods in the Milvus cluster should be similar to the following.
+
Milvus Operator erstellt Milvus-Abhängigkeiten wie etcd, Pulsar und MinIO und dann Milvus-Komponenten wie Proxy, Coordinators und Nodes.
+
Sobald Ihr Milvus-Cluster bereit ist, sollte der Status aller Pods im Milvus-Cluster ähnlich wie im Folgenden dargestellt sein.
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
@@ -261,25 +263,25 @@ my-release-pulsar-zookeeper-0
my-release-pulsar-zookeeper-11/1 Running 013m
my-release-pulsar-zookeeper-21/1 Running 013m
-
3. Forward a local port to Milvus
Run the following command to get the port at which your Milvus cluster serves.
+
3. Weiterleitung eines lokalen Ports an Milvus
Führen Sie den folgenden Befehl aus, um den Port abzufragen, an dem Ihr Milvus-Cluster arbeitet.
$ kubectl get pod my-release-milvus-proxy-84f67cdb7f-pg6wf --template
='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'19530
-
The output shows that the Milvus instance serves at the default port 19530.
+
Die Ausgabe zeigt, dass die Milvus-Instanz über den Standard-Port 19530 arbeitet.
-
If you have deployed Milvus in standalone mode, change the pod name from my-release-milvus-proxy-xxxxxxxxxx-xxxxx to my-release-milvus-xxxxxxxxxx-xxxxx.
+
Wenn Sie Milvus im Standalone-Modus eingesetzt haben, ändern Sie den Pod-Namen von my-release-milvus-proxy-xxxxxxxxxx-xxxxx in my-release-milvus-xxxxxxxxxx-xxxxx.
-
Then, run the following command to forward a local port to the port at which Milvus serves.
+
Führen Sie dann den folgenden Befehl aus, um einen lokalen Port an den Port weiterzuleiten, an dem Milvus arbeitet.
Optionally, you can use :19530 instead of 27017:19530 in the above command to let kubectl allocate a local port for you so that you don’t have to manage port conflicts.
-
By default, kubectl’s port-forwarding only listens on localhost. Use the address flag if you want Milvus to listen on the selected or all IP addresses. The following command makes port-forward listen on all IP addresses on the host machine.
+
Optional können Sie :19530 anstelle von 27017:19530 im obigen Befehl verwenden, um kubectl einen lokalen Port für Sie zuweisen zu lassen, so dass Sie sich nicht um Portkonflikte kümmern müssen.
+
Standardmäßig lauscht die Port-Weiterleitung von kubectl nur auf localhost. Verwenden Sie das address Flag, wenn Sie möchten, dass Milvus die ausgewählten oder alle IP-Adressen abhört. Der folgende Befehl sorgt dafür, dass port-forward alle IP-Adressen auf dem Host-Rechner abhört.
Run the following command to uninstall the Milvus cluster.
+
Führen Sie den folgenden Befehl aus, um den Milvus-Cluster zu deinstallieren.
$ kubectl delete milvus my-release
-
When you delete the Milvus cluster using the default configuration, dependencies like etcd, Pulsar, and MinIO are not deleted. Therefore, next time when you install the same Milvus cluster instance, these dependencies will be used again.
-
To delete the dependencies and private virtual clouds (PVCs) along with the Milvus cluster, see configuration file.
+
Wenn Sie den Milvus-Cluster mit der Standardkonfiguration löschen, werden Abhängigkeiten wie etcd, Pulsar und MinIO nicht gelöscht. Wenn Sie also das nächste Mal dieselbe Milvus-Cluster-Instanz installieren, werden diese Abhängigkeiten wieder verwendet.
+
Um die Abhängigkeiten und privaten virtuellen Clouds (PVCs) zusammen mit dem Milvus-Cluster zu löschen, siehe Konfigurationsdatei.
diff --git a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.json b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.json
index 350759e8c..4268ff1c8 100644
--- a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.json
+++ b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.json
@@ -1 +1 @@
-{"codeList":["mkdir test-data\nfio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest\n","$ minikube start\n","$ kubectl cluster-info\n"],"headingContent":"Requirements for running Milvus on Kubernetes","anchorList":[{"label":"Requirements for running Milvus on Kubernetes","href":"Requirements-for-running-Milvus-on-Kubernetes","type":1,"isActive":false},{"label":"Hardware requirements","href":"Hardware-requirements","type":2,"isActive":false},{"label":"Software requirements","href":"Software-requirements","type":2,"isActive":false},{"label":"FAQs","href":"FAQs","type":2,"isActive":false},{"label":"What's next","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["mkdir test-data\nfio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest\n","$ minikube start\n","$ kubectl cluster-info\n"],"headingContent":"Requirements for running Milvus on Kubernetes","anchorList":[{"label":"Anforderungen für den Betrieb von Milvus auf Kubernetes","href":"Requirements-for-running-Milvus-on-Kubernetes","type":1,"isActive":false},{"label":"Hardware-Anforderungen","href":"Hardware-requirements","type":2,"isActive":false},{"label":"Software-Anforderungen","href":"Software-requirements","type":2,"isActive":false},{"label":"FAQs","href":"FAQs","type":2,"isActive":false},{"label":"Wie geht's weiter?","href":"Whats-next","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.md b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.md
index 4ec3a4907..6aeeaf9e3 100644
--- a/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.md
+++ b/localization/v2.5.x/site/de/getstarted/run-milvus-k8s/prerequisite-helm.md
@@ -2,10 +2,12 @@
id: prerequisite-helm.md
label: Install on Kubernetes
related_key: Kubernetes
-summary: Learn the necessary preparations before installing Milvus with Helm.
-title: Requirements for running Milvus on Kubernetes
+summary: >-
+ Informieren Sie sich über die notwendigen Vorbereitungen für die Installation
+ von Milvus mit Helm.
+title: Anforderungen für den Betrieb von Milvus auf Kubernetes
---
-
Requirements for running Milvus on Kubernetes
+
Anforderungen für den Betrieb von Milvus auf Kubernetes
-
This page lists the hardware and software requirements to get Milvus up and running.
-
Hardware requirements
+
Auf dieser Seite sind die Hardware- und Softwareanforderungen aufgeführt, um Milvus zum Laufen zu bringen.
+
Hardware-Anforderungen
-
Component
Requirement
Recommendation
Note
+
Komponente
Anforderung
Empfehlung
Hinweis
-
CPU
Intel 2nd Gen Core CPU or higher
Apple Silicon
Standalone: 4 core or more
Cluster: 8 core or more
-
CPU instruction set
SSE4.2
AVX
AVX2
AVX-512
SSE4.2
AVX
AVX2
AVX-512
Vector similarity search and index building within Milvus require CPU’s support of single instruction, multiple data (SIMD) extension sets. Ensure that the CPU supports at least one of the SIMD extensions listed. See CPUs with AVX for more information.
-
RAM
Standalone: 8G
Cluster: 32G
Standalone: 16G
Cluster: 128G
The size of RAM depends on the data volume.
-
Hard drive
SATA 3.0 SSD or CloudStorage
NVMe SSD or higher
The size of hard drive depends on the data volume.
+
CPU
Intel 2nd Gen Core CPU oder höher
Apple Silizium
Eigenständig: 4 Kerne oder mehr
Cluster: 8 Kerne oder mehr
+
CPU-Befehlssatz
SSE4.2
AVX
AVX2
AVX-512
SSE4.2
AVX
AVX2
AVX-512
Die Vektorähnlichkeitssuche und die Indexerstellung in Milvus erfordern die Unterstützung von SIMD-Erweiterungen (Single Instruction, Multiple Data) durch die CPU. Stellen Sie sicher, dass die CPU mindestens eine der aufgeführten SIMD-Erweiterungen unterstützt. Siehe CPUs mit AVX für weitere Informationen.
+
RAM
Eigenständig: 8G
Cluster: 32G
Eigenständig: 16G
Cluster: 128G
Die Größe des Arbeitsspeichers hängt von der Datenmenge ab.
+
Festplattenlaufwerk
SATA 3.0 SSD oder CloudStorage
NVMe SSD oder höher
Die Größe des Festplattenlaufwerks hängt vom Datenvolumen ab.
-
Software requirements
+
Software-Anforderungen
-
It is recommended that you run the Kubernetes cluster on Linux platforms.
-
kubectl is the command-line tool for Kubernetes. Use a kubectl version that is within one minor version difference of your cluster. Using the latest version of kubectl helps avoid unforeseen issues.
-
minikube is required when running Kubernetes cluster locally. minikube requires Docker as a dependency. Ensure that you install Docker before installing Milvus using Helm. See Get Docker for more information.
+
Es wird empfohlen, den Kubernetes-Cluster auf Linux-Plattformen zu betreiben.
+
kubectl ist das Befehlszeilentool für Kubernetes. Verwenden Sie eine kubectl-Version, die innerhalb eines geringfügigen Versionsunterschieds zu Ihrem Cluster liegt. Die Verwendung der neuesten Version von kubectl hilft, unvorhergesehene Probleme zu vermeiden.
+
minikube ist erforderlich, wenn Sie einen Kubernetes-Cluster lokal betreiben. minikube benötigt Docker als Abhängigkeit. Stellen Sie sicher, dass Sie Docker installieren, bevor Sie Milvus mit Helm installieren. Weitere Informationen finden Sie unter Get Docker.
Disk performance is critical to etcd. It is highly recommended that you use local NVMe SSDs. Slower disk reponse may cause frequent cluster elections that will eventually degrade the etcd service.
Die Festplattenleistung ist entscheidend für etcd. Es wird dringend empfohlen, dass Sie lokale NVMe-SSDs verwenden. Eine langsamere Festplattenreaktion kann zu häufigen Clusterwahlen führen, die schließlich den etcd-Dienst beeinträchtigen.
+
Um zu testen, ob Ihre Festplatte geeignet ist, verwenden Sie fio.
Ideally, your disk should reach over 500 IOPS and below 10ms for the 99th percentile fsync latency. Read the etcd Docs for more detailed requirements.
+
Idealerweise sollte Ihre Festplatte mehr als 500 IOPS und eine fsync-Latenz von weniger als 10 ms (99. Perzentil) erreichen. Detaillierte Anforderungen finden Sie in den etcd Docs.
How can I start a K8s cluster locally for test purposes?
You can use tools like minikube, kind, and Kubeadm, to quickly set up a Kubernetes cluster locally. The following procedure uses minikube as an example.
+
Wie kann ich einen K8s-Cluster zu Testzwecken lokal starten?
Sie können Tools wie minikube, kind und Kubeadm verwenden, um schnell einen Kubernetes-Cluster lokal einzurichten. Das folgende Verfahren verwendet minikube als Beispiel.
-
Download minikube
+
Minikube herunterladen
-
Go to the Get Started page, check whether you have met the conditions listed in the What you’ll need section, click on the buttons that describe your target platform, and copy the commands to download and install the binary.
+
Rufen Sie die Seite Get Started auf, prüfen Sie, ob Sie die im Abschnitt What you'll need aufgelisteten Bedingungen erfüllen, klicken Sie auf die Schaltflächen, die Ihre Zielplattform beschreiben, und kopieren Sie die Befehle zum Herunterladen und Installieren der Binärdatei.
-
Start a K8s cluster using minikube
+
Starten eines K8s-Clusters mit minikube
$ minikube start
-
Check the status of the K8s cluster
+
Überprüfen des Status des K8s-Clusters
-
You can check the status of the K8s cluster installed using the following command.
+
Sie können den Status des installierten K8s-Clusters mit dem folgenden Befehl überprüfen.
$ kubectl cluster-info
-
Ensure that you can access the K8s cluster via kubectl. If you have not installed kubectl locally, see Use kubectl inside minikube.
+
Stellen Sie sicher, dass Sie über kubectl auf den K8s-Cluster zugreifen können. Wenn Sie kubectl nicht lokal installiert haben, siehe Verwenden von kubectl innerhalb von minikube.
-
What’s next
+
Wie geht's weiter?sync --fdatasync=1
>
-
If your hardware and software meet the requirements, you can:
+
Wenn Ihre Hardware und Software die Anforderungen erfüllen, können Sie:
Siehe Systemkonfiguration für Parameter, die Sie bei der Installation von Milvus einstellen können.
diff --git a/localization/v2.5.x/site/de/home/home.json b/localization/v2.5.x/site/de/home/home.json
index 0ea78f46c..794207f20 100644
--- a/localization/v2.5.x/site/de/home/home.json
+++ b/localization/v2.5.x/site/de/home/home.json
@@ -1 +1 @@
-{"codeList":[],"headingContent":"","anchorList":[{"label":"Get Started","href":"Get-Started","type":2,"isActive":false},{"label":"Recommended articles","href":"Recommended-articles","type":2,"isActive":false},{"label":"What's new in docs","href":"Whats-new-in-docs","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":[],"headingContent":"","anchorList":[{"label":"Beginnen Sie","href":"Get-Started","type":2,"isActive":false},{"label":"Empfohlene Artikel","href":"Recommended-articles","type":2,"isActive":false},{"label":"Was ist neu in der Dokumentation","href":"Whats-new-in-docs","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/home/home.md b/localization/v2.5.x/site/de/home/home.md
index ce86a9062..90075f8e4 100644
--- a/localization/v2.5.x/site/de/home/home.md
+++ b/localization/v2.5.x/site/de/home/home.md
@@ -3,23 +3,19 @@ id: home.md
---
-Welcome to Milvus Docs!
-
+Willkommen bei Milvus Docs!
-Here you will learn about what Milvus is, and how to install, use, and deploy Milvus to build an application according to your business need.
-
+Hier erfahren Sie, was Milvus ist und wie Sie Milvus installieren, verwenden und einsetzen, um eine Anwendung nach Ihren Bedürfnissen zu erstellen.
-
Try Managed Milvus For Free!
-
Try Zilliz Cloud for free! The easiest way to experience Milvus!
+
Testen Sie Managed Milvus kostenlos!
+
Testen Sie Zilliz Cloud kostenlos! Der einfachste Weg, Milvus zu erleben!
diff --git a/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.json b/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.json
index 9845c202d..08b7127ae 100644
--- a/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.json
+++ b/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.json
@@ -1 +1 @@
-{"codeList":["$ git clone https://github.com/HydroXai/pii-masker-v1.git\n$ cd pii-masker-v1/pii-masker\n","$ pip install --upgrade pymilvus openai requests tqdm dataset\n","$ export OPENAI_API_KEY=sk-***********\n","text_lines = [\n \"Alice Johnson, a resident of Dublin, Ireland, attended a flower festival at Hyde Park on May 15, 2023. She entered the park at noon using her digital passport, number 23456789. Alice spent the afternoon admiring various flowers and plants, attending a gardening workshop, and having a light snack at one of the food stalls. While there, she met another visitor, Mr. Thompson, who was visiting from London. They exchanged tips on gardening and shared contact information: Mr. Thompson's address was 492, Pine Lane, and his cell phone number was +018.221.431-4517. Alice gave her contact details: home address, Ranch 16\",\n \"Hiroshi Tanaka, a businessman from Tokyo, Japan, went to attend a tech expo at the Berlin Convention Center on November 10, 2023. He registered for the event at 9 AM using his digital passport, number Q-24567680. Hiroshi networked with industry professionals, participated in panel discussions, and had lunch with some potential partners. One of the partners he met was from Munich, and they decided to keep in touch: the partner's office address was given as house No. 12, Road 7, Block E. Hiroshi offered his business card with the address, 654 Sakura Road, Tokyo.\",\n \"In an online forum discussion about culinary exchanges around the world, several participants shared their experiences. One user, Male, with the email 2022johndoe@example.com, shared his insights. He mentioned his ID code 1A2B3C4D5E and reference number L87654321 while residing in Italy but originally from Australia. He provided his +0-777-123-4567 and described his address at 456, Flavorful Lane, Pasta, IT, 00100.\",\n \"Another user joined the conversation on the topic of international volunteering opportunities. Identified as Female, she used the email 2023janedoe@example.com to share her story. She noted her 9876543210123 and M1234567890123 while residing in Germany but originally from Brazil. She provided her +0-333-987-6543 and described her address at 789, Sunny Side Street, Berlin, DE, 10178.\",\n]\n","from model import PIIMasker\n\nmasker = PIIMasker()\n","masked_results = []\nfor full_text in text_lines:\n masked_text, _ = masker.mask_pii(full_text)\n masked_results.append(masked_text)\n\nfor res in masked_results:\n print(res + \"\\n\")\n","from openai import OpenAI\n\nopenai_client = OpenAI()\n","def emb_text(text):\n return (\n openai_client.embeddings.create(input=text, model=\"text-embedding-3-small\")\n .data[0]\n .embedding\n )\n","test_embedding = emb_text(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n","collection_name = \"my_rag_collection\"\n\nif milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\nfor i, line in enumerate(tqdm(masked_results, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": emb_text(line), \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"What was the office address of Hiroshi's partner from Munich?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n emb_text(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=1, # Return top 1 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided. If there are no useful information in the snippets, just say \"I don't know\".\nAI:\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = openai_client.chat.completions.create(\n model=\"gpt-4o-mini\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus + PII Masker","anchorList":[{"label":"Build RAG with Milvus + PII Masker","href":"Build-RAG-with-Milvus-+-PII-Masker","type":1,"isActive":false},{"label":"Preparation","href":"Preparation","type":2,"isActive":false},{"label":"Load data into Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"Build RAG","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ git clone https://github.com/HydroXai/pii-masker-v1.git\n$ cd pii-masker-v1/pii-masker\n","$ pip install --upgrade pymilvus openai requests tqdm dataset\n","$ export OPENAI_API_KEY=sk-***********\n","text_lines = [\n \"Alice Johnson, a resident of Dublin, Ireland, attended a flower festival at Hyde Park on May 15, 2023. She entered the park at noon using her digital passport, number 23456789. Alice spent the afternoon admiring various flowers and plants, attending a gardening workshop, and having a light snack at one of the food stalls. While there, she met another visitor, Mr. Thompson, who was visiting from London. They exchanged tips on gardening and shared contact information: Mr. Thompson's address was 492, Pine Lane, and his cell phone number was +018.221.431-4517. Alice gave her contact details: home address, Ranch 16\",\n \"Hiroshi Tanaka, a businessman from Tokyo, Japan, went to attend a tech expo at the Berlin Convention Center on November 10, 2023. He registered for the event at 9 AM using his digital passport, number Q-24567680. Hiroshi networked with industry professionals, participated in panel discussions, and had lunch with some potential partners. One of the partners he met was from Munich, and they decided to keep in touch: the partner's office address was given as house No. 12, Road 7, Block E. Hiroshi offered his business card with the address, 654 Sakura Road, Tokyo.\",\n \"In an online forum discussion about culinary exchanges around the world, several participants shared their experiences. One user, Male, with the email 2022johndoe@example.com, shared his insights. He mentioned his ID code 1A2B3C4D5E and reference number L87654321 while residing in Italy but originally from Australia. He provided his +0-777-123-4567 and described his address at 456, Flavorful Lane, Pasta, IT, 00100.\",\n \"Another user joined the conversation on the topic of international volunteering opportunities. Identified as Female, she used the email 2023janedoe@example.com to share her story. She noted her 9876543210123 and M1234567890123 while residing in Germany but originally from Brazil. She provided her +0-333-987-6543 and described her address at 789, Sunny Side Street, Berlin, DE, 10178.\",\n]\n","from model import PIIMasker\n\nmasker = PIIMasker()\n","masked_results = []\nfor full_text in text_lines:\n masked_text, _ = masker.mask_pii(full_text)\n masked_results.append(masked_text)\n\nfor res in masked_results:\n print(res + \"\\n\")\n","from openai import OpenAI\n\nopenai_client = OpenAI()\n","def emb_text(text):\n return (\n openai_client.embeddings.create(input=text, model=\"text-embedding-3-small\")\n .data[0]\n .embedding\n )\n","test_embedding = emb_text(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n","collection_name = \"my_rag_collection\"\n\nif milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\nfor i, line in enumerate(tqdm(masked_results, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": emb_text(line), \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"What was the office address of Hiroshi's partner from Munich?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n emb_text(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=1, # Return top 1 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided. If there are no useful information in the snippets, just say \"I don't know\".\nAI:\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = openai_client.chat.completions.create(\n model=\"gpt-4o-mini\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus + PII Masker","anchorList":[{"label":"RAG mit Milvus + PII Masker aufbauen","href":"Build-RAG-with-Milvus-+-PII-Masker","type":1,"isActive":false},{"label":"Vorbereitung","href":"Preparation","type":2,"isActive":false},{"label":"Laden der Daten in Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"RAG erstellen","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.md b/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.md
index ef5645570..a67ad17b3 100644
--- a/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.md
+++ b/localization/v2.5.x/site/de/integrations/RAG_with_pii_and_milvus.md
@@ -1,11 +1,11 @@
---
id: RAG_with_pii_and_milvus.md
summary: >-
- In this tutorial, we will show you how to build a RAG(Retrieval-Augmented
- Generation) pipeline with Milvus and PII Masker.
-title: Build RAG with Milvus + PII Masker
+ In diesem Tutorial zeigen wir Ihnen, wie Sie eine RAG-Pipeline
+ (Retrieval-Augmented Generation) mit Milvus und PII Masker aufbauen können.
+title: RAG mit Milvus + PII Masker aufbauen
---
-
Build RAG with Milvus + PII Masker
+
RAG mit Milvus + PII Masker aufbauen
-
PII (Personally Identifiable Information) is a type of sensitive data that can be used to identify individuals.
-
PII Masker, developed by HydroX AI, is an advanced open-source tool designed to protect your sensitive data by leveraging cutting-edge AI models. Whether you’re handling customer data, performing data analysis, or ensuring compliance with privacy regulations, PII Masker provides a robust, scalable solution to keep your information secure.
-
In this tutorial, we will show how to use PII Masker with Milvus to protect private data in RAG(Retrieval-Augmented Generation) applications. By combining the strengths of PII Masker’s data masking capabilities with Milvus’s efficient data retrieval, you can create secure, privacy-compliant pipelines for handling sensitive information with confidence. This approach ensures your applications are equipped to meet privacy standards and protect user data effectively.
-
Preparation
+
PII (Personally Identifiable Information) ist eine Art von sensiblen Daten, die zur Identifizierung von Personen verwendet werden können.
+
PII Masker, entwickelt von HydroX AI, ist ein fortschrittliches Open-Source-Tool zum Schutz Ihrer sensiblen Daten durch den Einsatz modernster KI-Modelle. Ganz gleich, ob Sie mit Kundendaten umgehen, Datenanalysen durchführen oder die Einhaltung von Datenschutzbestimmungen sicherstellen wollen, PII Masker bietet eine robuste, skalierbare Lösung, um Ihre Informationen zu schützen.
+
In diesem Tutorial zeigen wir Ihnen, wie Sie PII Masker mit Milvus verwenden, um private Daten in RAG-Anwendungen (Retrieval-Augmented Generation) zu schützen. Durch die Kombination der Stärken der Datenmaskierungsfunktionen von PII Masker mit dem effizienten Datenabruf von Milvus können Sie sichere, datenschutzkonforme Pipelines für die vertrauensvolle Verarbeitung sensibler Informationen erstellen. Dieser Ansatz stellt sicher, dass Ihre Anwendungen die Datenschutzstandards erfüllen und die Benutzerdaten effektiv schützen.
+
Vorbereitung
-
Get started with PII Masker
Follow the installation guide of PII Masker to install the required dependencies and download the model. Here is a simple guide:
+
Erste Schritte mit PII Masker
Folgen Sie der Installationsanleitung von PII Masker, um die erforderlichen Abhängigkeiten zu installieren und das Modell herunterzuladen. Hier ist eine einfache Anleitung:
$ git clone https://github.com/HydroXai/pii-masker-v1.git
$ cd pii-masker-v1/pii-masker
-
Download model from
-https://huggingface.co/hydroxai/pii_model_weight, and replace it with files in: pii-masker/output_model/deberta3base_1024/
Laden Sie das Modell vonhttps://huggingface.co/hydroxai/pii_model_weight herunter, und ersetzen Sie es durch die Dateien in: pii-masker/output_model/deberta3base_1024/
We will use OpenAI as the LLM in this example. You should prepare the api keyOPENAI_API_KEY as an environment variable.
+
Wir werden in diesem Beispiel OpenAI als LLM verwenden. Sie sollten den Api-SchlüsselOPENAI_API_KEY als Umgebungsvariable vorbereiten.
$ exportOPENAI_API_KEY=sk-***********
-
Then you can create a python or jupyter notebook to run the following code.
-
Prepare the data
Let’s generate some fake lines which contain PII information for testing or demonstration purposes.
+
Dann können Sie ein Python oder Jupyter-Notebook erstellen, um den folgenden Code auszuführen.
+
Bereiten Sie die Daten vor
Lassen Sie uns einige gefälschte Zeilen erzeugen, die PII-Informationen zu Test- oder Demonstrationszwecken enthalten.
text_lines = [
"Alice Johnson, a resident of Dublin, Ireland, attended a flower festival at Hyde Park on May 15, 2023. She entered the park at noon using her digital passport, number 23456789. Alice spent the afternoon admiring various flowers and plants, attending a gardening workshop, and having a light snack at one of the food stalls. While there, she met another visitor, Mr. Thompson, who was visiting from London. They exchanged tips on gardening and shared contact information: Mr. Thompson's address was 492, Pine Lane, and his cell phone number was +018.221.431-4517. Alice gave her contact details: home address, Ranch 16",
"Hiroshi Tanaka, a businessman from Tokyo, Japan, went to attend a tech expo at the Berlin Convention Center on November 10, 2023. He registered for the event at 9 AM using his digital passport, number Q-24567680. Hiroshi networked with industry professionals, participated in panel discussions, and had lunch with some potential partners. One of the partners he met was from Munich, and they decided to keep in touch: the partner's office address was given as house No. 12, Road 7, Block E. Hiroshi offered his business card with the address, 654 Sakura Road, Tokyo.",
@@ -58,12 +57,12 @@ $ cd pii-masker-v1/pii-masker
"Another user joined the conversation on the topic of international volunteering opportunities. Identified as Female, she used the email 2023janedoe@example.com to share her story. She noted her 9876543210123 and M1234567890123 while residing in Germany but originally from Brazil. She provided her +0-333-987-6543 and described her address at 789, Sunny Side Street, Berlin, DE, 10178.",
]
-
Mask the data with PIIMasker
Let’s initialize the PIIMasker object and load the model.
+
Maskieren Sie die Daten mit PIIMasker
Initialisieren wir das PIIMasker-Objekt und laden wir das Modell.
from model importPIIMasker
masker = PIIMasker()
-
We then masks PII from a list of text lines and prints the masked results.
+
Anschließend maskieren wir PII aus einer Liste von Textzeilen und drucken die maskierten Ergebnisse aus.
masked_results = []
for full_text in text_lines:
masked_text, _ = masker.mask_pii(full_text)
@@ -80,12 +79,12 @@ In an online forum discussion about culinary exchanges around the world [I-STREE
Another user joined the conversation on topic of international volunteering opportunities . Identified as Female , she used email 2023 [B-EMAIL] share her story She noted 98 [B-ID_NUM] [I-PHONE_NUM] M [B-ID_NUM] residing in Germany but originally from Brazil provided + [B-PHONE_NUM] [I-PHONE_NUM] described address at 789 [I-STREET_ADDRESS] DE 10 178
-
Prepare the Embedding Model
We initialize the OpenAI client to prepare the embedding model.
+
Vorbereiten des Einbettungsmodells
Wir initialisieren den OpenAI-Client, um das Einbettungsmodell vorzubereiten.
from openai importOpenAI
openai_client = OpenAI()
-
Define a function to generate text embeddings using OpenAI client. We use the text-embedding-3-small model as an example.
+
Definieren Sie eine Funktion zur Erzeugung von Texteinbettungen mit dem OpenAI-Client. Wir verwenden das Modell text-embedding-3-small als Beispiel.
from pymilvus importMilvusClient
milvus_client = MilvusClient(uri="./milvus_demo.db")
-
As for the argument of MilvusClient:
+
Wie für das Argument von MilvusClient:
-
Setting the uri as a local file, e.g../milvus.db, is the most convenient method, as it automatically utilizes Milvus Lite to store all data in this file.
-
If you have large scale of data, say more than a million vectors, you can set up a more performant Milvus server on Docker or Kubernetes. In this setup, please use the server address and port as your uri, e.g.http://localhost:19530. If you enable the authentication feature on Milvus, use “<your_username>:<your_password>” as the token, otherwise don’t set the token.
-
If you want to use Zilliz Cloud, the fully managed cloud service for Milvus, adjust the uri and token, which correspond to the Public Endpoint and Api key in Zilliz Cloud.
+
Das Einstellen von uri als lokale Datei, z.B../milvus.db, ist die bequemste Methode, da sie automatisch Milvus Lite verwendet, um alle Daten in dieser Datei zu speichern.
+
Wenn Sie große Datenmengen haben, z. B. mehr als eine Million Vektoren, können Sie einen leistungsfähigeren 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, verwenden Sie "<Ihr_Benutzername>:<Ihr_Passwort>" als Token, andernfalls setzen Sie das Token nicht.
Create a new collection with specified parameters.
-
If we don’t specify any field information, Milvus will automatically create a default id field for primary key, and a vector field to store the vector data. A reserved JSON field is used to store non-schema-defined fields and their values.
+
Erstellen Sie eine neue Sammlung mit den angegebenen Parametern.
+
Wenn wir keine Feldinformationen angeben, erstellt Milvus automatisch ein Standardfeld id für den Primärschlüssel und ein Feld vector zum Speichern der Vektordaten. Ein reserviertes JSON-Feld wird verwendet, um nicht schema-definierte Felder und ihre Werte zu speichern.
Iterate through the masked text lines, create embeddings, and then insert the data into Milvus.
-
Here is a new field text, which is a non-defined field in the collection schema. It will be automatically added to the reserved JSON dynamic field, which can be treated as a normal field at a high level.
+
Daten einfügen
Iterieren Sie durch die maskierten Textzeilen, erstellen Sie Einbettungen und fügen Sie dann die Daten in Milvus ein.
+
Hier ist ein neues Feld text, das ein nicht definiertes Feld im Sammelschema ist. Es wird automatisch dem reservierten dynamischen JSON-Feld hinzugefügt, das auf hoher Ebene wie ein normales Feld behandelt werden kann.
Convert the retrieved documents into a string format.
+
LLM verwenden, um eine RAG-Antwort zu erhalten
Konvertieren Sie die abgerufenen Dokumente in ein String-Format.
context = "\n".join(
[line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]
)
-
Define system and user prompts for the Lanage Model.
-
Note: We tell LLM if there are no useful information in the snippets, just say "I don’t know".
+
Definieren Sie System- und Benutzeraufforderungen für das Lanage Model.
+
Hinweis: Wir sagen dem LLM, wenn es keine nützlichen Informationen in den Snippets gibt, sagen Sie einfach "Ich weiß es nicht".
SYSTEM_PROMPT = """
Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided. If there are no useful information in the snippets, just say "I don't know".
AI:
@@ -228,7 +227,7 @@ Use the following pieces of information enclosed in <context> tags to prov
</question>
"""
-
Use OpenAI ChatGPT to generate a response based on the prompts.
+
Verwenden Sie OpenAI ChatGPT, um eine Antwort auf der Grundlage der Eingabeaufforderungen zu generieren.
response = openai_client.chat.completions.create(
model="gpt-4o-mini",
messages=[
@@ -240,5 +239,4 @@ Use the following pieces of information enclosed in <context> tags to prov
I don't know.
-
Here we can see, since we have replace the PII with masks, the LLM can not get the PII information in context. So it answers: "I don’t know".
-Through this way, we can effectively protect the privacy of users.
+
Hier können wir sehen, dass, da wir die PII durch Masken ersetzt haben, der LLM die PII-Informationen nicht im Kontext erhalten kann. So antwortet er: "Ich weiß es nicht". Auf diese Weise können wir die Privatsphäre der Benutzer wirksam schützen.
diff --git a/localization/v2.5.x/site/de/integrations/apify_milvus_rag.json b/localization/v2.5.x/site/de/integrations/apify_milvus_rag.json
index 2a0d1b55f..b00690b25 100644
--- a/localization/v2.5.x/site/de/integrations/apify_milvus_rag.json
+++ b/localization/v2.5.x/site/de/integrations/apify_milvus_rag.json
@@ -1 +1 @@
-{"codeList":["$ pip install --upgrade --quiet apify==1.7.2 langchain-core==0.3.5 langchain-milvus==0.1.5 langchain-openai==0.2.0\n","import os\nfrom getpass import getpass\n\nos.environ[\"APIFY_API_TOKEN\"] = getpass(\"Enter YOUR APIFY_API_TOKEN\")\nos.environ[\"OPENAI_API_KEY\"] = getpass(\"Enter YOUR OPENAI_API_KEY\")\n","os.environ[\"MILVUS_URI\"] = getpass(\"Enter YOUR MILVUS_URI\")\nos.environ[\"MILVUS_TOKEN\"] = getpass(\"Enter YOUR MILVUS_TOKEN\")\n\nMILVUS_COLLECTION_NAME = \"apify\"\n","from apify_client import ApifyClient\n\nclient = ApifyClient(os.getenv(\"APIFY_API_TOKEN\"))\n\nactor_id = \"apify/website-content-crawler\"\nrun_input = {\n \"crawlerType\": \"cheerio\",\n \"maxCrawlPages\": 10,\n \"startUrls\": [{\"url\": \"https://milvus.io/\"}, {\"url\": \"https://zilliz.com/\"}],\n}\n\nactor_call = client.actor(actor_id).call(run_input=run_input)\n","dataset_id = actor_call[\"defaultDatasetId\"]\ndataset_id\n","item = client.dataset(dataset_id).list_items(limit=1).items\nitem[0].get(\"text\")\n","milvus_integration_inputs = {\n \"milvusUri\": os.getenv(\"MILVUS_URI\"),\n \"milvusToken\": os.getenv(\"MILVUS_TOKEN\"),\n \"milvusCollectionName\": MILVUS_COLLECTION_NAME,\n \"datasetFields\": [\"text\", \"metadata.title\"],\n \"datasetId\": actor_call[\"defaultDatasetId\"],\n \"performChunking\": True,\n \"embeddingsApiKey\": os.getenv(\"OPENAI_API_KEY\"),\n \"embeddingsProvider\": \"OpenAI\",\n}\n","actor_call = client.actor(\"apify/milvus-integration\").call(\n run_input=milvus_integration_inputs\n)\n","from langchain_core.output_parsers import StrOutputParser\nfrom langchain_core.prompts import PromptTemplate\nfrom langchain_core.runnables import RunnablePassthrough\nfrom langchain_milvus.vectorstores import Milvus\nfrom langchain_openai import ChatOpenAI, OpenAIEmbeddings\n\nembeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n\nvectorstore = Milvus(\n connection_args={\n \"uri\": os.getenv(\"MILVUS_URI\"),\n \"token\": os.getenv(\"MILVUS_TOKEN\"),\n },\n embedding_function=embeddings,\n collection_name=MILVUS_COLLECTION_NAME,\n)\n\nprompt = PromptTemplate(\n input_variables=[\"context\", \"question\"],\n template=\"Use the following pieces of retrieved context to answer the question. If you don't know the answer, \"\n \"just say that you don't know. \\nQuestion: {question} \\nContext: {context} \\nAnswer:\",\n)\n\n\ndef format_docs(docs):\n return \"\\n\\n\".join(doc.page_content for doc in docs)\n\n\nrag_chain = (\n {\n \"context\": vectorstore.as_retriever() | format_docs,\n \"question\": RunnablePassthrough(),\n }\n | prompt\n | ChatOpenAI(model=\"gpt-4o-mini\")\n | StrOutputParser()\n)\n","question = \"What is Milvus database?\"\n\nrag_chain.invoke(question)\n"],"headingContent":"Retrieval-Augmented Generation: Crawling Websites with Apify and Saving Data to Milvus for Question Answering","anchorList":[{"label":"Retrieval-Augmented Generation: Crawling Websites with Apify and Saving Data to Milvus for Question Answering","href":"Retrieval-Augmented-Generation-Crawling-Websites-with-Apify-and-Saving-Data-to-Milvus-for-Question-Answering","type":1,"isActive":false},{"label":"Before you begin","href":"Before-you-begin","type":1,"isActive":false},{"label":"Install dependencies","href":"Install-dependencies","type":2,"isActive":false},{"label":"Set up Apify and Open API keys","href":"Set-up-Apify-and-Open-API-keys","type":2,"isActive":false},{"label":"Set up Milvus/Zilliz URI, token and collection name","href":"Set-up-MilvusZilliz-URI-token-and-collection-name","type":2,"isActive":false},{"label":"Using the Website Content Crawler to scrape text content from Milvus.io","href":"Using-the-Website-Content-Crawler-to-scrape-text-content-from-Milvusio","type":2,"isActive":false},{"label":"Retrieval and LLM generative pipeline","href":"Retrieval-and-LLM-generative-pipeline","type":1,"isActive":false},{"label":"Conclusion","href":"Conclusion","type":1,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ pip install --upgrade --quiet apify==1.7.2 langchain-core==0.3.5 langchain-milvus==0.1.5 langchain-openai==0.2.0\n","import os\nfrom getpass import getpass\n\nos.environ[\"APIFY_API_TOKEN\"] = getpass(\"Enter YOUR APIFY_API_TOKEN\")\nos.environ[\"OPENAI_API_KEY\"] = getpass(\"Enter YOUR OPENAI_API_KEY\")\n","os.environ[\"MILVUS_URI\"] = getpass(\"Enter YOUR MILVUS_URI\")\nos.environ[\"MILVUS_TOKEN\"] = getpass(\"Enter YOUR MILVUS_TOKEN\")\n\nMILVUS_COLLECTION_NAME = \"apify\"\n","from apify_client import ApifyClient\n\nclient = ApifyClient(os.getenv(\"APIFY_API_TOKEN\"))\n\nactor_id = \"apify/website-content-crawler\"\nrun_input = {\n \"crawlerType\": \"cheerio\",\n \"maxCrawlPages\": 10,\n \"startUrls\": [{\"url\": \"https://milvus.io/\"}, {\"url\": \"https://zilliz.com/\"}],\n}\n\nactor_call = client.actor(actor_id).call(run_input=run_input)\n","dataset_id = actor_call[\"defaultDatasetId\"]\ndataset_id\n","item = client.dataset(dataset_id).list_items(limit=1).items\nitem[0].get(\"text\")\n","milvus_integration_inputs = {\n \"milvusUri\": os.getenv(\"MILVUS_URI\"),\n \"milvusToken\": os.getenv(\"MILVUS_TOKEN\"),\n \"milvusCollectionName\": MILVUS_COLLECTION_NAME,\n \"datasetFields\": [\"text\", \"metadata.title\"],\n \"datasetId\": actor_call[\"defaultDatasetId\"],\n \"performChunking\": True,\n \"embeddingsApiKey\": os.getenv(\"OPENAI_API_KEY\"),\n \"embeddingsProvider\": \"OpenAI\",\n}\n","actor_call = client.actor(\"apify/milvus-integration\").call(\n run_input=milvus_integration_inputs\n)\n","from langchain_core.output_parsers import StrOutputParser\nfrom langchain_core.prompts import PromptTemplate\nfrom langchain_core.runnables import RunnablePassthrough\nfrom langchain_milvus.vectorstores import Milvus\nfrom langchain_openai import ChatOpenAI, OpenAIEmbeddings\n\nembeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n\nvectorstore = Milvus(\n connection_args={\n \"uri\": os.getenv(\"MILVUS_URI\"),\n \"token\": os.getenv(\"MILVUS_TOKEN\"),\n },\n embedding_function=embeddings,\n collection_name=MILVUS_COLLECTION_NAME,\n)\n\nprompt = PromptTemplate(\n input_variables=[\"context\", \"question\"],\n template=\"Use the following pieces of retrieved context to answer the question. If you don't know the answer, \"\n \"just say that you don't know. \\nQuestion: {question} \\nContext: {context} \\nAnswer:\",\n)\n\n\ndef format_docs(docs):\n return \"\\n\\n\".join(doc.page_content for doc in docs)\n\n\nrag_chain = (\n {\n \"context\": vectorstore.as_retriever() | format_docs,\n \"question\": RunnablePassthrough(),\n }\n | prompt\n | ChatOpenAI(model=\"gpt-4o-mini\")\n | StrOutputParser()\n)\n","question = \"What is Milvus database?\"\n\nrag_chain.invoke(question)\n"],"headingContent":"Retrieval-Augmented Generation: Crawling Websites with Apify and Saving Data to Milvus for Question Answering","anchorList":[{"label":"Retrieval-erweiterte Generierung: Crawlen von Websites mit Apify und Speichern der Daten in Milvus für die Beantwortung von Fragen","href":"Retrieval-Augmented-Generation-Crawling-Websites-with-Apify-and-Saving-Data-to-Milvus-for-Question-Answering","type":1,"isActive":false},{"label":"Bevor Sie beginnen","href":"Before-you-begin","type":1,"isActive":false},{"label":"Abhängigkeiten installieren","href":"Install-dependencies","type":2,"isActive":false},{"label":"Apify und Open API Schlüssel einrichten","href":"Set-up-Apify-and-Open-API-keys","type":2,"isActive":false},{"label":"Einrichten von Milvus/Zilliz URI, Token und Sammlungsname","href":"Set-up-MilvusZilliz-URI-token-and-collection-name","type":2,"isActive":false},{"label":"Verwendung des Website Content Crawlers zum Scrapen von Textinhalten von Milvus.io","href":"Using-the-Website-Content-Crawler-to-scrape-text-content-from-Milvusio","type":2,"isActive":false},{"label":"Abfrage und generative LLM-Pipeline","href":"Retrieval-and-LLM-generative-pipeline","type":1,"isActive":false},{"label":"Schlussfolgerung","href":"Conclusion","type":1,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/apify_milvus_rag.md b/localization/v2.5.x/site/de/integrations/apify_milvus_rag.md
index 60dfce9dd..da20232ba 100644
--- a/localization/v2.5.x/site/de/integrations/apify_milvus_rag.md
+++ b/localization/v2.5.x/site/de/integrations/apify_milvus_rag.md
@@ -1,14 +1,14 @@
---
id: apify_milvus_rag.md
summary: >-
- This tutorial explains how to crawl websites using Apify's Website Content
- Crawler and save the data into Milvus/Zilliz vector database to be later used
- for question answering.
+ Dieses Tutorial erklärt, wie man mit Apify's Website Content Crawler Webseiten
+ crawlt und die Daten in der Milvus/Zilliz Vektor-Datenbank speichert, um sie
+ später zur Beantwortung von Fragen zu verwenden.
title: >-
- Retrieval-Augmented Generation: Crawling Websites with Apify and Saving Data
- to Milvus for Question Answering
+ Retrieval-erweiterte Generierung: Crawlen von Websites mit Apify und Speichern
+ der Daten in Milvus für die Beantwortung von Fragen
---
-
Retrieval-Augmented Generation: Crawling Websites with Apify and Saving Data to Milvus for Question Answering
+
Retrieval-erweiterte Generierung: Crawlen von Websites mit Apify und Speichern der Daten in Milvus für die Beantwortung von Fragen-
>
-
This tutorial explains how to crawl websites using Apify’s Website Content Crawler and save the data into Milvus/Zilliz vector database to be later used for question answering.
-
Apify is a web scraping and data extraction platform that offers an app marketplace with over two thousand ready-made cloud tools, known as Actors. These tools are ideal for use cases such as extracting structured data from e-commerce websites, social media, search engines, online maps, and more.
-
For example, the Website Content Crawler Actor can deeply crawl websites, clean their HTML by removing a cookies modal, footer, or navigation, and then transform the HTML into Markdown.
-
The Apify integration for Milvus/Zilliz makes it easy to upload data from the web to the vector database.
-
Before you begin
+
In diesem Tutorial wird erklärt, wie man Websites mit dem Website Content Crawler von Apify crawlt und die Daten in der Vektordatenbank Milvus/Zilliz speichert, um sie später für die Beantwortung von Fragen zu verwenden.
+
Apify ist eine Plattform für Web-Scraping und Datenextraktion, die einen App-Marktplatz mit über zweitausend vorgefertigten Cloud-Tools, den so genannten Actors, bietet. Diese Tools sind ideal für Anwendungsfälle wie die Extraktion strukturierter Daten aus E-Commerce-Websites, sozialen Medien, Suchmaschinen, Online-Karten und mehr.
+
Der Website Content Crawler Actor kann beispielsweise Websites tiefgehend crawlen, ihr HTML bereinigen, indem er ein Cookie-Modal, eine Fußzeile oder die Navigation entfernt, und dann das HTML in Markdown umwandeln.
+
Die Apify-Integration für Milvus/Zilliz macht es einfach, Daten aus dem Web in die Vektordatenbank hochzuladen.
Apify und Open API Schlüssel einrichtenenviron["OP
Enter YOUR APIFY_API_TOKEN··········
Enter YOUR OPENAI_API_KEY··········
-
Set up Milvus/Zilliz URI, token and collection name
+
Einrichten von Milvus/Zilliz URI, Token und Sammlungsname
-
You need the URI and Token of your Milvus/Zilliz to setup the client.
+
Sie benötigen die URI und das Token Ihres Milvus/Zilliz, um den Client einzurichten.
-
If you have self-deployed Milvus server on Docker or Kubernetes, use the server address and port as your uri, e.g.http://localhost:19530. If you enable the authentication feature on Milvus, use “<your_username>:<your_password>” as the token, otherwise leave the token as empty string.
-
If you use Zilliz Cloud, the fully managed cloud service for Milvus, adjust the uri and token, which correspond to the Public Endpoint and API key in Zilliz Cloud.
+
Wenn Sie den Milvus-Server selbst auf Docker oder Kubernetes installiert haben, verwenden Sie die Serveradresse und den Port als URI, z. B.http://localhost:19530. Wenn Sie die Authentifizierungsfunktion auf Milvus aktivieren, verwenden Sie "<Ihr_Benutzername>:<Ihr_Passwort>" als Token, andernfalls lassen Sie das Token als leere Zeichenfolge.
Note that the collection does not need to exist beforehand. It will be automatically created when data is uploaded to the database.
+
Beachten Sie, dass die Sammlung nicht vorher existieren muss. Sie wird automatisch erstellt, wenn die Daten in die Datenbank hochgeladen werden.
os.environ["MILVUS_URI"] = getpass("Enter YOUR MILVUS_URI")
os.environ["MILVUS_TOKEN"] = getpass("Enter YOUR MILVUS_TOKEN")
@@ -120,7 +120,7 @@ os.environ["MI
Enter YOUR MILVUS_URI··········
Enter YOUR MILVUS_TOKEN··········
-
Using the Website Content Crawler to scrape text content from Milvus.io
+
Verwendung des Website Content Crawlers zum Scrapen von Textinhalten von Milvus.io
-
Next, we’ll use the Website Content Crawler with the Apify Python SDK. We’ll start by defining the actor_id and run_input, then specify the information that will be saved to the vector database.
-
The actor_id="apify/website-content-crawler" is the identifier for the Website Content Crawler. The crawler’s behavior can be fully controlled via the run_input parameters (see the input page for more details). In this example, we’ll be crawling the Milvus documentation, which doesn’t require JavaScript rendering. Therefore, we set crawlerType=cheerio, define startUrls, and limit the number of crawled pages by setting maxCrawlPages=10.
+
Als nächstes werden wir den Website Content Crawler mit dem Apify Python SDK verwenden. Wir beginnen mit der Definition von actor_id und run_input und geben dann die Informationen an, die in der Vektordatenbank gespeichert werden sollen.
+
Die actor_id="apify/website-content-crawler" ist der Bezeichner für den Website Content Crawler. Das Verhalten des Crawlers kann vollständig über die run_input-Parameter gesteuert werden (weitere Einzelheiten finden Sie auf der Input-Seite ). In diesem Beispiel wird die Milvus-Dokumentation gecrawlt, für die kein JavaScript-Rendering erforderlich ist. Daher setzen wir crawlerType=cheerio, definieren startUrls, und begrenzen die Anzahl der gecrawlten Seiten durch die Einstellung maxCrawlPages=10.
The Website Content Crawler will thoroughly crawl the site until it reaches the predefined limit set by maxCrawlPages. The scraped data will be stored in a Dataset on the Apify platform. To access and analyze this data, you can use the defaultDatasetId
+
Der Website Content Crawler wird die Website gründlich crawlen, bis er die vordefinierte Grenze erreicht, die durch maxCrawlPages festgelegt wurde. Die gecrawlten Daten werden in einem Dataset auf der Apify-Plattform gespeichert. Um auf diese Daten zuzugreifen und sie zu analysieren, können Sie den defaultDatasetId
'The High-Performance Vector Database Built for Scale\nStart running Milvus in seconds\nfrom pymilvus import MilvusClient client = MilvusClient("milvus_demo.db") client.create_collection( collection_name="demo_collection", dimension=5 )\nDeployment Options to Match Your Unique Journey\nMilvus Lite\nLightweight, easy to start\nVectorDB-as-a-library runs in notebooks/ laptops with a pip install\nBest for learning and prototyping\nMilvus Standalone\nRobust, single-machine deployment\nComplete vector database for production or testing\nIdeal for datasets with up to millions of vectors\nMilvus Distributed\nScalable, enterprise-grade solution\nHighly reliable and distributed vector database with comprehensive toolkit\nScale horizontally to handle billions of vectors\nZilliz Cloud\nFully managed with minimal operations\nAvailable in both serverless and dedicated cluster\nSaaS and BYOC options for different security and compliance requirements\nTry Free\nLearn more about different Milvus deployment models\nLoved by GenAI developers\nBased on our research, Milvus was selected as the vector database of choice (over Chroma and Pinecone). Milvus is an open-source vector database designed specifically for similarity search on massive datasets of high-dimensional vectors.\nWith its focus on efficient vector similarity search, Milvus empowers you to build robust and scalable image retrieval systems. Whether you’re managing a personal photo library or developing a commercial image search application, Milvus offers a powerful foundation for unlocking the hidden potential within your image collections.\nBhargav Mankad\nSenior Solution Architect\nMilvus is a powerful vector database tailored for processing and searching extensive vector data. It stands out for its high performance and scalability, rendering it perfect for machine learning, deep learning, similarity search tasks, and recommendation systems.\nIgor Gorbenko\nBig Data Architect\nStart building your GenAI app now\nGuided with notebooks developed by us and our community\nRAG\nTry Now\nImage Search\nTry Now\nMultimodal Search\nTry Now\nUnstructured Data Meetups\nJoin a Community of Passionate Developers and Engineers Dedicated to Gen AI.\nRSVP now\nWhy Developers Prefer Milvus for Vector Databases\nScale as needed\nElastic scaling to tens of billions of vectors with distributed architecture.\nBlazing fast\nRetrieve data quickly and accurately with Global Index, regardless of scale.\nReusable Code\nWrite once, and deploy with one line of code into the production environment.\nFeature-rich\nMetadata filtering, hybrid search, multi-vector and more.\nWant to learn more about Milvus? View our documentation\nJoin the community of developers building GenAI apps with Milvus, now with over 25 million downloads\nGet Milvus Updates\nSubscribe to get updates on the latest Milvus releases, tutorials and training from Zilliz, the creator and key maintainer of Milvus.'
-
To upload data into the Milvus database, we use the Apify Milvus integration. First, we need to set up the parameter for the Milvus database. Next, we select the fields (datasetFields) that we want to store in the database. In the example below, we are saving the text field and metadata.title.
+
Um Daten in die Milvus-Datenbank hochzuladen, verwenden wir die Apify Milvus-Integration. Zunächst müssen wir die Parameter für die Milvus-Datenbank einrichten. Anschließend wählen wir die Felder (datasetFields) aus, die wir in der Datenbank speichern möchten. Im folgenden Beispiel speichern wir das Feld text und metadata.title.
Next, we’ll define the retrieval-augmented pipeline using Langchain. The pipeline works in two stages:
+
Als Nächstes definieren wir die Pipeline für die Datenabfrage mit Hilfe von Langchain. Die Pipeline arbeitet in zwei Stufen:
-
Vectorstore (Milvus): Langchain retrieves relevant documents from Milvus by matching query embeddings with stored document embeddings.
-
LLM Response: The retrieved documents provide context for the LLM (e.g., GPT-4) to generate an informed answer.
+
Vectorstore (Milvus): Langchain ruft relevante Dokumente aus Milvus ab, indem es die Einbettungen der Anfrage mit den gespeicherten Dokumenteneinbettungen abgleicht.
+
LLM-Antwort: Die abgerufenen Dokumente liefern den Kontext für den LLM (z. B. GPT-4), um eine fundierte Antwort zu generieren.
'Milvus is an open-source vector database specifically designed for billion-scale vector similarity search. It facilitates efficient management and querying of vector data, which is essential for applications involving unstructured data, such as AI and machine learning. Milvus allows users to perform operations like CRUD (Create, Read, Update, Delete) and vector searches, making it a powerful tool for handling large datasets.'
In this tutorial, we demonstrated how to crawl website content using Apify, store the data in a Milvus vector database, and use a retrieval-augmented pipeline to perform question-answering tasks. By combining Apify’s web scraping capabilities with Milvus/Zilliz for vector storage and Langchain for language models, you can build highly effective information retrieval systems.
-
To improve data collection and updates in the database, the Apify integration offers incremental updates, which updates only new or modified data based on checksums. Additionally, it can automatically remove outdated data that hasn’t been crawled within a specified time. These features help keep your vector database optimized and ensure that your retrieval-augmented pipeline remains efficient and up-to-date with minimal manual effort.
In diesem Tutorial haben wir gezeigt, wie man Website-Inhalte mit Apify crawlt, die Daten in einer Milvus-Vektor-Datenbank speichert und eine Retrieval-erweiterte Pipeline zur Durchführung von Frage-Antwort-Aufgaben verwendet. Durch die Kombination der Web-Scraping-Fähigkeiten von Apify mit Milvus/Zilliz für die Vektorspeicherung und Langchain für Sprachmodelle können Sie hocheffektive Information-Retrieval-Systeme aufbauen.
+
Um die Datenerfassung und -aktualisierung in der Datenbank zu verbessern, bietet die Apify-Integration inkrementelle Updates, bei denen nur neue oder geänderte Daten auf Basis von Prüfsummen aktualisiert werden. Außerdem können veraltete Daten, die nicht innerhalb eines bestimmten Zeitraums gecrawlt wurden, automatisch entfernt werden. Diese Funktionen tragen dazu bei, Ihre Vektordatenbank zu optimieren und sicherzustellen, dass Ihre Retrieval-erweiterte Pipeline mit minimalem manuellen Aufwand effizient und aktuell bleibt.
diff --git a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.json b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.json
index 82cc31e64..f61f499d9 100644
--- a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.json
+++ b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.json
@@ -1 +1 @@
-{"codeList":["$ pip install --upgrade pymilvus openai requests tqdm\n","import os\n\nos.environ[\"FIREWORKS_API_KEY\"] = \"***********\"\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from openai import OpenAI\n\nfireworks_client = OpenAI(\n api_key=os.environ[\"FIREWORKS_API_KEY\"],\n base_url=\"https://api.fireworks.ai/inference/v1\",\n)\n","def emb_text(text):\n return (\n fireworks_client.embeddings.create(\n input=text, model=\"nomic-ai/nomic-embed-text-v1.5\"\n )\n .data[0]\n .embedding\n )\n","test_embedding = emb_text(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\ncollection_name = \"my_rag_collection\"\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\nfor i, line in enumerate(tqdm(text_lines, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": emb_text(line), \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n emb_text(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = fireworks_client.chat.completions.create(\n model=\"accounts/fireworks/models/llama-v3p1-405b-instruct\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus and Fireworks AI","anchorList":[{"label":"Build RAG with Milvus and Fireworks AI","href":"Build-RAG-with-Milvus-and-Fireworks-AI","type":1,"isActive":false},{"label":"Preparation","href":"Preparation","type":2,"isActive":false},{"label":"Load data into Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"Build RAG","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ pip install --upgrade pymilvus openai requests tqdm\n","import os\n\nos.environ[\"FIREWORKS_API_KEY\"] = \"***********\"\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from openai import OpenAI\n\nfireworks_client = OpenAI(\n api_key=os.environ[\"FIREWORKS_API_KEY\"],\n base_url=\"https://api.fireworks.ai/inference/v1\",\n)\n","def emb_text(text):\n return (\n fireworks_client.embeddings.create(\n input=text, model=\"nomic-ai/nomic-embed-text-v1.5\"\n )\n .data[0]\n .embedding\n )\n","test_embedding = emb_text(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\ncollection_name = \"my_rag_collection\"\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\nfor i, line in enumerate(tqdm(text_lines, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": emb_text(line), \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n emb_text(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = fireworks_client.chat.completions.create(\n model=\"accounts/fireworks/models/llama-v3p1-405b-instruct\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus and Fireworks AI","anchorList":[{"label":"RAG mit Milvus und Fireworks AI aufbauen","href":"Build-RAG-with-Milvus-and-Fireworks-AI","type":1,"isActive":false},{"label":"Vorbereitung","href":"Preparation","type":2,"isActive":false},{"label":"Laden der Daten in Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"RAG erstellen","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.md b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.md
index be3179088..37b5595bb 100644
--- a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.md
+++ b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_fireworks.md
@@ -1,11 +1,11 @@
---
id: build_RAG_with_milvus_and_fireworks.md
summary: >-
- In this tutorial, we will show you how to build a RAG (Retrieval-Augmented
- Generation) pipeline with Milvus and Fireworks AI.
-title: Build RAG with Milvus and Fireworks AI
+ In diesem Tutorial zeigen wir Ihnen, wie Sie eine RAG-Pipeline
+ (Retrieval-Augmented Generation) mit Milvus und Fireworks AI aufbauen.
+title: RAG mit Milvus und Fireworks AI aufbauen
---
-
Build RAG with Milvus and Fireworks AI
+
RAG mit Milvus und Fireworks AI aufbauen
-
Fireworks AI is a generative AI inference platform offering industry-leading speed and production-readiness for running and customizing models.
-Fireworks AI provides a variety of generative AI services, including serverless models, on-demand deployments, and fine-tuning capabilities. It offers a comprehensive environment for deploying various AI models, including large language models (LLMs) and embedding models. Fireworks AI aggregates numerous models, enabling users to easily access and utilize these resources without the need for extensive infrastructure setup.
-
In this tutorial, we will show you how to build a RAG (Retrieval-Augmented Generation) pipeline with Milvus and Fireworks AI.
-
Preparation
+
Fireworks AI ist eine generative KI-Inferenzplattform, die branchenführende Geschwindigkeit und Produktionsbereitschaft für die Ausführung und Anpassung von Modellen bietet. Fireworks AI bietet eine Vielzahl von generativen KI-Diensten, einschließlich serverloser Modelle, On-Demand-Bereitstellungen und Feinabstimmungsfunktionen. Es bietet eine umfassende Umgebung für den Einsatz verschiedener KI-Modelle, einschließlich großer Sprachmodelle (LLMs) und Einbettungsmodelle. Fireworks AI fasst zahlreiche Modelle zusammen und ermöglicht den Benutzern den einfachen Zugriff und die Nutzung dieser Ressourcen, ohne dass eine umfangreiche Infrastruktur eingerichtet werden muss.
+
In diesem Tutorial zeigen wir Ihnen, wie Sie eine RAG-Pipeline (Retrieval-Augmented Generation) mit Milvus und Fireworks AI aufbauen.
If you are using Google Colab, to enable dependencies just installed, you may need to restart the runtime (click on the “Runtime” menu at the top of the screen, and select “Restart session” from the dropdown menu).
+
Wenn Sie Google Colab verwenden, müssen Sie möglicherweise die Laufzeitumgebung neu starten, um die gerade installierten Abhängigkeiten zu aktivieren (klicken Sie auf das Menü "Laufzeit" am oberen Bildschirmrand und wählen Sie "Sitzung neu starten" aus dem Dropdown-Menü).
-
Fireworks AI enables the OpenAI-style API. You can login to its official website and prepare the api keyFIREWORKS_API_KEY as an environment variable.
+
Fireworks AI aktiviert die OpenAI-ähnliche API. Sie können sich auf der offiziellen Website anmelden und den API-SchlüsselFIREWORKS_API_KEY als Umgebungsvariable vorbereiten.
import os
os.environ["FIREWORKS_API_KEY"] = "***********"
-
Prepare the data
We use the FAQ pages from the Milvus Documentation 2.4.x as the private knowledge in our RAG, which is a good data source for a simple RAG pipeline.
-
Download the zip file and extract documents to the folder milvus_docs.
+
Bereiten Sie die Daten vor
Wir verwenden die FAQ-Seiten aus der Milvus-Dokumentation 2.4.x als privates Wissen in unserer RAG, was eine gute Datenquelle für eine einfache RAG-Pipeline ist.
+
Laden Sie die Zip-Datei herunter und entpacken Sie die Dokumente in den Ordner milvus_docs.
We load all markdown files from the folder milvus_docs/en/faq. For each document, we just simply use "# " to separate the content in the file, which can roughly separate the content of each main part of the markdown file.
+
Wir laden alle Markdown-Dateien aus dem Ordner milvus_docs/en/faq. Für jedes Dokument verwenden wir einfach "# ", um den Inhalt in der Datei zu trennen, wodurch der Inhalt jedes Hauptteils der Markdown-Datei grob getrennt werden kann.
We initialize a client to prepare the LLM and embedding model. Fireworks AI enables the OpenAI-style API, and you can use the same API with minor adjustments to call the embedding model and the LLM.
+
Vorbereiten des LLM und des Einbettungsmodells
Wir initialisieren einen Client, um das LLM- und Einbettungsmodell vorzubereiten. Fireworks AI ermöglicht die API im Stil von OpenAI, und Sie können dieselbe API mit geringfügigen Anpassungen verwenden, um das Einbettungsmodell und das LLM aufzurufen.
Define a function to generate text embeddings using the client. We use the nomic-ai/nomic-embed-text-v1.5 model as an example.
+
Definieren Sie eine Funktion zur Erzeugung von Texteinbettungen mit Hilfe des Clients. Wir verwenden das Modell nomic-ai/nomic-embed-text-v1.5 als Beispiel.
from pymilvus importMilvusClient
milvus_client = MilvusClient(uri="./milvus_demo.db")
collection_name = "my_rag_collection"
-
As for the argument of MilvusClient:
+
Wie für das Argument von MilvusClient:
-
Setting the uri as a local file, e.g../milvus.db, is the most convenient method, as it automatically utilizes Milvus Lite to store all data in this file.
-
If you have large scale of data, you can set up a more performant Milvus server on docker or kubernetes. In this setup, please use the server uri, e.g.http://localhost:19530, as your uri.
-
If you want to use Zilliz Cloud, the fully managed cloud service for Milvus, adjust the uri and token, which correspond to the Public Endpoint and Api key in Zilliz Cloud.
+
Das Einstellen von uri als lokale Datei, z.B../milvus.db, ist die bequemste Methode, da sie automatisch Milvus Lite verwendet, um alle Daten in dieser Datei zu speichern.
+
Wenn Sie große Datenmengen haben, können Sie einen leistungsfähigeren Milvus-Server auf Docker oder Kubernetes einrichten. Bei dieser Einrichtung verwenden Sie bitte die Server-Uri, z. B.http://localhost:19530, als uri.
Check if the collection already exists and drop it if it does.
+
Prüfen Sie, ob die Sammlung bereits existiert und löschen Sie sie, wenn dies der Fall ist.
if milvus_client.has_collection(collection_name):
milvus_client.drop_collection(collection_name)
-
Create a new collection with specified parameters.
-
If we don’t specify any field information, Milvus will automatically create a default id field for primary key, and a vector field to store the vector data. A reserved JSON field is used to store non-schema-defined fields and their values.
+
Erstellen Sie eine neue Sammlung mit den angegebenen Parametern.
+
Wenn wir keine Feldinformationen angeben, erstellt Milvus automatisch ein Standardfeld id für den Primärschlüssel und ein Feld vector zum Speichern der Vektordaten. Ein reserviertes JSON-Feld wird verwendet, um nicht schema-definierte Felder und ihre Werte zu speichern.
Iterate through the text lines, create embeddings, and then insert the data into Milvus.
-
Here is a new field text, which is a non-defined field in the collection schema. It will be automatically added to the reserved JSON dynamic field, which can be treated as a normal field at a high level.
+
Daten einfügen
Iterieren Sie durch die Textzeilen, erstellen Sie Einbettungen und fügen Sie dann die Daten in Milvus ein.
+
Hier ist ein neues Feld text, das ein nicht definiertes Feld im Sammelschema ist. Es wird automatisch dem reservierten dynamischen JSON-Feld hinzugefügt, das auf hoher Ebene wie ein normales Feld behandelt werden kann.
Convert the retrieved documents into a string format.
+
LLM verwenden, um eine RAG-Antwort zu erhalten
Konvertieren Sie die abgerufenen Dokumente in ein String-Format.
context = "\n".join(
[line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]
)
-
Define system and user prompts for the Lanage Model. This prompt is assembled with the retrieved documents from Milvus.
+
Definieren Sie System- und Benutzer-Prompts für das Lanage Model. Diese Eingabeaufforderung wird mit den abgerufenen Dokumenten von Milvus zusammengestellt.
SYSTEM_PROMPT = """
Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.
"""
@@ -229,7 +228,7 @@ Use the following pieces of information enclosed in <context> tags to prov
</question>
"""
-
Use the llama-v3p1-405b-instruct model provided by Fireworks to generate a response based on the prompts.
+
Verwenden Sie das von Fireworks bereitgestellte llama-v3p1-405b-instruct Modell, um eine Antwort auf der Grundlage der Prompts zu generieren.
response = fireworks_client.chat.completions.create(
model="accounts/fireworks/models/llama-v3p1-405b-instruct",
messages=[
@@ -246,4 +245,4 @@ Use the following pieces of information enclosed in <context> tags to prov
Additionally, when data is inserted, it is first loaded into a message queue, and then written to persistent storage as incremental logs by the data node. The `flush()` function can be used to force the data node to write all data in the message queue to persistent storage immediately.
-
Great! We have successfully built a RAG pipeline with Milvus and Fireworks AI.
+
Großartig! Wir haben erfolgreich eine RAG-Pipeline mit Milvus und Fireworks AI erstellt.
diff --git a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.json b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.json
index a9e764165..ea1f5816f 100644
--- a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.json
+++ b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.json
@@ -1 +1 @@
-{"codeList":["$ pip install --upgrade pymilvus[model] openai requests tqdm\n","import os\n\nos.environ[\"LEPTONAI_TOKEN\"] = \"***********\"\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from openai import OpenAI\n\nlepton_client = OpenAI(\n api_key=os.environ[\"LEPTONAI_TOKEN\"],\n base_url=\"https://mistral-7b.lepton.run/api/v1/\",\n)\n","from pymilvus import model as milvus_model\n\nembedding_model = milvus_model.DefaultEmbeddingFunction()\n","test_embedding = embedding_model.encode_queries([\"This is a test\"])[0]\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\ncollection_name = \"my_rag_collection\"\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\ndoc_embeddings = embedding_model.encode_documents(text_lines)\n\nfor i, line in enumerate(tqdm(text_lines, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": doc_embeddings[i], \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=embedding_model.encode_queries(\n [question]\n ), # Convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = lepton_client.chat.completions.create(\n model=\"mistral-7b\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus and Lepton AI","anchorList":[{"label":"Build RAG with Milvus and Lepton AI","href":"Build-RAG-with-Milvus-and-Lepton-AI","type":1,"isActive":false},{"label":"Preparation","href":"Preparation","type":2,"isActive":false},{"label":"Load data into Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"Build RAG","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ pip install --upgrade pymilvus[model] openai requests tqdm\n","import os\n\nos.environ[\"LEPTONAI_TOKEN\"] = \"***********\"\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from openai import OpenAI\n\nlepton_client = OpenAI(\n api_key=os.environ[\"LEPTONAI_TOKEN\"],\n base_url=\"https://mistral-7b.lepton.run/api/v1/\",\n)\n","from pymilvus import model as milvus_model\n\nembedding_model = milvus_model.DefaultEmbeddingFunction()\n","test_embedding = embedding_model.encode_queries([\"This is a test\"])[0]\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\ncollection_name = \"my_rag_collection\"\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\ndoc_embeddings = embedding_model.encode_documents(text_lines)\n\nfor i, line in enumerate(tqdm(text_lines, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": doc_embeddings[i], \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=embedding_model.encode_queries(\n [question]\n ), # Convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = lepton_client.chat.completions.create(\n model=\"mistral-7b\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus and Lepton AI","anchorList":[{"label":"RAG mit Milvus und Lepton AI aufbauen","href":"Build-RAG-with-Milvus-and-Lepton-AI","type":1,"isActive":false},{"label":"Vorbereitung","href":"Preparation","type":2,"isActive":false},{"label":"Laden Sie Daten in Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"RAG erstellen","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.md b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.md
index 3e8ea137c..343414b1b 100644
--- a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.md
+++ b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_lepton.md
@@ -1,11 +1,11 @@
---
id: build_RAG_with_milvus_and_lepton.md
summary: >-
- In this tutorial, we will show you how to build a RAG (Retrieval-Augmented
- Generation) pipeline with Milvus and Lepton AI.
-title: Build RAG with Milvus and Lepton AI
+ In diesem Tutorial zeigen wir Ihnen, wie Sie eine RAG-Pipeline
+ (Retrieval-Augmented Generation) mit Milvus und Lepton AI aufbauen können.
+title: RAG mit Milvus und Lepton AI aufbauen
---
-
Build RAG with Milvus and Lepton AI
+
RAG mit Milvus und Lepton AI aufbauen
-
Lepton AI enables developers and enterprises to run AI applications efficiently in minutes, and at a production ready scale.
-Lepton AI allows you to build models in a Python native way, debug and test models locally, deploy them to the cloud with a single command, and consume models in any application with a simple, flexible API. It provides a comprehensive environment for deploying various AI models, including large language models (LLMs) and diffusion models, without the need for extensive infrastructure setup.
-
In this tutorial, we will show you how to build a RAG (Retrieval-Augmented Generation) pipeline with Milvus and Lepton AI.
-
Preparation
+
Lepton AI ermöglicht es Entwicklern und Unternehmen, KI-Anwendungen in Minutenschnelle effizient und in produktionsreifem Umfang auszuführen. Mit Lepton AI können Sie Modelle in Python erstellen, lokal debuggen und testen, sie mit einem einzigen Befehl in der Cloud bereitstellen und Modelle in jeder Anwendung über eine einfache, flexible API nutzen. Es bietet eine umfassende Umgebung für den Einsatz verschiedener KI-Modelle, einschließlich großer Sprachmodelle (LLMs) und Diffusionsmodelle, ohne dass eine umfangreiche Infrastruktur eingerichtet werden muss.
+
In diesem Tutorial zeigen wir Ihnen, wie Sie eine RAG-Pipeline (Retrieval-Augmented Generation) mit Milvus und Lepton AI aufbauen.
If you are using Google Colab, to enable dependencies just installed, you may need to restart the runtime (click on the “Runtime” menu at the top of the screen, and select “Restart session” from the dropdown menu).
+
Wenn Sie Google Colab verwenden, müssen Sie die Laufzeitumgebung neu starten, um die soeben installierten Abhängigkeiten zu aktivieren (klicken Sie auf das Menü "Laufzeit" am oberen Rand des Bildschirms und wählen Sie "Sitzung neu starten" aus dem Dropdown-Menü).
-
Lepton enables the OpenAI-style API. You can login to its official website and prepare the api keyLEPTONAI_TOKEN as an environment variable.
+
Lepton aktiviert die OpenAI-ähnliche API. Sie können sich auf der offiziellen Website anmelden und den API-SchlüsselLEPTONAI_TOKEN als Umgebungsvariable vorbereiten.
import os
os.environ["LEPTONAI_TOKEN"] = "***********"
-
Prepare the data
We use the FAQ pages from the Milvus Documentation 2.4.x as the private knowledge in our RAG, which is a good data source for a simple RAG pipeline.
-
Download the zip file and extract documents to the folder milvus_docs.
+
Bereiten Sie die Daten vor
Wir verwenden die FAQ-Seiten aus der Milvus-Dokumentation 2.4.x als privates Wissen in unserem RAG, was eine gute Datenquelle für eine einfache RAG-Pipeline ist.
+
Laden Sie die Zip-Datei herunter und entpacken Sie die Dokumente in den Ordner milvus_docs.
We load all markdown files from the folder milvus_docs/en/faq. For each document, we just simply use "# " to separate the content in the file, which can roughly separate the content of each main part of the markdown file.
+
Wir laden alle Markdown-Dateien aus dem Ordner milvus_docs/en/faq. Für jedes Dokument verwenden wir einfach "# ", um den Inhalt in der Datei zu trennen, wodurch der Inhalt jedes Hauptteils der Markdown-Datei grob getrennt werden kann.
Define a embedding model to generate text embeddings using the milvus_model. We use the DefaultEmbeddingFunction model as an example, which is a pre-trained and lightweight embedding model.
+
Definieren Sie ein Einbettungsmodell, um Texteinbettungen mit Hilfe von milvus_model zu generieren. Wir verwenden das Modell DefaultEmbeddingFunction als Beispiel, das ein vortrainiertes und leichtgewichtiges Einbettungsmodell ist.
from pymilvus import model as milvus_model
embedding_model = milvus_model.DefaultEmbeddingFunction()
-
Generate a test embedding and print its dimension and first few elements.
+
Erzeugen Sie eine Testeinbettung und geben Sie deren Dimension und die ersten Elemente aus.
from pymilvus importMilvusClient
milvus_client = MilvusClient(uri="./milvus_demo.db")
collection_name = "my_rag_collection"
-
As for the argument of MilvusClient:
+
Wie für das Argument von MilvusClient:
-
Setting the uri as a local file, e.g../milvus.db, is the most convenient method, as it automatically utilizes Milvus Lite to store all data in this file.
-
If you have large scale of data, you can set up a more performant Milvus server on docker or kubernetes. In this setup, please use the server uri, e.g.http://localhost:19530, as your uri.
-
If you want to use Zilliz Cloud, the fully managed cloud service for Milvus, adjust the uri and token, which correspond to the Public Endpoint and Api key in Zilliz Cloud.
+
Die Einstellung von uri als lokale Datei, z. B../milvus.db, ist die bequemste Methode, da Milvus Lite automatisch alle Daten in dieser Datei speichert.
+
Wenn Sie große Datenmengen haben, können Sie einen leistungsfähigeren Milvus-Server auf Docker oder Kubernetes einrichten. Bei dieser Einrichtung verwenden Sie bitte die Server-Uri, z. B.http://localhost:19530, als uri.
Check if the collection already exists and drop it if it does.
+
Prüfen Sie, ob die Sammlung bereits existiert und löschen Sie sie, wenn dies der Fall ist.
if milvus_client.has_collection(collection_name):
milvus_client.drop_collection(collection_name)
-
Create a new collection with specified parameters.
-
If we don’t specify any field information, Milvus will automatically create a default id field for primary key, and a vector field to store the vector data. A reserved JSON field is used to store non-schema-defined fields and their values.
+
Erstellen Sie eine neue Sammlung mit den angegebenen Parametern.
+
Wenn wir keine Feldinformationen angeben, erstellt Milvus automatisch ein Standardfeld id für den Primärschlüssel und ein Feld vector zum Speichern der Vektordaten. Ein reserviertes JSON-Feld wird verwendet, um nicht schema-definierte Felder und ihre Werte zu speichern.
Iterate through the text lines, create embeddings, and then insert the data into Milvus.
-
Here is a new field text, which is a non-defined field in the collection schema. It will be automatically added to the reserved JSON dynamic field, which can be treated as a normal field at a high level.
+
Daten einfügen
Iterieren Sie durch die Textzeilen, erstellen Sie Einbettungen und fügen Sie dann die Daten in Milvus ein.
+
Hier ist ein neues Feld text, das ein nicht definiertes Feld im Sammelschema ist. Es wird automatisch dem reservierten dynamischen JSON-Feld hinzugefügt, das auf hoher Ebene wie ein normales Feld behandelt werden kann.
Convert the retrieved documents into a string format.
+
LLM verwenden, um eine RAG-Antwort zu erhalten
Konvertieren Sie die abgerufenen Dokumente in ein String-Format.
context = "\n".join(
[line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]
)
-
Define system and user prompts for the Lanage Model. This prompt is assembled with the retrieved documents from Milvus.
+
Definieren Sie System- und Benutzer-Prompts für das Lanage Model. Diese Eingabeaufforderung wird mit den abgerufenen Dokumenten aus Milvus zusammengestellt.
SYSTEM_PROMPT = """
Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.
"""
@@ -229,7 +228,7 @@ Use the following pieces of information enclosed in <context> tags to prov
</question>
"""
-
Use the mistral-7b model provided by Lepton AI to generate a response based on the prompts.
+
Verwenden Sie das von Lepton AI bereitgestellte mistral-7b Modell, um eine Antwort auf der Grundlage der Eingabeaufforderungen zu generieren.
response = lepton_client.chat.completions.create(
model="mistral-7b",
messages=[
@@ -241,4 +240,4 @@ Use the following pieces of information enclosed in <context> tags to prov
Inserted data in Milvus, including vector data, scalar data, and collection-specific schema, are stored in persistent storage as incremental logs. Milvus supports multiple object storage backends such as MinIO, AWS S3, Google Cloud Storage, Azure Blob Storage, Alibaba Cloud OSS, and Tencent Cloud Object Storage (COS). Metadata are generated within Milvus and stored in etcd.
-
Great! We have successfully built a RAG pipeline with Milvus and Lepton AI.
+
Großartig! Wir haben erfolgreich eine RAG-Pipeline mit Milvus und Lepton AI aufgebaut.
diff --git a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.json b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.json
index 842b83037..d98e723e5 100644
--- a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.json
+++ b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.json
@@ -1 +1 @@
-{"codeList":["$ pip install --upgrade pymilvus openai requests tqdm\n","import os\n\nos.environ[\"SILICON_FLOW_API_KEY\"] = \"***********\"\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from openai import OpenAI\n\nsiliconflow_client = OpenAI(\n api_key=os.environ[\"SILICON_FLOW_API_KEY\"], base_url=\"https://api.siliconflow.cn/v1\"\n)\n","def emb_text(text):\n return (\n siliconflow_client.embeddings.create(input=text, model=\"BAAI/bge-large-en-v1.5\")\n .data[0]\n .embedding\n )\n","test_embedding = emb_text(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\ncollection_name = \"my_rag_collection\"\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\nfor i, line in enumerate(tqdm(text_lines, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": emb_text(line), \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n emb_text(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = siliconflow_client.chat.completions.create(\n model=\"deepseek-ai/DeepSeek-V2.5\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus and SiliconFlow","anchorList":[{"label":"Build RAG with Milvus and SiliconFlow","href":"Build-RAG-with-Milvus-and-SiliconFlow","type":1,"isActive":false},{"label":"Preparation","href":"Preparation","type":2,"isActive":false},{"label":"Load data into Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"Build RAG","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ pip install --upgrade pymilvus openai requests tqdm\n","import os\n\nos.environ[\"SILICON_FLOW_API_KEY\"] = \"***********\"\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from openai import OpenAI\n\nsiliconflow_client = OpenAI(\n api_key=os.environ[\"SILICON_FLOW_API_KEY\"], base_url=\"https://api.siliconflow.cn/v1\"\n)\n","def emb_text(text):\n return (\n siliconflow_client.embeddings.create(input=text, model=\"BAAI/bge-large-en-v1.5\")\n .data[0]\n .embedding\n )\n","test_embedding = emb_text(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\ncollection_name = \"my_rag_collection\"\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","from tqdm import tqdm\n\ndata = []\n\nfor i, line in enumerate(tqdm(text_lines, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": emb_text(line), \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n emb_text(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","SYSTEM_PROMPT = \"\"\"\nHuman: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n\"\"\"\nUSER_PROMPT = f\"\"\"\nUse the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n\n{context}\n\n\n{question}\n\n\"\"\"\n","response = siliconflow_client.chat.completions.create(\n model=\"deepseek-ai/DeepSeek-V2.5\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n"],"headingContent":"Build RAG with Milvus and SiliconFlow","anchorList":[{"label":"RAG mit Milvus und SiliconFlow aufbauen","href":"Build-RAG-with-Milvus-and-SiliconFlow","type":1,"isActive":false},{"label":"Vorbereitung","href":"Preparation","type":2,"isActive":false},{"label":"Laden der Daten in Milvus","href":"Load-data-into-Milvus","type":2,"isActive":false},{"label":"RAG erstellen","href":"Build-RAG","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.md b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.md
index a083fb537..40de45f91 100644
--- a/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.md
+++ b/localization/v2.5.x/site/de/integrations/build_RAG_with_milvus_and_siliconflow.md
@@ -1,11 +1,11 @@
---
id: build_RAG_with_milvus_and_siliconflow.md
summary: >-
- In this tutorial, we will show you how to build a RAG(Retrieval-Augmented
- Generation) pipeline with Milvus and SiliconFlow.
-title: Build RAG with Milvus and SiliconFlow
+ In diesem Tutorial zeigen wir Ihnen, wie Sie eine RAG-Pipeline
+ (Retrieval-Augmented Generation) mit Milvus und SiliconFlow aufbauen können.
+title: RAG mit Milvus und SiliconFlow aufbauen
---
-
Build RAG with Milvus and SiliconFlow
+
RAG mit Milvus und SiliconFlow aufbauen
-
SiliconFlow is committed to building a scalable, standardized, and high-performance AI Infra platform.
-SiliconCloud is one of the flagship offerings from SiliconFlow, described as a Model as a Service (MaaS) platform. It provides a comprehensive environment for deploying various AI models, including large language models (LLMs) and embedding models. SiliconCloud aggregates numerous open-source models, enabling users to easily access and utilize these resources without the need for extensive infrastructure setup.
-
In this tutorial, we will show you how to build a RAG(Retrieval-Augmented Generation) pipeline with Milvus and SiliconFlow.
-
Preparation
+
SiliconFlow hat es sich zur Aufgabe gemacht, eine skalierbare, standardisierte und hochleistungsfähige KI-Infra-Plattform aufzubauen. SiliconCloud ist eines der Flaggschiffe von SiliconFlow und wird als Model-as-a-Service (MaaS)-Plattform bezeichnet. Sie bietet eine umfassende Umgebung für den Einsatz verschiedener KI-Modelle, einschließlich großer Sprachmodelle (LLMs) und Einbettungsmodelle. SiliconCloud fasst zahlreiche Open-Source-Modelle zusammen und ermöglicht es den Nutzern, auf diese Ressourcen einfach zuzugreifen und sie zu nutzen, ohne eine umfangreiche Infrastruktur einrichten zu müssen.
+
In diesem Tutorial zeigen wir Ihnen, wie Sie eine RAG-Pipeline (Retrieval-Augmented Generation) mit Milvus und SiliconFlow erstellen.
If you are using Google Colab, to enable dependencies just installed, you may need to restart the runtime (click on the “Runtime” menu at the top of the screen, and select “Restart session” from the dropdown menu).
+
Wenn Sie Google Colab verwenden, müssen Sie möglicherweise die Runtime neu starten, um die soeben installierten Abhängigkeiten zu aktivieren (klicken Sie auf das Menü "Runtime" am oberen Bildschirmrand und wählen Sie "Restart session" aus dem Dropdown-Menü).
-
SiliconFlow enables the OpenAI-style API. You can login to its official website and prepare the api keySILICON_FLOW_API_KEY as an environment variable.
+
SiliconFlow aktiviert die OpenAI-ähnliche API. Sie können sich auf der offiziellen Website anmelden und den API-SchlüsselSILICON_FLOW_API_KEY als Umgebungsvariable vorbereiten.
import os
os.environ["SILICON_FLOW_API_KEY"] = "***********"
-
Prepare the data
We use the FAQ pages from the Milvus Documentation 2.4.x as the private knowledge in our RAG, which is a good data source for a simple RAG pipeline.
-
Download the zip file and extract documents to the folder milvus_docs.
+
Bereiten Sie die Daten vor
Wir verwenden die FAQ-Seiten aus der Milvus-Dokumentation 2.4.x als privates Wissen in unserem RAG, was eine gute Datenquelle für eine einfache RAG-Pipeline ist.
+
Laden Sie die Zip-Datei herunter und entpacken Sie die Dokumente in den Ordner milvus_docs.
We load all markdown files from the folder milvus_docs/en/faq. For each document, we just simply use "# " to separate the content in the file, which can roughly separate the content of each main part of the markdown file.
+
Wir laden alle Markdown-Dateien aus dem Ordner milvus_docs/en/faq. Für jedes Dokument verwenden wir einfach "# ", um den Inhalt in der Datei zu trennen, wodurch der Inhalt jedes Hauptteils der Markdown-Datei grob getrennt werden kann.
We initialize a client to prepare the embedding model. SiliconFlow enables the OpenAI-style API, and you can use the same API with minor adjustments to call the embedding model and the LLM.
+
Vorbereiten des Einbettungsmodells
Wir initialisieren einen Client, um das Einbettungsmodell vorzubereiten. SiliconFlow ermöglicht die API im OpenAI-Stil, und Sie können dieselbe API mit geringfügigen Anpassungen verwenden, um das Einbettungsmodell und den LLM aufzurufen.
from openai importOpenAI
siliconflow_client = OpenAI(
api_key=os.environ["SILICON_FLOW_API_KEY"], base_url="https://api.siliconflow.cn/v1"
)
-
Define a function to generate text embeddings using the client. We use the BAAI/bge-large-en-v1.5 model as an example.
+
Definieren Sie eine Funktion zur Erzeugung von Texteinbettungen mithilfe des Clients. Wir verwenden das Modell BAAI/bge-large-en-v1.5 als Beispiel.
from pymilvus importMilvusClient
milvus_client = MilvusClient(uri="./milvus_demo.db")
collection_name = "my_rag_collection"
-
As for the argument of MilvusClient:
+
Wie für das Argument von MilvusClient:
-
Setting the uri as a local file, e.g../milvus.db, is the most convenient method, as it automatically utilizes Milvus Lite to store all data in this file.
-
If you have large scale of data, you can set up a more performant Milvus server on docker or kubernetes. In this setup, please use the server uri, e.g.http://localhost:19530, as your uri.
-
If you want to use Zilliz Cloud, the fully managed cloud service for Milvus, adjust the uri and token, which correspond to the Public Endpoint and Api key in Zilliz Cloud.
+
Das Einstellen von uri als lokale Datei, z.B../milvus.db, ist die bequemste Methode, da sie automatisch Milvus Lite verwendet, um alle Daten in dieser Datei zu speichern.
+
Wenn Sie große Datenmengen haben, können Sie einen leistungsfähigeren Milvus-Server auf Docker oder Kubernetes einrichten. Bei dieser Einrichtung verwenden Sie bitte die Server-Uri, z. B.http://localhost:19530, als uri.
Check if the collection already exists and drop it if it does.
+
Prüfen Sie, ob die Sammlung bereits existiert und löschen Sie sie, wenn dies der Fall ist.
if milvus_client.has_collection(collection_name):
milvus_client.drop_collection(collection_name)
-
Create a new collection with specified parameters.
-
If we don’t specify any field information, Milvus will automatically create a default id field for primary key, and a vector field to store the vector data. A reserved JSON field is used to store non-schema-defined fields and their values.
+
Erstellen Sie eine neue Sammlung mit den angegebenen Parametern.
+
Wenn wir keine Feldinformationen angeben, erstellt Milvus automatisch ein Standardfeld id für den Primärschlüssel und ein Feld vector zum Speichern der Vektordaten. Ein reserviertes JSON-Feld wird verwendet, um nicht schema-definierte Felder und ihre Werte zu speichern.
Iterate through the text lines, create embeddings, and then insert the data into Milvus.
-
Here is a new field text, which is a non-defined field in the collection schema. It will be automatically added to the reserved JSON dynamic field, which can be treated as a normal field at a high level.
+
Daten einfügen
Iterieren Sie durch die Textzeilen, erstellen Sie Einbettungen und fügen Sie dann die Daten in Milvus ein.
+
Hier ist ein neues Feld text, das ein nicht definiertes Feld im Sammelschema ist. Es wird automatisch dem reservierten dynamischen JSON-Feld hinzugefügt, das auf hoher Ebene wie ein normales Feld behandelt werden kann.
Convert the retrieved documents into a string format.
+
LLM verwenden, um eine RAG-Antwort zu erhalten
Konvertieren Sie die abgerufenen Dokumente in ein String-Format.
context = "\n".join(
[line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]
)
-
Define system and user prompts for the Lanage Model. This prompt is assembled with the retrieved documents from Milvus.
+
Definieren Sie System- und Benutzer-Prompts für das Lanage Model. Diese Eingabeaufforderung wird mit den abgerufenen Dokumenten von Milvus zusammengestellt.
SYSTEM_PROMPT = """
Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.
"""
@@ -226,7 +225,7 @@ Use the following pieces of information enclosed in <context> tags to prov
</question>
"""
-
Use the deepseek-ai/DeepSeek-V2.5 model provided by SiliconCloud to generate a response based on the prompts.
+
Verwenden Sie das von SiliconCloud bereitgestellte deepseek-ai/DeepSeek-V2.5 Modell, um eine Antwort auf der Grundlage der Prompts zu generieren.
response = siliconflow_client.chat.completions.create(
model="deepseek-ai/DeepSeek-V2.5",
messages=[
@@ -242,4 +241,4 @@ Use the following pieces of information enclosed in <context> tags to prov
- **Metadata**: This is generated within Milvus, with each module having its own metadata stored in etcd, a distributed key-value store.
-
Great! We have successfully built a RAG pipeline with Milvus and SiliconFlow.
+
Großartig! Wir haben erfolgreich eine RAG-Pipeline mit Milvus und SiliconFlow erstellt.
diff --git a/localization/v2.5.x/site/de/integrations/build_rag_on_arm.json b/localization/v2.5.x/site/de/integrations/build_rag_on_arm.json
index 3ae30e22a..262bd8c03 100644
--- a/localization/v2.5.x/site/de/integrations/build_rag_on_arm.json
+++ b/localization/v2.5.x/site/de/integrations/build_rag_on_arm.json
@@ -1 +1 @@
-{"codeList":["$ sudo apt update\n$ sudo apt install python-is-python3 python3-pip python3-venv -y\n","$ python -m venv venv\n$ source venv/bin/activate\n","$ pip install --upgrade pymilvus openai requests langchain-huggingface huggingface_hub tqdm\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(\n uri=\"\", token=\"\"\n)\n\ncollection_name = \"my_rag_collection\"\n\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=384,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from langchain_huggingface import HuggingFaceEmbeddings\n\nembedding_model = HuggingFaceEmbeddings(model_name=\"all-MiniLM-L6-v2\")\n","from tqdm import tqdm\n\ndata = []\n\ntext_embeddings = embedding_model.embed_documents(text_lines)\n\nfor i, (line, embedding) in enumerate(\n tqdm(zip(text_lines, text_embeddings), desc=\"Creating embeddings\")\n):\n data.append({\"id\": i, \"vector\": embedding, \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","$ sudo apt install make cmake -y\n$ sudo apt install gcc g++ -y\n$ sudo apt install build-essential -y\n","$ git clone https://github.com/ggerganov/llama.cpp\n","$ cd llama.cpp\n$ make GGML_NO_LLAMAFILE=1 -j$(nproc)\n","$ ./llama-cli -h\n","$ huggingface-cli download cognitivecomputations/dolphin-2.9.4-llama3.1-8b-gguf dolphin-2.9.4-llama3.1-8b-Q4_0.gguf --local-dir . --local-dir-use-symlinks False\n","$ ./llama-quantize --allow-requantize dolphin-2.9.4-llama3.1-8b-Q4_0.gguf dolphin-2.9.4-llama3.1-8b-Q4_0_8_8.gguf Q4_0_8_8\n","$ ./llama-server -m dolphin-2.9.4-llama3.1-8b-Q4_0_8_8.gguf -n 2048 -t 64 -c 65536 --port 8080\n","from openai import OpenAI\n\nllm_client = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"no-key\")\n","test_embedding = embedding_model.embed_query(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n embedding_model.embed_query(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","response = llm_client.chat.completions.create(\n model=\"not-used\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n\n"],"headingContent":"Build RAG on Arm Architecture","anchorList":[{"label":"Build RAG on Arm Architecture","href":"Build-RAG-on-Arm-Architecture","type":1,"isActive":false},{"label":"Prerequisite","href":"Prerequisite","type":2,"isActive":false},{"label":"Offline Data Loading","href":"Offline-Data-Loading","type":2,"isActive":false},{"label":"Launch LLM Service on Arm","href":"Launch-LLM-Service-on-Arm","type":2,"isActive":false},{"label":"Online RAG","href":"Online-RAG","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ sudo apt update\n$ sudo apt install python-is-python3 python3-pip python3-venv -y\n","$ python -m venv venv\n$ source venv/bin/activate\n","$ pip install --upgrade pymilvus openai requests langchain-huggingface huggingface_hub tqdm\n","from pymilvus import MilvusClient\n\nmilvus_client = MilvusClient(\n uri=\"\", token=\"\"\n)\n\ncollection_name = \"my_rag_collection\"\n\n","if milvus_client.has_collection(collection_name):\n milvus_client.drop_collection(collection_name)\n","milvus_client.create_collection(\n collection_name=collection_name,\n dimension=384,\n metric_type=\"IP\", # Inner product distance\n consistency_level=\"Strong\", # Strong consistency level\n)\n","$ wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip\n$ unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs\n","from glob import glob\n\ntext_lines = []\n\nfor file_path in glob(\"milvus_docs/en/faq/*.md\", recursive=True):\n with open(file_path, \"r\") as file:\n file_text = file.read()\n\n text_lines += file_text.split(\"# \")\n","from langchain_huggingface import HuggingFaceEmbeddings\n\nembedding_model = HuggingFaceEmbeddings(model_name=\"all-MiniLM-L6-v2\")\n","from tqdm import tqdm\n\ndata = []\n\ntext_embeddings = embedding_model.embed_documents(text_lines)\n\nfor i, (line, embedding) in enumerate(\n tqdm(zip(text_lines, text_embeddings), desc=\"Creating embeddings\")\n):\n data.append({\"id\": i, \"vector\": embedding, \"text\": line})\n\nmilvus_client.insert(collection_name=collection_name, data=data)\n","$ sudo apt install make cmake -y\n$ sudo apt install gcc g++ -y\n$ sudo apt install build-essential -y\n","$ git clone https://github.com/ggerganov/llama.cpp\n","$ cd llama.cpp\n$ make GGML_NO_LLAMAFILE=1 -j$(nproc)\n","$ ./llama-cli -h\n","$ huggingface-cli download cognitivecomputations/dolphin-2.9.4-llama3.1-8b-gguf dolphin-2.9.4-llama3.1-8b-Q4_0.gguf --local-dir . --local-dir-use-symlinks False\n","$ ./llama-quantize --allow-requantize dolphin-2.9.4-llama3.1-8b-Q4_0.gguf dolphin-2.9.4-llama3.1-8b-Q4_0_8_8.gguf Q4_0_8_8\n","$ ./llama-server -m dolphin-2.9.4-llama3.1-8b-Q4_0_8_8.gguf -n 2048 -t 64 -c 65536 --port 8080\n","from openai import OpenAI\n\nllm_client = OpenAI(base_url=\"http://localhost:8080/v1\", api_key=\"no-key\")\n","test_embedding = embedding_model.embed_query(\"This is a test\")\nembedding_dim = len(test_embedding)\nprint(embedding_dim)\nprint(test_embedding[:10])\n","question = \"How is data stored in milvus?\"\n","search_res = milvus_client.search(\n collection_name=collection_name,\n data=[\n embedding_model.embed_query(question)\n ], # Use the `emb_text` function to convert the question to an embedding vector\n limit=3, # Return top 3 results\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # Inner product distance\n output_fields=[\"text\"], # Return the text field\n)\n","import json\n\nretrieved_lines_with_distances = [\n (res[\"entity\"][\"text\"], res[\"distance\"]) for res in search_res[0]\n]\nprint(json.dumps(retrieved_lines_with_distances, indent=4))\n","context = \"\\n\".join(\n [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]\n)\n","response = llm_client.chat.completions.create(\n model=\"not-used\",\n messages=[\n {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": USER_PROMPT},\n ],\n)\nprint(response.choices[0].message.content)\n\n"],"headingContent":"Build RAG on Arm Architecture","anchorList":[{"label":"RAG auf Arm-Architektur aufbauen","href":"Build-RAG-on-Arm-Architecture","type":1,"isActive":false},{"label":"Voraussetzung","href":"Prerequisite","type":2,"isActive":false},{"label":"Offline-Daten laden","href":"Offline-Data-Loading","type":2,"isActive":false},{"label":"Starten des LLM-Dienstes auf Arm","href":"Launch-LLM-Service-on-Arm","type":2,"isActive":false},{"label":"Online RAG","href":"Online-RAG","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/build_rag_on_arm.md b/localization/v2.5.x/site/de/integrations/build_rag_on_arm.md
index ec57ceda9..4550c668e 100644
--- a/localization/v2.5.x/site/de/integrations/build_rag_on_arm.md
+++ b/localization/v2.5.x/site/de/integrations/build_rag_on_arm.md
@@ -1,15 +1,16 @@
---
id: build_rag_on_arm.md
summary: >-
- In this tutorial, you learn how to build a Retrieval-Augmented Generation
- (RAG) application on Arm-based infrastructures. For vector storage, we utilize
- Zilliz Cloud, the fully-managed Milvus vector database. Zilliz Cloud is
- available on major cloud such as AWS, GCP and Azure. In this demo we use
- Zilliz Cloud deployed on AWS with Arm machines. For LLM, we use the
- Llama-3.1-8B model on the AWS Arm-based server CPU using llama.cpp.
-title: Build RAG on Arm Architecture
+ In diesem Tutorial lernen Sie, wie Sie eine Retrieval-Augmented Generation
+ (RAG)-Anwendung auf Arm-basierten Infrastrukturen erstellen. Für die
+ Vektorspeicherung nutzen wir Zilliz Cloud, die vollständig verwaltete
+ Milvus-Vektordatenbank. Zilliz Cloud ist in den wichtigsten Clouds wie AWS,
+ GCP und Azure verfügbar. In dieser Demo verwenden wir Zilliz Cloud, die auf
+ AWS mit Arm-Maschinen bereitgestellt wird. Für LLM verwenden wir das
+ Llama-3.1-8B-Modell auf der AWS Arm-basierten Server-CPU mit llama.cpp.
+title: RAG auf Arm-Architektur aufbauen
---
-
Build RAG on Arm Architecture
+
RAG auf Arm-Architektur aufbauen
-
Arm CPUs are extensively utilized across a wide range of applications, including traditional machine learning (ML) and artificial intelligence (AI) use cases.
-
In this tutorial, you learn how to build a Retrieval-Augmented Generation (RAG) application on Arm-based infrastructures. For vector storage, we utilize Zilliz Cloud, the fully-managed Milvus vector database. Zilliz Cloud is available on major cloud such as AWS, GCP and Azure. In this demo we use Zilliz Cloud deployed on AWS with Arm machines. For LLM, we use the Llama-3.1-8B model on the AWS Arm-based server CPU using llama.cpp.
-
Prerequisite
+
Arm-CPUs werden in einer Vielzahl von Anwendungen eingesetzt, darunter auch traditionelle Anwendungen für maschinelles Lernen (ML) und künstliche Intelligenz (KI).
+
In diesem Tutorial lernen Sie, wie Sie eine Retrieval-Augmented Generation (RAG)-Anwendung auf Arm-basierten Infrastrukturen erstellen. Für die Vektorspeicherung verwenden wir Zilliz Cloud, die vollständig verwaltete Milvus-Vektordatenbank. Zilliz Cloud ist in den wichtigsten Clouds wie AWS, GCP und Azure verfügbar. In dieser Demo verwenden wir Zilliz Cloud, die auf AWS mit Arm-Maschinen bereitgestellt wird. Für LLM verwenden wir das Modell Llama-3.1-8B auf der AWS Arm-basierten Server-CPU mit llama.cpp.
+
Voraussetzung
-
To run this example, we recommend you to use AWS Graviton, which provides a cost-effective way to run ML workloads on Arm-based servers. This notebook has been tested on an AWS Graviton3 c7g.2xlarge instance with Ubuntu 22.04 LTS system.
-
You need at least four cores and 8GB of RAM to run this example. Configure disk storage up to at least 32 GB. We recommend that you use an instance of the same or better specification.
-
After you launch the instance, connect to it and run the following commands to prepare the environment.
-
Install python on the server:
+
Um dieses Beispiel auszuführen, empfehlen wir die Verwendung von AWS Graviton, das eine kostengünstige Möglichkeit zur Ausführung von ML-Arbeitslasten auf Arm-basierten Servern bietet. Dieses Notebook wurde auf einer AWS Graviton3 c7g.2xlarge -Instanz mit einem Ubuntu 22.04 LTS-System getestet.
+
Sie benötigen mindestens vier Kerne und 8 GB RAM, um dieses Beispiel auszuführen. Konfigurieren Sie den Festplattenspeicher auf mindestens 32 GB. Wir empfehlen Ihnen, eine Instanz mit denselben oder besseren Spezifikationen zu verwenden.
+
Nachdem Sie die Instanz gestartet haben, verbinden Sie sich mit ihr und führen Sie die folgenden Befehle aus, um die Umgebung vorzubereiten.
We use Zilliz Cloud deployed on AWS with Arm-based machines to store and retrieve the vector data. To quick start, simply register an account on Zilliz Cloud for free.
+
Erstellen Sie die Sammlung
Wir verwenden die Zilliz Cloud, die auf AWS mit Arm-basierten Maschinen bereitgestellt wird, um die Vektordaten zu speichern und abzurufen. Um schnell zu beginnen, registrieren Sie einfach ein kostenloses Konto bei Zilliz Cloud.
-
In addition to Zilliz Cloud, self-hosted Milvus is also a (more complicated to set up) option. We can also deploy Milvus Standalone and Kubernetes on ARM-based machines. For more information about Milvus installation, please refer to the installation documentation.
+
Neben der Zilliz Cloud ist auch das selbst gehostete Milvus eine (komplizierter einzurichtende) Option. Wir können auch Milvus Standalone und Kubernetes auf ARM-basierten Maschinen bereitstellen. Weitere Informationen zur Milvus-Installation finden Sie in der Installationsdokumentation.
Check if the collection already exists and drop it if it does.
+
Prüfen Sie, ob die Sammlung bereits existiert und löschen Sie sie, falls dies der Fall ist.
if milvus_client.has_collection(collection_name):
milvus_client.drop_collection(collection_name)
-
Create a new collection with specified parameters.
-
If we don’t specify any field information, Milvus will automatically create a default id field for primary key, and a vector field to store the vector data. A reserved JSON field is used to store non-schema-defined fields and their values.
+
Erstellen Sie eine neue Sammlung mit den angegebenen Parametern.
+
Wenn wir keine Feldinformationen angeben, erstellt Milvus automatisch ein Standardfeld id für den Primärschlüssel und ein Feld vector zum Speichern der Vektordaten. Ein reserviertes JSON-Feld wird verwendet, um nicht schema-definierte Felder und ihre Werte zu speichern.
We use inner product distance as the default metric type. For more information about distance types, you can refer to Similarity Metrics page
-
Prepare the data
We use the FAQ pages from the Milvus Documentation 2.4.x as the private knowledge in our RAG, which is a good data source for a simple RAG pipeline.
-
Download the zip file and extract documents to the folder milvus_docs.
+
Wir verwenden den inneren Produktabstand als Standard-Metrik-Typ. Weitere Informationen über Abstandsarten finden Sie auf der Seite Ähnlichkeitsmetriken
+
Vorbereiten der Daten
Wir verwenden die FAQ-Seiten aus der Milvus-Dokumentation 2.4.x als privates Wissen in unserem RAG, was eine gute Datenquelle für eine einfache RAG-Pipeline ist.
+
Laden Sie die Zip-Datei herunter und entpacken Sie die Dokumente in den Ordner milvus_docs.
We load all markdown files from the folder milvus_docs/en/faq. For each document, we just simply use "# " to separate the content in the file, which can roughly separate the content of each main part of the markdown file.
+
Wir laden alle Markdown-Dateien aus dem Ordner milvus_docs/en/faq. Für jedes Dokument verwenden wir einfach "# ", um den Inhalt in der Datei zu trennen, wodurch der Inhalt jedes Hauptteils der Markdown-Datei grob getrennt werden kann.
We prepare a simple but efficient embedding model all-MiniLM-L6-v2 that can convert text into embedding vectors.
+
Daten einfügen
Wir bereiten ein einfaches, aber effizientes Einbettungsmodell all-MiniLM-L6-v2 vor, das Text in Einbettungsvektoren umwandeln kann.
from langchain_huggingface importHuggingFaceEmbeddings
embedding_model = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
-
Iterate through the text lines, create embeddings, and then insert the data into Milvus.
-
Here is a new field text, which is a non-defined field in the collection schema. It will be automatically added to the reserved JSON dynamic field, which can be treated as a normal field at a high level.
+
Iterieren Sie durch die Textzeilen, erstellen Sie Einbettungen und fügen Sie die Daten dann in Milvus ein.
+
Hier ist ein neues Feld text, das ein nicht definiertes Feld im Sammlungsschema ist. Es wird automatisch zu dem reservierten dynamischen JSON-Feld hinzugefügt, das auf hoher Ebene als normales Feld behandelt werden kann.
from tqdm import tqdm
data = []
@@ -136,7 +137,7 @@ milvus_client.insert(collection_name=collection_name, data=data)
In this section, we will build and launch the llama.cpp service on the Arm-based CPU.
-
Llama 3.1 model & llama.cpp
The Llama-3.1-8B model from Meta belongs to the Llama 3.1 model family and is free to use for research and commercial purposes. Before you use the model, visit the Llama website and fill in the form to request access.
-
llama.cpp is an open source C/C++ project that enables efficient LLM inference on a variety of hardware - both locally, and in the cloud. You can conveniently host a Llama 3.1 model using llama.cpp.
-
Download and build llama.cpp
Run the following commands to install make, cmake, gcc, g++, and other essential tools required for building llama.cpp from source:
+
In diesem Abschnitt werden wir den llama.cpp Dienst auf der Arm-basierten CPU erstellen und starten.
+
Llama 3.1 Modell & llama.cpp
Das Llama-3.1-8B-Modell von Meta gehört zur Llama-3.1-Modellfamilie und kann für Forschungs- und kommerzielle Zwecke frei verwendet werden. Bevor Sie das Modell verwenden, besuchen Sie die Llama-Website und füllen Sie das Formular aus, um Zugang zu beantragen.
+
llama.cpp ist ein Open-Source-C/C++-Projekt, das effiziente LLM-Inferenz auf einer Vielzahl von Hardware ermöglicht - sowohl lokal als auch in der Cloud. Sie können ein Llama 3.1-Modell bequem mit llama.cpp hosten.
+
llama.cpp herunterladen und erstellen
Führen Sie die folgenden Befehle aus, um make, cmake, gcc, g++ und andere wichtige Tools zu installieren, die für die Erstellung von llama.cpp aus den Quellen erforderlich sind:
By default, llama.cpp builds for CPU only on Linux and Windows. You don’t need to provide any extra switches to build it for the Arm CPU that you run it on.
-
Run make to build it:
+
Standardmäßig wird llama.cpp nur für die CPU von Linux und Windows erstellt. Sie müssen keine zusätzlichen Schalter bereitstellen, um es für die Arm-CPU zu bauen, auf der Sie es ausführen.
+
Führen Sie make aus, um es zu bauen:
$ cd llama.cpp
$ make GGML_NO_LLAMAFILE=1 -j$(nproc)
-
Check that llama.cpp has built correctly by running the help command:
+
Überprüfen Sie, ob llama.cpp korrekt gebaut wurde, indem Sie den Befehl help ausführen:
$ ./llama-cli -h
-
If llama.cpp has been built correctly, you will see the help option displayed. The output snippet looks like this:
+
Wenn llama.cpp korrekt gebaut wurde, wird die Option help angezeigt. Der Ausschnitt der Ausgabe sieht wie folgt aus:
example usage:
text generation: ./llama-cli -m your_model.gguf -p "I believe the meaning of life is" -n 128
chat (conversation): ./llama-cli -m your_model.gguf -p "You are a helpful assistant" -cnv
-
You can now download the model using the huggingface cli:
+
Sie können das Modell nun mit dem huggingface cli herunterladen:
The GGUF model format, introduced by the llama.cpp team, uses compression and quantization to reduce weight precision to 4-bit integers, significantly decreasing computational and memory demands and making Arm CPUs effective for LLM inference.
-
Re-quantize the model weights
To re-quantize, run
+
Das GGUF-Modellformat, das vom llama.cpp-Team eingeführt wurde, verwendet Komprimierung und Quantisierung, um die Genauigkeit der Gewichte auf 4-Bit-Ganzzahlen zu reduzieren, was den Rechen- und Speicherbedarf erheblich verringert und Arm-CPUs für LLM-Inferenz effektiv macht.
This will output a new file, dolphin-2.9.4-llama3.1-8b-Q4_0_8_8.gguf, which contains reconfigured weights that allow llama-cli to use SVE 256 and MATMUL_INT8 support.
+
Dadurch wird eine neue Datei dolphin-2.9.4-llama3.1-8b-Q4_0_8_8.gguf ausgegeben, die rekonfigurierte Gewichte enthält, die es llama-cli ermöglichen, SVE 256 und MATMUL_INT8-Unterstützung zu verwenden.
-
This requantization is optimal specifically for Graviton3. For Graviton2, the optimal requantization should be performed in the Q4_0_4_4 format, and for Graviton4, the Q4_0_4_8 format is the most suitable for requantization.
+
Diese Re-Quantisierung ist speziell für Graviton3 optimal. Für Graviton2 sollte die optimale Requantisierung im Format Q4_0_4_4 durchgeführt werden, und für Graviton4 ist das Format Q4_0_4_8 am besten für die Requantisierung geeignet.
-
Start the LLM Service
You can utilize the llama.cpp server program and send requests via an OpenAI-compatible API. This allows you to develop applications that interact with the LLM multiple times without having to repeatedly start and stop it. Additionally, you can access the server from another machine where the LLM is hosted over the network.
-
Start the server from the command line, and it listens on port 8080:
+
Starten Sie den LLM-Dienst
Sie können das Serverprogramm llama.cpp verwenden und Anfragen über eine OpenAI-kompatible API senden. So können Sie Anwendungen entwickeln, die mehrfach mit dem LLM interagieren, ohne ihn wiederholt starten und stoppen zu müssen. Außerdem können Sie auf den Server von einem anderen Rechner aus zugreifen, auf dem der LLM über das Netzwerk gehostet wird.
+
Starten Sie den Server von der Befehlszeile aus, und er lauscht am Port 8080:
'main: server is listening on 127.0.0.1:8080 - starting the main loop
-
You can also adjust the parameters of the launched LLM to adapt it to your server hardware to obtain ideal performance. For more parameter information, see the llama-server --help command.
-
If you struggle to perform this step, you can refer to the official documents for more information.
-
You have started the LLM service on your Arm-based CPU. Next, we directly interact with the service using the OpenAI SDK.
+
Sie können auch die Parameter des gestarteten LLM anpassen, um ihn an Ihre Serverhardware anzupassen und eine optimale Leistung zu erzielen. Weitere Informationen zu den Parametern finden Sie unter dem Befehl llama-server --help.
+
Wenn Sie Schwierigkeiten haben, diesen Schritt auszuführen, können Sie weitere Informationen in den offiziellen Dokumenten nachlesen.
+
Sie haben den LLM-Dienst auf Ihrer Arm-basierten CPU gestartet. Als nächstes interagieren wir direkt mit dem Dienst unter Verwendung des OpenAI SDK.
We initialize the LLM client and prepare the embedding model.
-
For the LLM, we use the OpenAI SDK to request the Llama service launched before. We don’t need to use any API key because it is actually our local llama.cpp service.
+
LLM-Client und Einbettungsmodell
Wir initialisieren den LLM-Client und bereiten das Einbettungsmodell vor.
+
Für den LLM verwenden wir das OpenAI SDK, um den zuvor gestarteten Llama-Dienst anzufordern. Wir brauchen keinen API-Schlüssel zu verwenden, da es sich um unseren lokalen llama.cpp-Dienst handelt.
from openai importOpenAI
llm_client = OpenAI(base_url="http://localhost:8080/v1", api_key="no-key")
-
Generate a test embedding and print its dimension and first few elements.
+
Erzeugen Sie eine Testeinbettung und geben Sie deren Dimension und die ersten Elemente aus.
test_embedding = embedding_model.embed_query("This is a test")
embedding_dim = len(test_embedding)
print(embedding_dim)
@@ -228,10 +229,10 @@ embedding_dim = len(test_embedding)
Convert the retrieved documents into a string format.
+
LLM verwenden, um eine RAG-Antwort zu erhalten
Konvertieren Sie die abgerufenen Dokumente in ein String-Format.
context = "\n".join(
[line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]
)
@@ -285,7 +286,7 @@ Use the following pieces of information enclosed in <context> tags to prov
</question>
"""
-
Use LLM to generate a response based on the prompts. We set the model parameter to not-used since it is a redundant parameter for the llama.cpp service.
+
Verwenden Sie LLM, um eine Antwort basierend auf den Eingabeaufforderungen zu generieren. Wir setzen den Parameter model auf not-used, da er ein redundanter Parameter für den Dienst llama.cpp ist.
response = llm_client.chat.completions.create(
model="not-used",
messages=[
@@ -298,4 +299,4 @@ Use the following pieces of information enclosed in <context> tags to prov
Milvus stores data in two types: inserted data and metadata. Inserted data, including vector data, scalar data, and collection-specific schema, are stored in persistent storage as incremental log. Milvus supports multiple object storage backends such as MinIO, AWS S3, Google Cloud Storage (GCS), Azure Blob Storage, Alibaba Cloud OSS, and Tencent Cloud Object Storage (COS). Metadata are generated within Milvus and each Milvus module has its own metadata that are stored in etcd.
-
Congratulations! You have built a RAG application on top of the Arm-based infrastructures.
+
Herzlichen Glückwunsch! Sie haben eine RAG-Anwendung auf Basis der Arm-basierten Infrastrukturen erstellt.
diff --git a/localization/v2.5.x/site/de/integrations/dify_with_milvus.json b/localization/v2.5.x/site/de/integrations/dify_with_milvus.json
index 4ba018473..584cb62b3 100644
--- a/localization/v2.5.x/site/de/integrations/dify_with_milvus.json
+++ b/localization/v2.5.x/site/de/integrations/dify_with_milvus.json
@@ -1 +1 @@
-{"codeList":["git clone https://github.com/langgenius/dify.git\n","cd dify/docker\n","cp .env.example .env\n","VECTOR_STORE=milvus\n","MILVUS_URI=xxx\nMILVUS_TOKEN=xxx\n","docker compose up -d\n","docker-compose up -d\n"],"headingContent":"Deploying Dify with Milvus","anchorList":[{"label":"Deploying Dify with Milvus","href":"Deploying-Dify-with-Milvus","type":1,"isActive":false},{"label":"Clone the Repository","href":"Clone-the-Repository","type":2,"isActive":false},{"label":"Set the Environment Variables","href":"Set-the-Environment-Variables","type":2,"isActive":false},{"label":"Start the Docker Containers","href":"Start-the-Docker-Containers","type":2,"isActive":false},{"label":"Log in to Dify","href":"Log-in-to-Dify","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["git clone https://github.com/langgenius/dify.git\n","cd dify/docker\n","cp .env.example .env\n","VECTOR_STORE=milvus\n","MILVUS_URI=xxx\nMILVUS_TOKEN=xxx\n","docker compose up -d\n","docker-compose up -d\n"],"headingContent":"Deploying Dify with Milvus","anchorList":[{"label":"Bereitstellung von Dify mit Milvus","href":"Deploying-Dify-with-Milvus","type":1,"isActive":false},{"label":"Klonen des Repositorys","href":"Clone-the-Repository","type":2,"isActive":false},{"label":"Setzen Sie die Umgebungsvariablen","href":"Set-the-Environment-Variables","type":2,"isActive":false},{"label":"Starten Sie die Docker-Container","href":"Start-the-Docker-Containers","type":2,"isActive":false},{"label":"Melden Sie sich bei Dify an","href":"Log-in-to-Dify","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/dify_with_milvus.md b/localization/v2.5.x/site/de/integrations/dify_with_milvus.md
index d1daf33f3..ad0164e26 100644
--- a/localization/v2.5.x/site/de/integrations/dify_with_milvus.md
+++ b/localization/v2.5.x/site/de/integrations/dify_with_milvus.md
@@ -1,11 +1,11 @@
---
id: dify_with_milvus.md
summary: >-
- In this tutorial, we will show you how to deploy Dify with Milvus, to enable
- efficient retrieval and RAG engine.
-title: Deploying Dify with Milvus
+ In diesem Tutorial zeigen wir Ihnen, wie Sie Dify mit Milvus einsetzen, um ein
+ effizientes Retrieval und eine RAG-Engine zu ermöglichen.
+title: Bereitstellung von Dify mit Milvus
---
-
Deploying Dify with Milvus
+
Bereitstellung von Dify mit Milvus
-
Dify is an open-source platform designed to simplify building AI applications by combining Backend-as-a-Service with LLMOps. It supports mainstream LLMs, offers an intuitive prompt orchestration interface, high-quality RAG engines, and a flexible AI agent framework. With low-code workflows, easy-to-use interfaces, and APIs, Dify enables both developers and non-technical users to focus on creating innovative, real-world AI solutions without dealing with complexity.
-
In this tutorial, we will show you how to deploy Dify with Milvus, to enable efficient retrieval and RAG engine.
-
Clone the Repository
+
Dify ist eine Open-Source-Plattform, die die Entwicklung von KI-Anwendungen durch die Kombination von Backend-as-a-Service mit LLMOps vereinfachen soll. Sie unterstützt gängige LLMs, bietet eine intuitive Prompt-Orchestrierungsschnittstelle, hochwertige RAG-Engines und ein flexibles KI-Agenten-Framework. Mit Low-Code-Workflows, benutzerfreundlichen Schnittstellen und APIs ermöglicht es Dify sowohl Entwicklern als auch technisch nicht versierten Anwendern, sich auf die Erstellung innovativer, realer KI-Lösungen zu konzentrieren, ohne sich mit Komplexität auseinandersetzen zu müssen.
+
In diesem Tutorial zeigen wir Ihnen, wie Sie Dify mit Milvus einsetzen können, um ein effizientes Retrieval und eine RAG-Engine zu ermöglichen.
+
Klonen des Repositorys
-
Clone the Dify source code to your local machine:
+
Klonen Sie den Dify-Quellcode auf Ihren lokalen Rechner:
git clone https://github.com/langgenius/dify.git
-
Set the Environment Variables
+
Setzen Sie die Umgebungsvariablen
-
Navigate to the Docker directory in the Dify source code
+
Navigieren Sie zu dem Docker-Verzeichnis im Dify-Quellcode
cd dify/docker
-
Copy the environment configuration file
+
Kopieren Sie die Umgebungskonfigurationsdatei
cp .env.example .env
-
Change the value VECTOR_STORE in the .env file
+
Ändern Sie den Wert VECTOR_STORE in der Datei .env
VECTOR_STORE=milvus
-
Change the Milvus configuration in the .env file
+
Ändern Sie die Milvus-Konfiguration in der Datei .env
MILVUS_URI=xxx
MILVUS_TOKEN=xxx
-
In this setup, please use the external URI of the server, e.g.http://172.16.16.16:19530, as your MILVUS_URI.
-
For the MILVUS_TOKEN, if you have not set a token for your Milvus server, you can set it to an empty string like MILVUS_TOKEN=, otherwise, you need to set it to your Milvus token. For more information about how to set token in Milvus, you can refer the authenticate page.
-
Start the Docker Containers
+
In diesem Setup verwenden Sie bitte die externe URI des Servers, z.B.http://172.16.16.16:19530, als Ihre MILVUS_URI.
+
Wenn Sie für MILVUS_TOKEN kein Token für Ihren Milvus-Server festgelegt haben, können Sie es auf eine leere Zeichenfolge wie MILVUS_TOKEN= setzen, andernfalls müssen Sie es auf Ihr Milvus-Token setzen. Weitere Informationen über das Setzen von Token in Milvus finden Sie auf der Seite authenticate.
+
Starten Sie die Docker-Container
-
Choose the appropriate command to start the containers based on the Docker Compose version on your system. You can use the $ docker compose version command to check the version, and refer to the Docker documentation for more information:
-
If you have Docker Compose V2, use the following command:
+
Wählen Sie den entsprechenden Befehl zum Starten der Container auf der Grundlage der Docker Compose-Version auf Ihrem System. Sie können den Befehl $ docker compose version verwenden, um die Version zu überprüfen, und weitere Informationen in der Docker-Dokumentation nachlesen:
+
Wenn Sie Docker Compose V2 haben, verwenden Sie den folgenden Befehl:
docker compose up -d
-
If you have Docker Compose V1, use the following command:
+
Wenn Sie Docker Compose V1 haben, verwenden Sie den folgenden Befehl:
docker-compose up -d
-
Log in to Dify
+
Melden Sie sich bei Dify an
-
Open your browser and go to the Dify installation page, and you can set your admin account here:
-http://localhost/install ,
-And then log in the main Dify page for further usage.
Öffnen Sie Ihren Browser und rufen Sie die Dify-Installationsseite auf. Hier können Sie Ihr Administratorkonto einrichten:http://localhost/install. Dann melden Sie sich auf der Dify-Hauptseite zur weiteren Verwendung an.
+
Weitere Informationen zur Verwendung und Anleitung finden Sie in der Dify-Dokumentation.
diff --git a/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.json b/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.json
index 8fada9811..6b2bfdeb6 100644
--- a/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.json
+++ b/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.json
@@ -1 +1 @@
-{"codeList":["$ pip install --upgrade pymilvus openai requests tqdm pandas deepeval\n","import os\n\nos.environ[\"OPENAI_API_KEY\"] = \"sk-*****************\"\n","from typing import List\nfrom tqdm import tqdm\nfrom openai import OpenAI\nfrom pymilvus import MilvusClient\n\n\nclass RAG:\n \"\"\"\n RAG(Retrieval-Augmented Generation) class built upon OpenAI and Milvus.\n \"\"\"\n\n def __init__(self, openai_client: OpenAI, milvus_client: MilvusClient):\n self._prepare_openai(openai_client)\n self._prepare_milvus(milvus_client)\n\n def _emb_text(self, text: str) -> List[float]:\n return (\n self.openai_client.embeddings.create(input=text, model=self.embedding_model)\n .data[0]\n .embedding\n )\n\n def _prepare_openai(\n self,\n openai_client: OpenAI,\n embedding_model: str = \"text-embedding-3-small\",\n llm_model: str = \"gpt-4o-mini\",\n ):\n self.openai_client = openai_client\n self.embedding_model = embedding_model\n self.llm_model = llm_model\n self.SYSTEM_PROMPT = \"\"\"\n Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n \"\"\"\n self.USER_PROMPT = \"\"\"\n Use the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n \n {context}\n \n \n {question}\n \n \"\"\"\n\n def _prepare_milvus(\n self, milvus_client: MilvusClient, collection_name: str = \"rag_collection\"\n ):\n self.milvus_client = milvus_client\n self.collection_name = collection_name\n if self.milvus_client.has_collection(self.collection_name):\n self.milvus_client.drop_collection(self.collection_name)\n embedding_dim = len(self._emb_text(\"demo\"))\n self.milvus_client.create_collection(\n collection_name=self.collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\",\n consistency_level=\"Strong\",\n )\n\n def load(self, texts: List[str]):\n \"\"\"\n Load the text data into Milvus.\n \"\"\"\n data = []\n for i, line in enumerate(tqdm(texts, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": self._emb_text(line), \"text\": line})\n self.milvus_client.insert(collection_name=self.collection_name, data=data)\n\n def retrieve(self, question: str, top_k: int = 3) -> List[str]:\n \"\"\"\n Retrieve the most similar text data to the given question.\n \"\"\"\n search_res = self.milvus_client.search(\n collection_name=self.collection_name,\n data=[self._emb_text(question)],\n limit=top_k,\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # inner product distance\n output_fields=[\"text\"], # Return the text field\n )\n retrieved_texts = [res[\"entity\"][\"text\"] for res in search_res[0]]\n return retrieved_texts[:top_k]\n\n def answer(\n self,\n question: str,\n retrieval_top_k: int = 3,\n return_retrieved_text: bool = False,\n ):\n \"\"\"\n Answer the given question with the retrieved knowledge.\n \"\"\"\n retrieved_texts = self.retrieve(question, top_k=retrieval_top_k)\n user_prompt = self.USER_PROMPT.format(\n context=\"\\n\".join(retrieved_texts), question=question\n )\n response = self.openai_client.chat.completions.create(\n model=self.llm_model,\n messages=[\n {\"role\": \"system\", \"content\": self.SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": user_prompt},\n ],\n )\n if not return_retrieved_text:\n return response.choices[0].message.content\n else:\n return response.choices[0].message.content, retrieved_texts\n","openai_client = OpenAI()\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\nmy_rag = RAG(openai_client=openai_client, milvus_client=milvus_client)\n","import urllib.request\nimport os\n\nurl = \"https://raw.githubusercontent.com/milvus-io/milvus/master/DEVELOPMENT.md\"\nfile_path = \"./Milvus_DEVELOPMENT.md\"\n\nif not os.path.exists(file_path):\n urllib.request.urlretrieve(url, file_path)\nwith open(file_path, \"r\") as file:\n file_text = file.read()\n\ntext_lines = file_text.split(\"# \")\nmy_rag.load(text_lines)\n","question = \"what is the hardware requirements specification if I want to build Milvus and run from source code?\"\nmy_rag.answer(question, return_retrieved_text=True)\n","from datasets import Dataset\nimport pandas as pd\n\nquestion_list = [\n \"what is the hardware requirements specification if I want to build Milvus and run from source code?\",\n \"What is the programming language used to write Knowhere?\",\n \"What should be ensured before running code coverage?\",\n]\nground_truth_list = [\n \"If you want to build Milvus and run from source code, the recommended hardware requirements specification is:\\n\\n- 8GB of RAM\\n- 50GB of free disk space.\",\n \"The programming language used to write Knowhere is C++.\",\n \"Before running code coverage, you should make sure that your code changes are covered by unit tests.\",\n]\ncontexts_list = []\nanswer_list = []\nfor question in tqdm(question_list, desc=\"Answering questions\"):\n answer, contexts = my_rag.answer(question, return_retrieved_text=True)\n contexts_list.append(contexts)\n answer_list.append(answer)\n\ndf = pd.DataFrame(\n {\n \"question\": question_list,\n \"contexts\": contexts_list,\n \"answer\": answer_list,\n \"ground_truth\": ground_truth_list,\n }\n)\nrag_results = Dataset.from_pandas(df)\ndf\n","from deepeval.metrics import (\n ContextualPrecisionMetric,\n ContextualRecallMetric,\n ContextualRelevancyMetric,\n)\nfrom deepeval.test_case import LLMTestCase\nfrom deepeval import evaluate\n\ncontextual_precision = ContextualPrecisionMetric()\ncontextual_recall = ContextualRecallMetric()\ncontextual_relevancy = ContextualRelevancyMetric()\n\ntest_cases = []\n\nfor index, row in df.iterrows():\n test_case = LLMTestCase(\n input=row[\"question\"],\n actual_output=row[\"answer\"],\n expected_output=row[\"ground_truth\"],\n retrieval_context=row[\"contexts\"],\n )\n test_cases.append(test_case)\n\n# test_cases\nresult = evaluate(\n test_cases=test_cases,\n metrics=[contextual_precision, contextual_recall, contextual_relevancy],\n print_results=False, # Change to True to see detailed metric results\n)\n","from deepeval.metrics import AnswerRelevancyMetric, FaithfulnessMetric\nfrom deepeval.test_case import LLMTestCase\nfrom deepeval import evaluate\n\nanswer_relevancy = AnswerRelevancyMetric()\nfaithfulness = FaithfulnessMetric()\n\ntest_cases = []\n\nfor index, row in df.iterrows():\n test_case = LLMTestCase(\n input=row[\"question\"],\n actual_output=row[\"answer\"],\n expected_output=row[\"ground_truth\"],\n retrieval_context=row[\"contexts\"],\n )\n test_cases.append(test_case)\n\n# test_cases\nresult = evaluate(\n test_cases=test_cases,\n metrics=[answer_relevancy, faithfulness],\n print_results=False, # Change to True to see detailed metric results\n)\n"],"headingContent":"Evaluation with DeepEval","anchorList":[{"label":"Evaluation with DeepEval","href":"Evaluation-with-DeepEval","type":1,"isActive":false},{"label":"Prerequisites","href":"Prerequisites","type":2,"isActive":false},{"label":"Define the RAG pipeline","href":"Define-the-RAG-pipeline","type":2,"isActive":false},{"label":"Run the RAG pipeline and get results","href":"Run-the-RAG-pipeline-and-get-results","type":2,"isActive":false},{"label":"Evaluating Retriever","href":"Evaluating-Retriever","type":2,"isActive":false},{"label":"Evaluating Generation","href":"Evaluating-Generation","type":2,"isActive":false}]}
\ No newline at end of file
+{"codeList":["$ pip install --upgrade pymilvus openai requests tqdm pandas deepeval\n","import os\n\nos.environ[\"OPENAI_API_KEY\"] = \"sk-*****************\"\n","from typing import List\nfrom tqdm import tqdm\nfrom openai import OpenAI\nfrom pymilvus import MilvusClient\n\n\nclass RAG:\n \"\"\"\n RAG(Retrieval-Augmented Generation) class built upon OpenAI and Milvus.\n \"\"\"\n\n def __init__(self, openai_client: OpenAI, milvus_client: MilvusClient):\n self._prepare_openai(openai_client)\n self._prepare_milvus(milvus_client)\n\n def _emb_text(self, text: str) -> List[float]:\n return (\n self.openai_client.embeddings.create(input=text, model=self.embedding_model)\n .data[0]\n .embedding\n )\n\n def _prepare_openai(\n self,\n openai_client: OpenAI,\n embedding_model: str = \"text-embedding-3-small\",\n llm_model: str = \"gpt-4o-mini\",\n ):\n self.openai_client = openai_client\n self.embedding_model = embedding_model\n self.llm_model = llm_model\n self.SYSTEM_PROMPT = \"\"\"\n Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided.\n \"\"\"\n self.USER_PROMPT = \"\"\"\n Use the following pieces of information enclosed in tags to provide an answer to the question enclosed in tags.\n \n {context}\n \n \n {question}\n \n \"\"\"\n\n def _prepare_milvus(\n self, milvus_client: MilvusClient, collection_name: str = \"rag_collection\"\n ):\n self.milvus_client = milvus_client\n self.collection_name = collection_name\n if self.milvus_client.has_collection(self.collection_name):\n self.milvus_client.drop_collection(self.collection_name)\n embedding_dim = len(self._emb_text(\"demo\"))\n self.milvus_client.create_collection(\n collection_name=self.collection_name,\n dimension=embedding_dim,\n metric_type=\"IP\",\n consistency_level=\"Strong\",\n )\n\n def load(self, texts: List[str]):\n \"\"\"\n Load the text data into Milvus.\n \"\"\"\n data = []\n for i, line in enumerate(tqdm(texts, desc=\"Creating embeddings\")):\n data.append({\"id\": i, \"vector\": self._emb_text(line), \"text\": line})\n self.milvus_client.insert(collection_name=self.collection_name, data=data)\n\n def retrieve(self, question: str, top_k: int = 3) -> List[str]:\n \"\"\"\n Retrieve the most similar text data to the given question.\n \"\"\"\n search_res = self.milvus_client.search(\n collection_name=self.collection_name,\n data=[self._emb_text(question)],\n limit=top_k,\n search_params={\"metric_type\": \"IP\", \"params\": {}}, # inner product distance\n output_fields=[\"text\"], # Return the text field\n )\n retrieved_texts = [res[\"entity\"][\"text\"] for res in search_res[0]]\n return retrieved_texts[:top_k]\n\n def answer(\n self,\n question: str,\n retrieval_top_k: int = 3,\n return_retrieved_text: bool = False,\n ):\n \"\"\"\n Answer the given question with the retrieved knowledge.\n \"\"\"\n retrieved_texts = self.retrieve(question, top_k=retrieval_top_k)\n user_prompt = self.USER_PROMPT.format(\n context=\"\\n\".join(retrieved_texts), question=question\n )\n response = self.openai_client.chat.completions.create(\n model=self.llm_model,\n messages=[\n {\"role\": \"system\", \"content\": self.SYSTEM_PROMPT},\n {\"role\": \"user\", \"content\": user_prompt},\n ],\n )\n if not return_retrieved_text:\n return response.choices[0].message.content\n else:\n return response.choices[0].message.content, retrieved_texts\n","openai_client = OpenAI()\nmilvus_client = MilvusClient(uri=\"./milvus_demo.db\")\n\nmy_rag = RAG(openai_client=openai_client, milvus_client=milvus_client)\n","import urllib.request\nimport os\n\nurl = \"https://raw.githubusercontent.com/milvus-io/milvus/master/DEVELOPMENT.md\"\nfile_path = \"./Milvus_DEVELOPMENT.md\"\n\nif not os.path.exists(file_path):\n urllib.request.urlretrieve(url, file_path)\nwith open(file_path, \"r\") as file:\n file_text = file.read()\n\ntext_lines = file_text.split(\"# \")\nmy_rag.load(text_lines)\n","question = \"what is the hardware requirements specification if I want to build Milvus and run from source code?\"\nmy_rag.answer(question, return_retrieved_text=True)\n","from datasets import Dataset\nimport pandas as pd\n\nquestion_list = [\n \"what is the hardware requirements specification if I want to build Milvus and run from source code?\",\n \"What is the programming language used to write Knowhere?\",\n \"What should be ensured before running code coverage?\",\n]\nground_truth_list = [\n \"If you want to build Milvus and run from source code, the recommended hardware requirements specification is:\\n\\n- 8GB of RAM\\n- 50GB of free disk space.\",\n \"The programming language used to write Knowhere is C++.\",\n \"Before running code coverage, you should make sure that your code changes are covered by unit tests.\",\n]\ncontexts_list = []\nanswer_list = []\nfor question in tqdm(question_list, desc=\"Answering questions\"):\n answer, contexts = my_rag.answer(question, return_retrieved_text=True)\n contexts_list.append(contexts)\n answer_list.append(answer)\n\ndf = pd.DataFrame(\n {\n \"question\": question_list,\n \"contexts\": contexts_list,\n \"answer\": answer_list,\n \"ground_truth\": ground_truth_list,\n }\n)\nrag_results = Dataset.from_pandas(df)\ndf\n","from deepeval.metrics import (\n ContextualPrecisionMetric,\n ContextualRecallMetric,\n ContextualRelevancyMetric,\n)\nfrom deepeval.test_case import LLMTestCase\nfrom deepeval import evaluate\n\ncontextual_precision = ContextualPrecisionMetric()\ncontextual_recall = ContextualRecallMetric()\ncontextual_relevancy = ContextualRelevancyMetric()\n\ntest_cases = []\n\nfor index, row in df.iterrows():\n test_case = LLMTestCase(\n input=row[\"question\"],\n actual_output=row[\"answer\"],\n expected_output=row[\"ground_truth\"],\n retrieval_context=row[\"contexts\"],\n )\n test_cases.append(test_case)\n\n# test_cases\nresult = evaluate(\n test_cases=test_cases,\n metrics=[contextual_precision, contextual_recall, contextual_relevancy],\n print_results=False, # Change to True to see detailed metric results\n)\n","from deepeval.metrics import AnswerRelevancyMetric, FaithfulnessMetric\nfrom deepeval.test_case import LLMTestCase\nfrom deepeval import evaluate\n\nanswer_relevancy = AnswerRelevancyMetric()\nfaithfulness = FaithfulnessMetric()\n\ntest_cases = []\n\nfor index, row in df.iterrows():\n test_case = LLMTestCase(\n input=row[\"question\"],\n actual_output=row[\"answer\"],\n expected_output=row[\"ground_truth\"],\n retrieval_context=row[\"contexts\"],\n )\n test_cases.append(test_case)\n\n# test_cases\nresult = evaluate(\n test_cases=test_cases,\n metrics=[answer_relevancy, faithfulness],\n print_results=False, # Change to True to see detailed metric results\n)\n"],"headingContent":"Evaluation with DeepEval","anchorList":[{"label":"Auswertung mit DeepEval","href":"Evaluation-with-DeepEval","type":1,"isActive":false},{"label":"Voraussetzungen","href":"Prerequisites","type":2,"isActive":false},{"label":"Definieren Sie die RAG-Pipeline","href":"Define-the-RAG-pipeline","type":2,"isActive":false},{"label":"Führen Sie die RAG-Pipeline aus und erhalten Sie die Ergebnisse","href":"Run-the-RAG-pipeline-and-get-results","type":2,"isActive":false},{"label":"Retriever auswerten","href":"Evaluating-Retriever","type":2,"isActive":false},{"label":"Evaluierung der Generierung","href":"Evaluating-Generation","type":2,"isActive":false}]}
\ No newline at end of file
diff --git a/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.md b/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.md
index 3c7a41b62..34ec6e0ff 100644
--- a/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.md
+++ b/localization/v2.5.x/site/de/integrations/evaluation_with_deepeval.md
@@ -1,11 +1,11 @@
---
id: evaluation_with_deepeval.md
summary: >-
- This guide demonstrates how to use DeepEval to evaluate a Retrieval-Augmented
- Generation (RAG) pipeline built upon Milvus.
-title: Evaluation with DeepEval
+ Dieser Leitfaden zeigt, wie man DeepEval verwendet, um eine auf Milvus
+ aufbauende Retrieval-Augmented Generation (RAG) Pipeline zu evaluieren.
+title: Auswertung mit DeepEval
---
-
Evaluation with DeepEval
+
Auswertung mit DeepEval
-
This guide demonstrates how to use DeepEval to evaluate a Retrieval-Augmented Generation (RAG) pipeline built upon Milvus.
-
The RAG system combines a retrieval system with a generative model to generate new text based on a given prompt. The system first retrieves relevant documents from a corpus using Milvus, and then uses a generative model to generate new text based on the retrieved documents.
-
DeepEval is a framework that helps you evaluate your RAG pipelines. There are existing tools and frameworks that help you build these pipelines but evaluating it and quantifying your pipeline performance can be hard. This is where DeepEval comes in.
-
Prerequisites
+
Dieser Leitfaden demonstriert die Verwendung von DeepEval zur Evaluierung einer Retrieval-Augmented Generation (RAG) Pipeline, die auf Milvus aufbaut.
+
Das RAG-System kombiniert ein Retrievalsystem mit einem generativen Modell, um neuen Text auf der Grundlage einer vorgegebenen Aufforderung zu generieren. Das System ruft zunächst relevante Dokumente aus einem Korpus mit Milvus ab und verwendet dann ein generatives Modell, um neuen Text auf der Grundlage der abgerufenen Dokumente zu erzeugen.
+
DeepEval ist ein Framework, das Sie bei der Bewertung Ihrer RAG-Pipelines unterstützt. Es gibt bereits Tools und Frameworks, die Ihnen bei der Erstellung dieser Pipelines helfen, aber die Bewertung und Quantifizierung der Leistung Ihrer Pipelines kann schwierig sein. Hier kommt DeepEval ins Spiel.
+
Voraussetzungen
-
Before running this notebook, make sure you have the following dependencies installed:
+
Vergewissern Sie sich, dass Sie die folgenden Abhängigkeiten installiert haben, bevor Sie dieses Notizbuch ausführen:
If you are using Google Colab, to enable dependencies just installed, you may need to restart the runtime (click on the “Runtime” menu at the top of the screen, and select “Restart session” from the dropdown menu).
+
Wenn Sie Google Colab verwenden, müssen Sie möglicherweise die Runtime neu starten, um die soeben installierten Abhängigkeiten zu aktivieren (klicken Sie auf das Menü "Runtime" am oberen Rand des Bildschirms und wählen Sie "Restart session" aus dem Dropdown-Menü).
-
We will use OpenAI as the LLM in this example. You should prepare the api keyOPENAI_API_KEY as an environment variable.
+
Wir werden in diesem Beispiel OpenAI als LLM verwenden. Sie sollten den Api-SchlüsselOPENAI_API_KEY als Umgebungsvariable vorbereiten.
import os
os.environ["OPENAI_API_KEY"] = "sk-*****************"
We will define the RAG class that use Milvus as the vector store, and OpenAI as the LLM.
-The class contains the load method, which loads the text data into Milvus, the retrieve method, which retrieves the most similar text data to the given question, and the answer method, which answers the given question with the retrieved knowledge.
+
Wir werden die RAG-Klasse definieren, die Milvus als Vektorspeicher und OpenAI als LLM verwendet. Die Klasse enthält die Methode load, die die Textdaten in Milvus lädt, die Methode retrieve, die die ähnlichsten Textdaten zur gegebenen Frage abruft, und die Methode answer, die die gegebene Frage mit dem abgerufenen Wissen beantwortet.
from typing importListfrom tqdm import tqdm
from openai import OpenAI
@@ -175,21 +174,21 @@ The class contains the load method, which loads the
else:
return response.choices[0].message.content, retrieved_texts
-
Let’s initialize the RAG class with OpenAI and Milvus clients.
+
Initialisieren wir die RAG-Klasse mit OpenAI- und Milvus-Clients.
Setting the uri as a local file, e.g../milvus.db, is the most convenient method, as it automatically utilizes Milvus Lite to store all data in this file.
-
If you have large scale of data, you can set up a more performant Milvus server on docker or kubernetes. In this setup, please use the server uri, e.g.http://localhost:19530, as your uri.
-
If you want to use Zilliz Cloud, the fully managed cloud service for Milvus, adjust the uri and token, which correspond to the Public Endpoint and Api key in Zilliz Cloud.
+
Die Einstellung von uri als lokale Datei, z.B../milvus.db, ist die bequemste Methode, da sie automatisch Milvus Lite nutzt, um alle Daten in dieser Datei zu speichern.
+
Wenn Sie große Datenmengen haben, können Sie einen leistungsfähigeren Milvus-Server auf Docker oder Kubernetes einrichten. Bei dieser Einrichtung verwenden Sie bitte die Server-Uri, z. B.http://localhost:19530, als uri.
Let’s define a query question about the content of the development guide documentation. And then use the answer method to get the answer and the retrieved context texts.
+
Lassen Sie uns eine Abfrage über den Inhalt der Dokumentation des Entwicklungshandbuchs definieren. Und dann verwenden wir die Methode answer, um die Antwort und die abgerufenen Kontexttexte zu erhalten.
question = "what is the hardware requirements specification if I want to build Milvus and run from source code?"
my_rag.answer(question, return_retrieved_text=True)
Use
+verwenden
-- Manage Collections
-- Insert, Upsert, and Delete
-- Index Vector Fields
-- Single-Vector Search
-- Get & Scalar Query
+- Verwalten von Sammlungen
+- Einfügen, Upsert und Löschen
+- Vektorfelder indizieren
+- Ein-Vektor-Suche
+- Hole & Skalare Abfrage