Multitenancy และ namespace

การสร้างแอปพลิเคชัน AI ด้วย Pinecone

James Chapman

Curriculum Manager, DataCamp

Multitenancy

 

  • ให้บริการ tenant หลายรายแบบ แยกอิสระ
  • แยกข้อมูลของลูกค้าแต่ละราย
    • ความปลอดภัย และ ความเป็นส่วนตัว
  • ลด query latency

multitenancy.png

การสร้างแอปพลิเคชัน AI ด้วย Pinecone

กลยุทธ์ Multitenancy

 

  1. Namespace
    • ข้อดี: ลดความจำเป็นในการสร้าง index เพิ่มเติม
    • ข้อเสีย: tenant ใช้ทรัพยากรร่วมกัน ข้อมูลซับซ้อน
  2. Metadata Filtering
    • ข้อดี: สามารถ query ข้ามหลาย tenant ได้
    • ข้อเสีย: ใช้ทรัพยากรร่วมกัน ติดตามค่าใช้จ่ายได้ยาก
  3. Separate Indexes
    • ข้อดี: แยก tenant ออกจากกันทางกายภาพ จัดสรรทรัพยากรได้อิสระ
    • ข้อเสีย: ต้องใช้ความพยายามและค่าใช้จ่ายมากขึ้น
การสร้างแอปพลิเคชัน AI ด้วย Pinecone

Namespace

  • สร้างขึ้น โดยอัตโนมัติ ระหว่างการ upsert หากยังไม่มี
index.upsert(
  vectors=vector_set1, namespace="namespace1"
)
index.upsert(
  vectors=vector_set2, namespace="namespace2"
)
การสร้างแอปพลิเคชัน AI ด้วย Pinecone

การตรวจสอบ namespace

index.describe_index_stats()
{'dimension': 1536,
 'index_fullness': 0.0,
 'namespaces': {'namespace1': {'vector_count': 5},
                'namespace2': {'vector_count': 5}},
 'total_vector_count': 10}
การสร้างแอปพลิเคชัน AI ด้วย Pinecone

การ query เวกเตอร์จาก namespace

query_result = index.query(
    vector=vector,

namespace='namespace1',
top_k=3 )
การสร้างแอปพลิเคชัน AI ด้วย Pinecone

การลบเวกเตอร์จาก namespace

index.delete(
    ids=["1", "2"],
    namespace='namespace1'
)
การสร้างแอปพลิเคชัน AI ด้วย Pinecone

มาฝึกกันเถอะ!

การสร้างแอปพลิเคชัน AI ด้วย Pinecone

Preparing Video For Download...