หลังจากที่ทาง Redis 8 ถูกปล่อยออกมา
ซึ่งมี data type ใหม่คือ Vector Sets เข้ามา (preview feature)
โดยนำความสามารถของ sorted set มาใช้กับ vector
เมื่อทำการเพิ่มข้อมูลเข้าไป เช่น text, image เป็นต้น
จะต้องทำการแปลงเป็น vector หรือเรียกว่า embedding ก่อน
จากนั้นจะทำการเรียงลำดับตามค่าความเหมือน หรือ distance ให้ทันที

ถ้าใครพัฒนาระบบตามแนวคิดของ RAG (Retrieval Augmented Generation)
มาน่าจะคุ้น ๆ พอสมควร

โดยที่ Vector Sets นั้นพัฒนาด้วยวิธีการของ HNSW (Hierarchical Navigable Small World)

มาดูตัวอย่างการใช้งานผ่าน Redis CLI

ประกอบไปด้วย command ต่าง ๆ ดังนี้

  • VADD สำหรับเพิ่มข้อมูล
  • VEMB สำหรับดู embedding ของแต่ละ element
  • VDIM สำหรับดู dimension ของข้อมูล
  • VCARD สำหรับดูจำนวน element
  • VSIM สำหรับค้นหาแบบ similarity search

ในตัวอย่างใช้ embedding model คือ Sentence transformers

ทำให้เราจัดการข้อมูลในรูปแบบของ Vector
เพื่อนำมาช่วยในการปรับปรุงการค้นหา
รวมทั้งยังปรับปรุงเรื่องการใช้งาน memory และ ประสิทธิภาพที่ดีขึ้น
ลองเล่นกันดูสำหรับ data type ตัวใหม่

Reference Websites