โลโก้ Qdrant
AI, Machine Learning และ LLMApache License 2.0 (โอเพนซอร์ส)

Qdrant คืออะไร และวิธีติดตั้งบน Cloud Server

Qdrant คือฐานข้อมูลเวกเตอร์ที่ใช้ค้นหาข้อมูลตามความหมายแทนการจับคู่คำ เป็นองค์ประกอบหลักของระบบตอบคำถามจากเอกสารและระบบแนะนำที่ใช้โมเดล AI

หมวดหมู่
AI, Machine Learning และ LLM
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Qdrant คืออะไร

การค้นหาแบบเดิมจับคู่คำที่ตรงกัน จึงหาไม่เจอเมื่อผู้ใช้ถามด้วยคำที่ต่างจากในเอกสารแม้ความหมายเหมือนกัน การค้นหาตามความหมายแก้ปัญหานี้โดยแปลงข้อความเป็นตัวเลขที่สะท้อนความหมายแล้วหาสิ่งที่ใกล้เคียงที่สุด

Qdrant เก็บตัวเลขเหล่านี้และค้นหาสิ่งที่ใกล้เคียงได้เร็วแม้มีข้อมูลจำนวนมาก พร้อมกรองด้วยเงื่อนไขเพิ่มเติมได้ เช่น ค้นเฉพาะเอกสารของแผนกหนึ่งหรือช่วงเวลาหนึ่ง

การใช้งานที่พบบ่อยที่สุดคือระบบตอบคำถามจากเอกสารขององค์กร โดยแปลงเอกสารเก็บไว้ล่วงหน้า แล้วเมื่อมีคำถามก็ดึงส่วนที่เกี่ยวข้องมาประกอบให้โมเดลภาษาตอบ ซึ่งทำให้คำตอบอ้างอิงจากข้อมูลจริง

แผนผังการวางระบบ Qdrant บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 6333, 6334 ตัว Qdrant และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Qdrant ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Qdrant

ค้นหาตามความหมาย

หาเอกสารที่เกี่ยวข้องได้แม้ใช้คำต่างจากในเอกสาร

กรองด้วยเงื่อนไขเพิ่มเติม

จำกัดผลลัพธ์ตามแผนก ช่วงเวลา หรือสิทธิ์การเข้าถึง

ทำงานเร็วแม้ข้อมูลมาก

ออกแบบมาเพื่อค้นหาเวกเตอร์จำนวนมหาศาลโดยเฉพาะ

ติดตั้งง่ายและใช้ทรัพยากรคุ้ม

รันเป็นคอนเทนเนอร์เดียวได้และมีหน้าจอสำหรับสำรวจข้อมูล

มี API ที่ใช้ง่าย

เชื่อมกับไลบรารีงาน AI ที่ใช้กันทั่วไปได้ทันที

ใช้ Qdrant ทำอะไรได้บ้าง

  • ระบบตอบคำถามจากคู่มือและเอกสารขององค์กร
  • ระบบค้นหาสินค้าที่เข้าใจความหมายของคำค้น
  • ระบบแนะนำเนื้อหาจากความคล้ายของพฤติกรรมผู้ใช้
  • การค้นหาเอกสารที่คล้ายกันในฐานข้อมูลขนาดใหญ่

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Qdrant 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 32 GB ขึ้นไป ดิสก์ NVMe 500 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นเอกสารไม่มากหรือระบบทดลอง2 vCPU4 GBNVMe 40 GB
แนะนำเอกสารระดับหลักแสนชิ้น ยิ่ง RAM มากยิ่งค้นหาเร็ว4 vCPU16 GBNVMe 200 GB
ข้อมูลมากเวกเตอร์หลายล้านรายการ8 vCPU ขึ้นไป32 GB ขึ้นไปNVMe 500 GB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Qdrant บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Docker หรือแพ็กเกจของระบบปฏิบัติการ
  • RAM มากพอสำหรับดัชนีของข้อมูลที่เก็บ
  • โมเดลสำหรับแปลงข้อความเป็นเวกเตอร์
  • วง Private Network ระหว่างแอปกับฐานข้อมูล

ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว

  1. 1

    รัน Qdrant

    docker run -d --name qdrant \
      -p 10.10.0.70:6333:6333 \
      -v /srv/qdrant:/qdrant/storage \
      -e QDRANT__SERVICE__API_KEY=ChangeThisStrongApiKey \
      --restart unless-stopped \
      qdrant/qdrant
  2. 2

    ตรวจว่าบริการทำงาน

    curl -H "api-key: ChangeThisStrongApiKey" http://10.10.0.70:6333/collections
  3. 3

    สร้างคอลเลกชันสำหรับเก็บเอกสาร

    ต้องกำหนดจำนวนมิติให้ตรงกับโมเดลที่ใช้แปลงข้อความ ถ้าไม่ตรงจะเพิ่มข้อมูลไม่ได้

    curl -X PUT http://10.10.0.70:6333/collections/docs \
      -H "api-key: ChangeThisStrongApiKey" \
      -H "Content-Type: application/json" \
      -d '{"vectors": {"size": 768, "distance": "Cosine"}}'
  4. 4

    เพิ่มเอกสารเข้าฐานข้อมูล

    ฝั่งแอปแปลงข้อความเป็นเวกเตอร์ด้วยโมเดลที่เลือก แล้วส่งเข้ามาพร้อมข้อมูลประกอบสำหรับใช้กรองภายหลัง

    from qdrant_client import QdrantClient
    from qdrant_client.models import PointStruct
    
    client = QdrantClient(url="http://10.10.0.70:6333", api_key="ChangeThisStrongApiKey")
    client.upsert(collection_name="docs", points=[
        PointStruct(id=1, vector=embedding, payload={"dept": "hr", "title": "ระเบียบการลา"}),
    ])
  5. 5

    ค้นหาพร้อมกรองเงื่อนไข

    hits = client.query_points(
        collection_name="docs",
        query=question_embedding,
        query_filter={"must": [{"key": "dept", "match": {"value": "hr"}}]},
        limit=5,
    )
  6. 6

    ตั้งการสำรองข้อมูล

    ตั้งให้สร้างสแนปช็อตของคอลเลกชันตามรอบและส่งไปเก็บที่ Object Storage เพราะการสร้างเวกเตอร์ใหม่ทั้งหมดใช้เวลาและค่าใช้จ่ายสูง

