Embedding
Definisi ringkas
Sebuah embedding adalah senarai nombor (vektor) yang mewakili makna teks, imej atau item lain, supaya item yang serupa mendapat vektor yang berdekatan. Embedding adalah apa yang menjadikan carian berdasarkan makna mungkin.
Pada halaman ini
Bagaimana embedding berfungsi
Model embedding membaca teks dan mengeluarkan vektor panjang tetap, biasanya beberapa ratus hingga beberapa ribu nombor. Model ini dilatih supaya teks dengan makna berkaitan berada berdekatan antara satu sama lain dalam ruang itu: “dasar pengembalian” dan “bagaimana saya mendapatkan kembali wang saya?” hampir tidak berkongsi sebarang perkataan tetapi menghasilkan vektor yang dekat.
Idea ini kembali kepada vektor perkataan seperti word2vec (Mikolov dan rakan-rakan, 2013), yang belajar bahawa perkataan yang muncul dalam konteks yang serupa mempunyai makna yang serupa. Model peringkat ayat seperti Sentence-BERT (2019) memperluasnya kepada keseluruhan ayat dan petikan, yang merupakan apa yang diperlukan untuk carian dan menjawab soalan.
Apa yang mereka digunakan untuk
Embeddings menggerakkan carian semantik: bandingkan vektor soalan dengan vektor petikan yang disimpan dan kembalikan yang terdekat. Mereka adalah langkah pengambilan dalam generasi yang diperkukuh oleh pengambilan (RAG). Mereka juga berfungsi untuk mengelompokkan perbualan yang serupa, mengesan pendua, mengesyorkan produk yang serupa dan mengarahkan mesej kepada topik yang betul.
Model embedding pelbagai bahasa meletakkan soalan dalam bahasa Perancis dan petikan dalam bahasa Inggeris berdekatan apabila mereka bermaksud perkara yang sama, yang membolehkan satu pangkalan pengetahuan berkhidmat kepada pelanggan dalam banyak bahasa.
Titik praktikal
Vektor dari model yang berbeza tidak boleh dibandingkan: jika anda menukar model embedding, setiap petikan yang disimpan perlu di-embed semula. Embeddings menangkap makna, bukan nilai tepat, jadi mereka kurang baik untuk penapis tepat seperti julat harga atau rujukan produk — itu memerlukan medan terstruktur atau carian kata kunci di sampingnya. Dan dokumen panjang mesti dibahagikan kepada petikan sebelum embedding, kerana satu vektor untuk keseluruhan manual mengaburkan kandungannya.
Model embedding juga berbeza dalam liputan bahasa, dimensi (dan oleh itu kos penyimpanan) dan di mana mereka dihoskan.
Embeddings dalam AI SmartTalk
Setiap pembantu AI SmartTalk menggunakan satu model embedding untuk semua pengetahuannya. Pembantu baru menggunakan model pelbagai bahasa yang dihoskan di EU secara lalai, dan model embedding OpenAI juga tersedia. Vektor disimpan dalam PostgreSQL dengan pgvector dan digabungkan dengan carian kata kunci dan trigram, supaya rujukan produk dan istilah tepat dijumpai dengan boleh dipercayai seperti soalan yang diparafrasekan.
Soalan lazim
Apakah perbezaan antara embedding dan token?
Token adalah sekeping teks, lebih kurang serpihan perkataan, yang dibaca oleh model. Embedding adalah vektor nombor yang mewakili makna — bagi token, ayat atau keseluruhan petikan.
Adakah embeddings sama dengan pangkalan data vektor?
Tidak. Embeddings adalah vektor; pangkalan data atau indeks vektor menyimpannya dan mencari yang terdekat dengan cepat.
Bolehkah saya menukar model embedding kemudian?
Ya, tetapi setiap item yang disimpan mesti di-embed semula dengan model baru, kerana vektor dari model yang berbeza hidup dalam ruang yang berbeza dan tidak boleh dibandingkan.