🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Model

SPLADE

SPLADE embedding adalah model yang menawarkan representasi yang sangat jarang untuk dokumen dan kueri, mewarisi properti yang diinginkan dari model bag-of-words (BOW) seperti pencocokan istilah yang tepat dan efisiensi.

Milvus berintegrasi dengan model SPLADE melalui kelas SpladeEmbeddingFunction. Kelas ini menyediakan metode untuk mengkodekan dokumen dan kueri dan mengembalikan sematan sebagai vektor jarang yang kompatibel dengan pengindeksan Milvus.

Untuk menggunakan fitur ini, instal dependensi yang diperlukan:

pip install --upgrade pymilvus
pip install "pymilvus[model]"

Untuk menginstansiasi SpladeEmbeddingFunction, gunakan perintah:

from pymilvus import model

splade_ef = model.sparse.SpladeEmbeddingFunction(
    model_name="naver/splade-cocondenser-selfdistil", 
    device="cpu"
)

Parameter:

  • model_name(string)

    Nama model SPLADE yang akan digunakan untuk pengkodean. Opsi yang valid adalah naver/splade-cocondenser-ensembledistil (default), naver/splade_v2_max, naver/splade_v2_distil, dan naver/splade-cocondenser-selfdistil. Untuk informasi lebih lanjut, lihat Bermain dengan model.

  • perangkat(string)

    Perangkat yang akan digunakan, dengan cpu untuk CPU dan cuda:n untuk perangkat GPU ke-n.

Untuk membuat penyematan untuk dokumen, gunakan metode 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 = splade_ef.encode_documents(docs)

# Print embeddings
print("Embeddings:", docs_embeddings)
# 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)

Output yang diharapkan mirip dengan yang berikut ini:

Embeddings:   (0, 2001) 0.6392706036567688
  (0, 2034) 0.024093208834528923
  (0, 2082) 0.3230178654193878
...
  (2, 23602)    0.5671860575675964
  (2, 26757)    0.5770265460014343
  (2, 28639)    3.1990697383880615
Sparse dim: 30522 (1, 30522)

Untuk membuat embedding untuk kueri, gunakan metode encode_queries():

queries = ["When was artificial intelligence founded", 
           "Where was Alan Turing born?"]

query_embeddings = splade_ef.encode_queries(queries)

# Print embeddings
print("Embeddings:", query_embeddings)
# 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)

Keluaran yang diharapkan mirip dengan yang berikut ini:

Embeddings:   (0, 2001)        0.6353746056556702
  (0, 2194)        0.015553371049463749
  (0, 2301)        0.2756537199020386
...
  (1, 18522)        0.1282549500465393
  (1, 23602)        0.13133203983306885
  (1, 28639)        2.8150033950805664
Sparse dim: 30522 (1, 30522)
Daftar isi

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?