Voyage
Milvus s'intègre aux modèles de Voyage via la classe VoyageEmbeddingFunction. Cette classe fournit des méthodes pour encoder les documents et les requêtes à l'aide des modèles Voyage et renvoyer les embeddings sous forme de vecteurs denses compatibles avec l'indexation Milvus. Pour utiliser cette fonctionnalité, obtenez une clé API de Voyage en créant un compte sur leur plateforme.
Pour utiliser cette fonctionnalité, installez les dépendances nécessaires :
pip install --upgrade pymilvus
pip install "pymilvus[model]"
Ensuite, instanciez l'application VoyageEmbeddingFunction
:
from pymilvus.model.dense import VoyageEmbeddingFunction
voyage_ef = VoyageEmbeddingFunction(
model_name="voyage-3", # Defaults to `voyage-3`
api_key=VOYAGE_API_KEY # Provide your Voyage API key
)
Paramètres:
model_name
(string) Le nom du modèle Voyage à utiliser pour l'encodage. Vous pouvez spécifier n'importe quel nom de modèle Voyage disponible, par exemple,voyage-3-lite
,voyage-finance-2
, etc. Si ce paramètre n'est pas spécifié,voyage-3
sera utilisé. Pour obtenir la liste des modèles disponibles, reportez-vous à la documentation officielle de Voyage.api_key
(chaîne) La clé API pour accéder à l'API de Voyage. Pour plus d'informations sur la création d'une clé API, reportez-vous à Clé API et client Python.
Pour créer des embeddings pour les documents, utilisez la méthode 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.",
"Born in Maida Vale, London, Turing was raised in southern England.",
]
docs_embeddings = voyage_ef.encode_documents(docs)
# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", voyage_ef.dim, docs_embeddings[0].shape)
Le résultat attendu est similaire à ce qui suit :
Embeddings: [array([ 0.02582654, -0.00907086, -0.04604037, ..., -0.01227521,
0.04420955, -0.00038829]), array([ 0.03844212, -0.01597065, -0.03728884, ..., -0.02118733,
0.03349845, 0.0065346 ]), array([ 0.05143557, -0.01096631, -0.02690451, ..., -0.02416254,
0.07658645, 0.03064499])]
Dim: 1024 (1024,)
Pour créer des embeddings pour des requêtes, utilisez la méthode encode_queries()
:
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
query_embeddings = voyage_ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", voyage_ef.dim, query_embeddings[0].shape)
Le résultat attendu est similaire à ce qui suit :
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 ])]
Dim 1024 (1024,)