Skip to main content
Use Qdrant as your vector database for storing and retrieving document embeddings.

Installation

Install Qdrant:
pip install hypertic[qdrant]

Setup

Create a Qdrant instance with an embedder:
import os
from hypertic.vectordb import QdrantDB
from hypertic.embedders import OpenAIEmbedder

# Create embedder
embedder = OpenAIEmbedder(
    api_key=os.getenv("OPENAI_API_KEY"),
    model="text-embedding-3-small"
)

# Create Qdrant instance (local)
vector_db = QdrantDB(
    collection="my_collection",
    embedder=embedder,
    path="./qdrant_data"  # Local storage path
)
For Qdrant Cloud, use:
import os
from hypertic.vectordb import QdrantDB
from hypertic.embedders import OpenAIEmbedder

# Create embedder
embedder = OpenAIEmbedder(
    api_key=os.getenv("OPENAI_API_KEY"),
    model="text-embedding-3-small"
)

# Create Qdrant instance (cloud)
vector_db = QdrantDB(
    collection="my_collection",
    embedder=embedder,
    url="https://your-cluster.qdrant.io",
    api_key=os.getenv("QDRANT_API_KEY")
)

Usage

Qdrant supports both sync and async operations:
# Add documents
vector_db.add(
    files=["data/index.pdf", "data/sample.txt"],
    metadatas=[
        {"source": "invoice.pdf", "type": "invoice"},
        {"source": "sample.txt", "type": "text"}
    ]
)

# Create retriever
retriever = vector_db.as_retriever(k=3)

# Search documents
docs = retriever.search("invoice payment")
print(docs)

Configuration Options

  • collection - Name of the Qdrant collection
  • embedder - Embedder instance for generating embeddings
  • path - Local storage path for Qdrant (for local instances)
  • url - Qdrant server URL (for Qdrant Cloud, e.g., “https://your-cluster.qdrant.io”)
  • api_key - Optional API key for Qdrant Cloud
For more details, see the Qdrant documentation.