การฝัง
คำจำกัดความอย่างรวดเร็ว
การฝังคือรายการของตัวเลข (เวกเตอร์) ที่แสดงความหมายของข้อความ รูปภาพ หรือรายการอื่น ๆ ดังนั้นรายการที่คล้ายกันจึงได้รับเวกเตอร์ที่อยู่ใกล้กัน การฝังคือสิ่งที่ทำให้การค้นหาตามความหมายเป็นไปได้。
ในหน้านี้
การทำงานของการฝัง
โมเดลการฝังอ่านข้อความและส่งออกเวกเตอร์ที่มีความยาวคงที่ โดยทั่วไปแล้วจะมีหลายร้อยถึงหลายพันตัวเลข โมเดลได้รับการฝึกฝนเพื่อให้ข้อความที่มีความหมายที่เกี่ยวข้องอยู่ใกล้กันในพื้นที่นั้น: “นโยบายการคืนเงิน” และ “ฉันจะขอเงินคืนได้อย่างไร?” แบ่งปันคำแทบไม่มีเลย แต่ผลิตเวกเตอร์ที่ใกล้กัน。
แนวคิดนี้ย้อนกลับไปถึงเวกเตอร์คำเช่น word2vec (Mikolov และเพื่อนร่วมงาน, 2013) ซึ่งเรียนรู้ว่าคำที่ปรากฏในบริบทที่คล้ายกันมีความหมายที่คล้ายกัน โมเดลระดับประโยคเช่น Sentence-BERT (2019) ขยายไปยังประโยคและข้อความทั้งหมด ซึ่งเป็นสิ่งที่การค้นหาและการตอบคำถามต้องการ.
พวกเขาถูกใช้เพื่ออะไร
การฝังพลังการค้นหาทางความหมาย: เปรียบเทียบเวกเตอร์ของคำถามกับเวกเตอร์ของข้อความที่จัดเก็บและส่งคืนที่ใกล้เคียงที่สุด พวกเขาเป็นขั้นตอนการดึงข้อมูลของการสร้างที่เสริมด้วยการดึงข้อมูล (RAG) นอกจากนี้ยังใช้สำหรับการจัดกลุ่มการสนทนาที่คล้ายกัน การตรวจจับข้อมูลซ้ำ การแนะนำผลิตภัณฑ์ที่คล้ายกัน และการส่งข้อความไปยังหัวข้อที่ถูกต้อง。
โมเดลการฝังหลายภาษาจะวางคำถามในภาษาฝรั่งเศสและข้อความในภาษาอังกฤษใกล้กันเมื่อมีความหมายเหมือนกัน ซึ่งทำให้ฐานความรู้หนึ่งสามารถให้บริการลูกค้าในหลายภาษาได้
จุดปฏิบัติ
เวกเตอร์จากโมเดลที่แตกต่างกันไม่สามารถเปรียบเทียบได้: หากคุณเปลี่ยนโมเดลการฝัง ข้อความที่จัดเก็บทุกชิ้นจะต้องถูกฝังใหม่ การฝังจับความหมาย ไม่ใช่ค่าที่แน่นอน ดังนั้นจึงไม่ดีสำหรับการกรองที่แม่นยำเช่นช่วงราคา หรือการอ้างอิงผลิตภัณฑ์ — สิ่งเหล่านั้นต้องการฟิลด์ที่มีโครงสร้างหรือการค้นหาคำสำคัญร่วมด้วย และเอกสารยาวต้องถูกแบ่งออกเป็นข้อความก่อนการฝัง เพราะเวกเตอร์หนึ่งสำหรับคู่มือทั้งหมดจะทำให้เนื้อหาหมดความชัดเจน。
โมเดลการฝังยังแตกต่างกันในด้านการครอบคลุมภาษา มิติ (และดังนั้นจึงมีค่าใช้จ่ายในการจัดเก็บ) และสถานที่ที่พวกเขาโฮสต์
การฝังใน AI SmartTalk
ผู้ช่วย AI SmartTalk แต่ละคนใช้โมเดลการฝังเดียวสำหรับความรู้ทั้งหมดของพวกเขา ผู้ช่วยใหม่ใช้โมเดลหลายภาษาที่โฮสต์ในสหภาพยุโรปโดยค่าเริ่มต้น และโมเดลการฝังของ OpenAI ก็มีให้บริการเช่นกัน เวกเตอร์จะถูกจัดเก็บใน PostgreSQL ด้วย pgvector และรวมกับการค้นหาคำสำคัญและไตรแกรม เพื่อให้การอ้างอิงผลิตภัณฑ์และคำที่แน่นอนถูกค้นพบอย่างเชื่อถือได้เช่นเดียวกับคำถามที่ถูกพาราฟเรส
คำถามที่พบบ่อย
ความแตกต่างระหว่างการฝังและโทเค็นคืออะไร?
โทเค็นคือชิ้นส่วนของข้อความ ซึ่งโดยประมาณเป็นส่วนของคำ ที่โมเดลอ่าน การฝังคือเวกเตอร์ของตัวเลขที่แสดงถึงความหมาย — ของโทเค็น ประโยค หรือข้อความทั้งหมด
การฝังเหมือนกับฐานข้อมูลเวกเตอร์หรือไม่?
ไม่ใช่ การฝังคือเวกเตอร์; ฐานข้อมูลหรือดัชนีเวกเตอร์จะจัดเก็บและค้นหาเวกเตอร์ที่ใกล้เคียงที่สุดอย่างรวดเร็ว
ฉันสามารถเปลี่ยนโมเดลการฝังในภายหลังได้หรือไม่?
ได้ แต่ทุกชิ้นที่จัดเก็บจะต้องถูกฝังใหม่ด้วยโมเดลใหม่ เพราะเวกเตอร์จากโมเดลที่แตกต่างกันอยู่ในพื้นที่ที่แตกต่างกันและไม่สามารถเปรียบเทียบได้