Yandex CloudCompatible with Milvus 2.6.x
In diesem Thema wird beschrieben, wie Sie die Einbettungsfunktionen von Yandex Cloud in Milvus konfigurieren und verwenden.
Wählen Sie ein Einbettungsmodell aus
Milvus unterstützt Textvektorisierungsmodelle von Yandex Cloud AI Studio über den Anbieter „ yc “. Legen Sie in den Funktionsparametern unter „ model_name “ die URI des Yandex Cloud-Modells fest, das Milvus aufrufen soll.
Beispielsweise verwenden „Yandex Text Embeddings“ für Dokumente eine Modell-URI wie emb://<folder_ID>/text-search-doc/latest und geben 256-dimensionale Vektoren zurück. Informationen zu verfügbaren Modell-URIs und Dimensionen finden Sie unter „Textvektorisierungsmodelle“.
Anmeldedaten konfigurieren
Milvus muss Ihren Yandex Cloud-API-Schlüssel kennen, bevor es Einbettungen anfordern kann. Sie können den API-Schlüssel unter milvus.yaml oder über eine Umgebungsvariable konfigurieren.
Option 1: Konfigurationsdatei
Speichern Sie Ihren API-Schlüssel unter milvus.yaml und verweisen Sie den Yandex Cloud-Anbieter auf das Anmeldeinformationen-Label.
# milvus.yaml
credential:
yandex_apikey:
apikey: <YOUR_YC_API_KEY>
function:
textEmbedding:
providers:
yc:
credential: yandex_apikey
# url: https://llm.api.cloud.yandex.net/foundationModels/v1/textEmbedding
Option 2: Umgebungsvariable
Wenn in „ milvus.yaml “ keine passenden Anmeldedaten konfiguriert sind, kann Milvus den Yandex Cloud-API-Schlüssel aus der folgenden Umgebungsvariablen auslesen:
Variable |
Erforderlich? |
Beschreibung |
|---|---|---|
|
Ja |
Yandex-Cloud-API-Schlüssel, der vom Milvus-Dienst zum Aufruf von Yandex Cloud AI Studio verwendet wird. |
Einbettungsfunktion verwenden
Sobald die Anmeldedaten konfiguriert sind, definieren Sie ein Schema mit einem Eingabetextfeld und einem Ausgabevektorfeld und fügen Sie dem Schema anschließend eine Yandex Cloud-Embedding-Funktion hinzu.
from pymilvus import MilvusClient, DataType, Function, FunctionType
client = MilvusClient(uri="http://localhost:19530")
schema = client.create_schema()
schema.add_field("id", DataType.INT64, is_primary=True, auto_id=False)
schema.add_field("document", DataType.VARCHAR, max_length=9000)
schema.add_field("dense", DataType.FLOAT_VECTOR, dim=256)
text_embedding_function = Function(
name="yandex_cloud_embedding",
function_type=FunctionType.TEXTEMBEDDING,
input_field_names=["document"],
output_field_names=["dense"],
params={
"provider": "yc",
"model_name": "emb://<folder_ID>/text-search-doc/latest",
"credential": "yandex_apikey",
"dim": "256",
},
)
schema.add_function(text_embedding_function)
Yandex Cloud-spezifische Parameter
Parameter |
Erforderlich? |
Beschreibung |
Wert / Beispiel |
|---|---|---|---|
|
Ja |
Der zu verwendende Anbieter des Einbettungsmodells. |
|
|
Ja |
Die URI des aufzurufenden Yandex Cloud-Modells. |
|
|
Nein |
Die Bezeichnung einer Anmeldeinformation, die im obersten Abschnitt „ |
|
|
Nein |
Die Dimension des Ausgabevektors. Falls festgelegt, muss der Wert mit der Dimension des Ausgabevektorfeldes übereinstimmen. |
|
Nächste Schritte
Nachdem Sie die Einbettungsfunktion konfiguriert haben, finden Sie im Abschnitt „Übersicht über Einbettungsfunktionen“ Anleitungen zum Erstellen von Indizes, zum Einfügen von Daten und zum Ausführen der semantischen Suche.