Что такое Qdrant?
Qdrant — высокопроизводительная open-source векторная база данных, написанная на Rust. Поддерживает миллиарды векторов, гибкую фильтрацию по метаданным и работает как отдельный сервис с REST и gRPC API.
Установка через Docker
docker run -d \
--name qdrant \
-p 6333:6333 \
-p 6334:6334 \
-v qdrant_storage:/qdrant/storage \
--restart always \
qdrant/qdrantРабота с Qdrant из Python
pip install qdrant-clientfrom qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams, PointStruct
client = QdrantClient(host="localhost", port=6333)
# Создание коллекции
client.create_collection(
collection_name="kb_articles",
vectors_config=VectorParams(size=768, distance=Distance.COSINE)
)
# Добавление векторов
client.upsert(
collection_name="kb_articles",
points=[
PointStruct(id=1, vector=[0.1]*768, payload={"text": "Установка VDS"}),
]
)
# Поиск
results = client.search(
collection_name="kb_articles",
query_vector=[0.1]*768,
limit=5
)
for r in results:
print(r.payload["text"], r.score)Интеграция с LangChain
from langchain_community.vectorstores import Qdrant
from langchain_community.embeddings import OllamaEmbeddings
embeddings = OllamaEmbeddings(model="nomic-embed-text")
db = Qdrant.from_documents(
docs,
embeddings,
url="http://localhost:6333",
collection_name="my_docs"
)
retriever = db.as_retriever(search_kwargs={"k": 4})Web UI Qdrant: Откройте
http://IP:6333/dashboard для визуального управления коллекциями и поиска векторов.