Voyage
O Milvus integra-se com os modelos do Voyage através da classe VoyageEmbeddingFunction. Esta classe fornece métodos para codificar documentos e consultas utilizando os modelos Voyage e devolvendo os embeddings como vectores densos compatíveis com a indexação Milvus. Para utilizar esta funcionalidade, obtenha uma chave de API da Voyage criando uma conta na plataforma.
Para usar esse recurso, instale as dependências necessárias:
pip install --upgrade pymilvus
pip install "pymilvus[model]"
Em seguida, instancie o 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
)
Parâmetros:
model_name
(string) O nome do modelo Voyage a ser usado para codificação. Pode especificar qualquer um dos nomes de modelos Voyage disponíveis, por exemplo,voyage-3-lite
,voyage-finance-2
, etc. Se este parâmetro não for especificado, será utilizadovoyage-3
. Para obter uma lista dos modelos disponíveis, consulte a documentação oficial do Voyage.api_key
(string) A chave da API para acessar a API do Voyage. Para obter informações sobre como criar uma chave de API, consulte Chave de API e cliente Python.
Para criar embeddings para documentos, use o método 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)
A saída esperada é semelhante à seguinte:
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,)
Para criar embeddings para consultas, utilize o método 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)
A saída esperada é semelhante à seguinte:
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,)