دیتابیس برداری

Qdrant مدیریت‌شده برای RAG و جست‌وجوی معنایی

embedding ها را ذخیره و نزدیک‌ترین‌ها را در میلی‌ثانیه پیدا کنید؛ با فیلتر روی متادیتا، از طریق REST یا gRPC.

نسخه‌ها
1.18 (پیش‌فرض)، 1.17 و 1.16
API
REST 6333 و gRPC 6334
احراز هویت
API Key
کاربرد
RAG، جست‌وجوی معنایی، توصیه‌گر
لوگوی Qdrant

حافظه‌ی بلندمدت برای اپ‌های هوش مصنوعی

Qdrant بردارهای embedding را با هر تعداد بعد ذخیره و با جست‌وجوی شباهت (cosine، dot، euclid) نزدیک‌ترین‌ها را پیدا می‌کند. فیلتر روی payload اجازه می‌دهد جست‌وجوی معنایی را با شرط‌هایی مثل زبان، کاربر یا تاریخ ترکیب کنید.

برای RAG، توصیه‌گر و جست‌وجوی معنایی در متن فارسی، embedding ها را با مدل دلخواه بسازید و در Qdrant نگه دارید. اگر فقط چند هزار بردار دارید، pgvector در PostgreSQL هم گزینه‌ی ساده‌تری است.

مناسب برای

  • RAG برای چت‌بات و دستیار
  • جست‌وجوی معنایی اسناد
  • توصیه‌گر محصول و محتوا
  • تشخیص موارد مشابه و تکراری

از ساخت تا اتصال

  1. ساخت

    نود Qdrant با نسخه‌ی پیش‌فرض 1.18 ساخته می‌شود.

    --type qdrant
  2. اطلاعات اتصال

    میزبان و کلید API را بگیرید و به اپ بدهید.

    env set QDRANT_HOST=…
  3. استفاده

    کالکشن بسازید، بردار upsert و جست‌وجو کنید.

    :6333

خروجی ساخت سرویس

sakoocloud db
sakoocloud db create --name vectors --type qdrant
✔ Provisioning vectors · db_4n8x2p
sakoocloud db credentials db_4n8x2p
sakoocloud env set QDRANT_HOST=… QDRANT_API_KEY=•••• --app my-api

ساخت نود

با CLI یا از کنسول.

terminal
sakoocloud db create --name vectors --type qdrant

تنظیمات

متغیرهایی که تعریف می‌کنید

اپ و سرویس را در یک پروژه بگذارید، مقدارها را از sakoocloud db credentials بردارید و با sakoocloud env set تعریف کنید. نام متغیرها دلخواه است.

متغیر پیشنهادیمقدار
QDRANT_HOSTآدرس داخلی؛ REST روی 6333، gRPC روی 6334
QDRANT_API_KEYکلید API

اتصال از اپ

کلاینت رسمی Qdrant میزبان و کلید را می‌گیرد.

import os
from qdrant_client import QdrantClient

client = QdrantClient(
    url=f'http://{os.environ["QDRANT_HOST"]}:6333',
    api_key=os.environ["QDRANT_API_KEY"],
)
hits = client.query_points("docs", query=embedding, limit=5)

رانتایم‌هایی که معمولاً به آن وصل می‌شوند

خطاهای رایج

403 Forbidden

علتکلید API در درخواست نیست.

راه‌حلQDRANT_API_KEY را به کلاینت بدهید.

اتصال برقرار نمی‌شود

علتکلاینت REST به پورت gRPC یا برعکس وصل می‌شود.

راه‌حلREST روی 6333 و gRPC روی 6334 است.

Collection not found

علتکالکشن قبل از upsert ساخته نشده یا ابعاد بردار فرق دارد.

راه‌حلکالکشن را با اندازه‌ی بردار مدل embedding بسازید.

پرسش‌های متداول

Qdrant یا pgvector؟

برای چند ده هزار بردار کنار داده‌ی رابطه‌ای، pgvector ساده‌تر است. برای میلیون‌ها بردار و فیلتر پیچیده، Qdrant.

embedding را با چه مدلی بسازم؟

هر مدلی؛ Qdrant فقط بردار را ذخیره می‌کند. ابعاد کالکشن باید با خروجی مدل یکی باشد.

gRPC هم در دسترس است؟

بله، روی پورت 6334 برای کارایی بالاتر.

جزئیات بیشتر در راهنمای Qdrant در مستندات و مرجع CLI.

سریع‌ترین مسیر از کد تا انتشار.

ابتدا ابزار خط فرمان را نصب کنید، سپس همین‌جا امتحان کنید. (بنویسید، یا یکی از پیشنهادهای پایین ترمینال را بزنید)

~/projects/my-app
امتحان کنید