Registry / llm-agents / llama-index-vector-stores-qdrant

llama-index-vector-stores-qdrant

JSON →
library0.10.1pypypiunverified

The `llama-index-vector-stores-qdrant` library provides an integration for using Qdrant as a vector store within the LlamaIndex framework. It enables users to store and retrieve vector embeddings efficiently for building Retrieval-Augmented Generation (RAG) applications. This integration supports various Qdrant features, including hybrid search capabilities, and is part of the LlamaIndex v0.10.0 ecosystem which adopted a modular architecture with separate integration packages.

pip install llama-index-vector-stores-qdrant qdrant-client
INSTALL
IMPORT
SIG · LLAMA-INDEX-VECTOR
L
llama-index-vector-stores-qdrant
llm-agentspythonv0.10.1
Install
23.8s avg
Import
9275ms
Disk
390MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.10.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
4/8 runs
✓ 27.25s
py 3.11
4/8 runs
✓ 22.39s
py 3.12
4/8 runs
✓ 18.53s
py 3.13
4/8 runs
✓ 19.35s
py 3.9
4/8 runs
✓ 31.36s
390MB installed
● package 390MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

QdrantVectorStore
from llama_index.vector_stores.qdrant import QdrantVectorStore
QdrantClient
from qdrant_client import QdrantClient
AsyncQdrantClient
from qdrant_client import AsyncQdrantClient
ServiceContext
from llama_index.core import ServiceContext
from llama_index.service_context import ServiceContext
As of LlamaIndex v0.10.0, ServiceContext is deprecated and its components should be configured via `Settings` or passed directly. If used, it's now in `llama_index.core`.

This quickstart demonstrates how to initialize a Qdrant in-memory client, create a `QdrantVectorStore`, configure LlamaIndex settings with an embedding model (defaults to OpenAI), index a few dummy documents, and then query the index. It highlights the modular setup in LlamaIndex v0.10+.

import os from llama_index.core import VectorStoreIndex, Document from llama_index.vector_stores.qdrant import QdrantVectorStore from qdrant_client import QdrantClient from llama_index.embeddings.openai import OpenAIEmbedding from llama_index.core import Settings # Ensure you have your OpenAI API key set as an environment variable # os.environ["OPENAI_API_KEY"] = "sk-..." # Fallback for API key or local Qdrant for quick demo without remote setup if os.environ.get("OPENAI_API_KEY") is None or os.environ.get("OPENAI_API_KEY") == "": print("Warning: OPENAI_API_KEY not set. Using a dummy key for example purposes. This will fail if you try to use OpenAI models.") os.environ["OPENAI_API_KEY"] = os.environ.get("OPENAI_API_KEY", "sk-dummy-key") # Initialize Qdrant client (local in-memory for quick start, or connect to a server) # For persistent storage, use QdrantClient(path="./qdrant_data") or connect to a running Qdrant instance client = QdrantClient(location=":memory:") # In-memory Qdrant instance # Create a QdrantVectorStore instance vector_store = QdrantVectorStore(client=client, collection_name="my_documents") # Configure LlamaIndex settings (important for v0.10+) Settings.embed_model = OpenAIEmbedding() # Create a dummy document documents = [ Document(text="LlamaIndex is a data framework for LLM applications."), Document(text="Qdrant is a vector similarity search engine."), Document(text="Combining LlamaIndex with Qdrant enables powerful RAG systems."), ] # Build the VectorStoreIndex index = VectorStoreIndex.from_documents(documents, vector_store=vector_store) # Query the index query_engine = index.as_query_engine() response = query_engine.query("What is LlamaIndex?") print(f"Response: {response}") response = query_engine.query("What is Qdrant used for?") print(f"Response: {response}")
Debug
Known issues
breakingLlamaIndex v0.10.0 introduced a major refactor, splitting core components and integrations into separate packages. The `ServiceContext` abstraction was deprecated. This means imports and configuration patterns have changed significantly.
fix
Migrate `ServiceContext` usage to direct configuration via `Settings` or by passing components directly to index/query engine constructors. Update imports from `llama_index.<component>` to `from llama_index.core import <Component>` or `from llama_index.<integration_type>.<integration_name> import <Component>`.
affects: >=0.10.0 of llama-index core, and all associated integration packages like this one.
breakingFuture versions of `qdrant-client` (e.g., 1.16.0 as of a past issue) introduced breaking API changes (e.g., removal of `AsyncQdrantClient.search` method, Pydantic validation issues for local clients) that can cause `AttributeError` or validation failures.
fix
If encountering errors, try constraining your `qdrant-client` version to one known to be compatible (e.g., `qdrant-client<1.16.0` if using an older `llama-index` setup) or upgrade `llama-index-vector-stores-qdrant` to a version that explicitly supports the newer `qdrant-client` API.
affects: May affect `llama-index-vector-stores-qdrant` 0.10.0 when used with `qdrant-client` versions that introduced these breaking changes (e.g., `qdrant-client>=1.16.0`). Compatibility updates have been made in later `llama-index` versions.
gotchaThe very first retrieval query from a LlamaIndex index backed by Qdrant can be significantly slower (e.g., >10 seconds) than subsequent queries. This is due to Qdrant's internal index initialization and connection setup overhead.
fix
To 'warm up' the system and avoid a slow first user-facing query, perform a dummy query shortly after the `VectorStoreIndex` is initialized but before serving user requests.
affects: All versions
gotchaFor hybrid search functionality (combining sparse and dense vectors) with Qdrant, additional dependencies like `fastembed` (for local sparse embedding generation) or `transformers` might be required.
fix
Install necessary packages: `pip install fastembed` (for CPU-friendly local embeddings) or `pip install "transformers[torch]"` if using HuggingFace models for sparse embeddings.
affects: All versions using hybrid search
Upgrade
Version history
0.10.1latest on PyPI · released May 4, 2026
Audit
Dependencies
qdrant-clientrequiredRequired for interacting with the Qdrant vector database.
fastembedoptionalOptional, but recommended for local sparse vector generation and efficient local embeddings, especially with hybrid search enabled.
llama-index-corerequiredThe core LlamaIndex library, which defines the `VectorStore` interface and other fundamental abstractions.
Agent activity
49 hits · last 30 days
node
42
OpenAI (training)
1
Resources
llama-index-vector-stores-qdrant — pip install llama-index-vector-stores-qdrant · libregistry