Skip to main content

sie-qdrant

SIE integration for Qdrant.

Installation

pip install sie-qdrant

Dense embeddings

from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams, PointStruct
from sie_qdrant import SIEVectorizer

vectorizer = SIEVectorizer(base_url="http://localhost:8080", model="BAAI/bge-m3")

qdrant = QdrantClient("http://localhost:6333")
qdrant.create_collection(
    collection_name="documents",
    vectors_config=VectorParams(size=1024, distance=Distance.COSINE),
)

texts = ["first doc", "second doc"]
vectors = vectorizer.embed_documents(texts)
qdrant.upsert(
    collection_name="documents",
    points=[
        PointStruct(id=i, vector=v, payload={"text": t})
        for i, (t, v) in enumerate(zip(texts, vectors))
    ],
)

query_vec = vectorizer.embed_query("search text")
results = qdrant.query_points(
    collection_name="documents", query=query_vec, limit=5
)

Named vectors (dense + sparse)

SIE's multi-output encode produces dense and sparse vectors in one call. Qdrant supports sparse vectors natively via SparseVector(indices, values), so no expansion to full vocabulary length is needed:

from qdrant_client import QdrantClient
from qdrant_client.models import (
    Distance, VectorParams, PointStruct,
    SparseVectorParams, SparseVector,
)
from sie_qdrant import SIENamedVectorizer

vectorizer = SIENamedVectorizer(
    base_url="http://localhost:8080",
    model="BAAI/bge-m3",
    output_types=["dense", "sparse"],
)

qdrant = QdrantClient("http://localhost:6333")
qdrant.create_collection(
    collection_name="documents",
    vectors_config={"dense": VectorParams(size=1024, distance=Distance.COSINE)},
    sparse_vectors_config={"sparse": SparseVectorParams()},
)

named = vectorizer.embed_documents(["hello world"])
qdrant.upsert(
    collection_name="documents",
    points=[
        PointStruct(
            id=0,
            vector={
                "dense": named[0]["dense"],
                "sparse": SparseVector(**named[0]["sparse"]),
            },
            payload={"text": "hello world"},
        )
    ],
)

Storage advantage: Unlike integrations that expand sparse vectors to full vocabulary length (~30K floats), Qdrant stores sparse vectors in their native indices+values form, making hybrid search storage-efficient.

Testing

# Unit tests (no server needed)
pytest

# Integration tests (requires SIE + Qdrant)
pytest -m integration

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sie_qdrant-0.6.20.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sie_qdrant-0.6.20-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file sie_qdrant-0.6.20.tar.gz.

File metadata

  • Download URL: sie_qdrant-0.6.20.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sie_qdrant-0.6.20.tar.gz
Algorithm Hash digest
SHA256 e11b904353126f357b2618fb2fc31c90bde3ce364a258c9740432ad7e38aed5b
MD5 fd101eeb87771492869ce82e1468d466
BLAKE2b-256 43541e1290416513b18626a5535af62cede4d9afada31ec1afd05bbc1c2ce5e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for sie_qdrant-0.6.20.tar.gz:

Publisher: release-python.yml on superlinked/sie-internal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sie_qdrant-0.6.20-py3-none-any.whl.

File metadata

  • Download URL: sie_qdrant-0.6.20-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sie_qdrant-0.6.20-py3-none-any.whl
Algorithm Hash digest
SHA256 db43059338a4295ad3e04025e1e4dd6a9e3c3223a791c157b1f78f10543fc9b2
MD5 ed141213c0788e159b268005a91750d2
BLAKE2b-256 e44722d8c47dbf4c429ecb73349778be6fdd27ffcf9f978e44b85242e08c0191

See more details on using hashes here.

Provenance

The following attestation bundles were made for sie_qdrant-0.6.20-py3-none-any.whl:

Publisher: release-python.yml on superlinked/sie-internal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.30

2 files

0.6.29

2 files

0.6.28

2 files

0.6.27

2 files

0.6.26

2 files

0.6.25

2 files

0.6.24

2 files

0.6.23

2 files

0.6.22

2 files

0.6.21

2 files

This release

0.6.20 This release

2 files

0.6.19

2 files

0.6.18

2 files

0.6.17

2 files

0.6.16

2 files

0.6.15

2 files

0.6.14

2 files

0.6.13

2 files

0.6.12

2 files

0.6.11

2 files

0.6.10

2 files

0.6.9

2 files

0.6.8

2 files

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page