จำนวนมิติของเวกเตอร์ต้องตรงกับโมเดลที่ใช้แปลงข้อความเสมอ ถ้าเปลี่ยนโมเดลภายหลังต้องสร้างคอลเลกชันใหม่และแปลงเอกสารทั้งหมดอีกครั้ง

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
6333TCPAPI และหน้าจอ (เปิดเฉพาะวงภายใน)
6334TCPการเชื่อมต่อแบบ gRPC สำหรับประสิทธิภาพสูง

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ตั้งคีย์สำหรับเรียกใช้ API และไม่เปิดพอร์ตสู่อินเทอร์เน็ต
  • ให้แอปเข้าถึงผ่าน Private Network เท่านั้น
  • ระวังไม่เก็บข้อมูลส่วนบุคคลในข้อมูลประกอบโดยไม่จำเป็น
  • สำรองสแนปช็อตของคอลเลกชันตามรอบ

ทำไมควรรัน Qdrant บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

รันในวง Private Network เดียวกับแอปและเซิร์ฟเวอร์โมเดล ทำให้ค้นหาได้เร็วและข้อมูลไม่ออกนอกองค์กร

เพิ่ม RAM ได้เมื่อจำนวนเอกสารโตขึ้น ซึ่งเป็นตัวแปรสำคัญที่สุดของความเร็ว

เก็บสแนปช็อตไว้บน Object Storage ในไทยเพื่อกู้คืนได้เร็ว

คำถามที่พบบ่อยเกี่ยวกับ Qdrant

Qdrant ต่างจาก Milvus อย่างไร

Qdrant ติดตั้งง่ายกว่ามากเพราะเป็นบริการเดียวและใช้ทรัพยากรคุ้ม เหมาะกับระบบขนาดเล็กถึงกลาง ส่วน Milvus ออกแบบมาสำหรับข้อมูลระดับพันล้านเวกเตอร์และแยกส่วนประกอบชัดเจน แต่ซับซ้อนกว่าในการดูแล

จำเป็นต้องใช้ฐานข้อมูลเวกเตอร์แยกไหม

ระบบขนาดเล็กใช้ส่วนขยายของ PostgreSQL ได้และดูแลง่ายกว่าเพราะไม่ต้องเพิ่มระบบใหม่ แต่เมื่อเอกสารมีจำนวนมากและต้องการความเร็ว ฐานข้อมูลเวกเตอร์เฉพาะทางจะให้ผลดีกว่าชัดเจน

ใช้กับภาษาไทยได้ไหม

ได้ โดยขึ้นกับโมเดลที่ใช้แปลงข้อความเป็นเวกเตอร์ ควรเลือกโมเดลที่รองรับภาษาไทยหรือรองรับหลายภาษา แล้วทดสอบกับคำถามจริงของผู้ใช้เพื่อดูว่าผลการค้นหาตรงหรือไม่

บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง

ให้เราติดตั้ง Qdrant ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด