Tutorial Lengkap Qdrant: Vector Database untuk Aplikasi AI

# Tutorial Lengkap Qdrant: Vector Database untuk Aplikasi AI Qdrant adalah vector database performa tinggi yang dirancang untuk similarity search dan aplikasi AI. Library ini menyediakan penyimpanan...

By Ruby Abdullah · · tutorial
QdrantVector DatabaseSemantic SearchRAGPythonAI

Tutorial Lengkap Qdrant: Vector Database untuk Aplikasi AI

Qdrant adalah vector database performa tinggi yang dirancang untuk similarity search dan aplikasi AI. Library ini menyediakan penyimpanan dan retrieval vector embeddings yang efisien, menjadikannya ideal untuk membangun sistem rekomendasi, semantic search, dan aplikasi RAG.

Mengapa Qdrant?

Keunggulan Qdrant:
  • Performa tinggi: Engine berbasis Rust untuk kecepatan
  • Rich filtering: Kombinasikan vector search dengan filter metadata
  • Scalable: Mode terdistribusi untuk dataset besar
  • Mudah digunakan: REST dan gRPC APIs
  • Cloud native: Siap Docker dan Kubernetes

Use Cases:
  • Semantic search
  • Sistem rekomendasi
  • RAG (Retrieval-Augmented Generation)
  • Image similarity search
  • Anomaly detection

Instalasi

# Python client

pip install qdrant-client

Jalankan Qdrant dengan Docker

docker run -p 6333:6333 -p 6334:6334 \

-v $(pwd)/qdrantstorage:/qdrant/storage:z \

qdrant/qdrant

Verify

python -c "from qdrantclient import QdrantClient; print('Qdrant client ready')"

Quick Start

1. Koneksi ke Qdrant

from qdrantclient import QdrantClient

Instance lokal

client = QdrantClient("localhost", port=6333)

In-memory (untuk testing)

client = QdrantClient(":memory:")

Qdrant Cloud

client = QdrantClient(

url="https://xxx-xxx.us-east-1-0.aws.cloud.qdrant.io",

apikey="your-api-key"

)

Cek koneksi

print(client.getcollections())

2. Buat Collection

from qdrantclient import QdrantClient

from qdrantclient.models import Distance, VectorParams

client = QdrantClient("localhost", port=6333)

Buat collection

client.createcollection(

collectionname="mycollection",

vectorsconfig=VectorParams(size=384, distance=Distance.COSINE)

)

List collections

collections = client.getcollections()

print(collections)

3. Insert Vectors

from qdrantclient.models import PointStruct

Insert points

client.upsert(

collectionname="mycollection",

points=[

PointStruct(

id=1,

vector=[0.1, 0.2, 0.3, ...], # vektor 384-dim

payload={"title": "Dokumen 1", "category": "tech"}

),

PointStruct(

id=2,

vector=[0.4, 0.5, 0.6, ...],

payload={"title": "Dokumen 2", "category": "science"}

)

]

)

4. Search Vectors

# Search

results = client.search(

collectionname="mycollection",

queryvector=[0.1, 0.2, 0.3, ...],

limit=5

)

for result in results:

print(f"ID: {result.id}, Score: {result.score}")

print(f"Payload: {result.payload}")

Bekerja dengan Embeddings

1. Menggunakan Sentence Transformers

from qdrantclient import QdrantClient

from qdrantclient.models import Distance, VectorParams, PointStruct

from sentencetransformers import SentenceTransformer

Initialize

client = QdrantClient("localhost", port=6333)

model = SentenceTransformer("all-MiniLM-L6-v2")

Buat collection

client.recreatecollection(

collectionname="documents",

vectorsconfig=VectorParams(size=384, distance=Distance.COSINE)

)

Siapkan dokumen

documents = [

{"id": 1, "text": "Machine learning sangat menarik", "category": "tech"},

{"id": 2, "text": "Natural language processing", "category": "tech"},

{"id": 3, "text": "Resep masakan untuk pemula", "category": "food"},

]

Generate embeddings dan insert

points = []

for doc in documents:

embedding = model.encode(doc["text"]).tolist()

points.append(PointStruct(

id=doc["id"],

vector=embedding,

payload={"text": doc["text"], "category": doc["category"]}

))

client.upsert(collectionname="documents", points=points)

Artikel Terkait

Tutorial Lengkap LlamaIndex: Membangun Aplikasi RAG dengan LLM

Tutorial Lengkap LlamaIndex: Membangun Aplikasi RAG dengan LLM LlamaIndex adalah framework data yang powerful untuk memb...

Tutorial Lengkap ChromaDB: Vector Database Sederhana untuk AI

Tutorial Lengkap ChromaDB: Vector Database Sederhana untuk AI ChromaDB adalah open-source vector database yang dirancang...

Weaviate: Database Vektor dengan AI Modules Terintegrasi

Weaviate: Database Vektor dengan AI Modules Terintegrasi Weaviate adalah database vektor open-source yang dirancang untu...

Tutorial Milvus: Distributed Vector Database untuk AI

Tutorial 10: Milvus - Database Vektor Terdistribusi untuk AI Daftar Isi Pendahuluan Prasyarat Arsitektur Milvus [Instala...