LangChain / RAG / Pangkalan Data Vektor · Pelajaran

Memahami Pembenaman Teks

Pelajari cara pembenaman teks menangkap makna semantik dan peranan pentingnya dalam membolehkan carian keserupaan untuk RAG.

Pelajaran 1 daripada 411 langkah

Memahami Pembenaman Teks ialah pelajaran LangChain / RAG / Pangkalan Data Vektor percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran LangChain / RAG / Pangkalan Data Vektor, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus LangChain / RAG / Pangkalan Data Vektor merangkumi sejumlah 4 pelajaran.

Apakah Benaman Teks?

Selamat datang ke dunia benaman teks! Ini ialah konsep asas dalam AI moden, khususnya untuk tugas yang melibatkan pemahaman dan perbandingan teks.

Ringkasnya, benaman teks ialah perwakilan berangka bagi teks. Benaman menukar perkataan, ayat atau seluruh dokumen kepada senarai nombor yang dipanggil vektor.

Makna sebagai Nombor (Vektor)

Bayangkan setiap perkataan atau frasa diberikan koordinat unik dalam ruang berbilang dimensi yang luas. Perkataan yang mempunyai makna serupa akan berada berdekatan, manakala perkataan yang tidak serupa akan berada jauh.

Koordinat ini dipanggil vektor. Setiap nombor dalam vektor mewakili 'ciri' atau 'dimensi' yang berbeza bagi makna teks.

Menavigasi Ruang Vektor

'Ruang' ini bukan sesuatu yang mudah anda gambarkan kerana biasanya mempunyai ratusan atau ribuan dimensi. Namun, idea utamanya mudah:

  • Kedekatan = Keserupaan: Jika dua vektor teks berdekatan, teks asalnya mempunyai makna yang serupa.
  • Arah = Hubungan: Arah antara vektor boleh mewakili hubungan (contohnya, vektor daripada 'raja' kepada 'permaisuri' mungkin serupa dengan 'lelaki' kepada 'wanita').

Di Sebalik Model Benaman

Bagaimanakah nombor ajaib ini dicipta? Nombor ini dijana oleh model pembelajaran mesin khas, selalunya rangkaian neural, yang dilatih menggunakan jumlah data teks yang sangat besar.

Model ini belajar menangkap hubungan semantik (berasaskan makna) antara perkataan dan frasa dengan memerhatikan cara perkataan dan frasa tersebut digunakan dalam konteks yang berbeza.

Ciri Utama Benaman

Benaman teks yang baik mempunyai beberapa ciri penting:

  • Makna Semantik: Benaman menangkap konteks dan makna teks.
  • Saiz Tetap: Tanpa mengira panjang teks input, vektor output sentiasa mempunyai bilangan dimensi yang sama.
  • Kontekstual: Benaman moden boleh memahami perubahan makna sesuatu perkataan berdasarkan perkataan di sekelilingnya.

Senjata Rahsia RAG: Benaman

Benaman amat penting untuk sistem Penjanaan Dipertingkatkan Pengambilan (RAG). Inilah sebabnya:

  • Benaman membolehkan kita menukar pertanyaan pengguna kepada vektor.
  • Benaman membolehkan kita menukar semua dokumen pengetahuan kita kepada vektor.
  • Hal ini membolehkan kita mencari dokumen yang paling serupa dari segi semantik dengan pertanyaan, walaupun dokumen tersebut tidak berkongsi kata kunci yang sama.

Mencari Idea yang Serupa

Bayangkan anda mempunyai sebuah artikel tentang 'kesan perubahan iklim terhadap beruang kutub' dan sebuah lagi tentang 'hidupan liar Artik yang menghadapi kehilangan habitat'.

Kata kuncinya mungkin berbeza, tetapi benaman kedua-duanya akan berada sangat berdekatan dalam ruang vektor, menandakan keserupaan semantik yang kuat. Beginilah RAG mencari konteks yang berkaitan!

Jana Benaman Pertama Anda

Mari lihat cara anda boleh mendapatkan benaman untuk secebis teks ringkas. Dalam aplikasi LangChain sebenar, anda akan menggunakan model benaman sebenar, tetapi contoh ini mensimulasikan proses dan output tersebut.

import hashlib
import random

class MockEmbeddings:
    def embed_query(self, text: str) -> list[float]:
        # Simulate a consistent, fixed-size vector for any text
        seed = int(hashlib.sha256(text.encode('utf-8')).hexdigest(), 16) % (10**9)
        random.seed(seed)
        # A 5-dimension vector for simplicity
        return [round(random.uniform(-1.0, 1.0), 4) for _ in range(5)]

def main():
    embeddings_model = MockEmbeddings()
    text_to_embed = "The quick brown fox jumps over the lazy dog."
    vector = embeddings_model.embed_query(text_to_embed)

    print(f"Text: '{text_to_embed}'")
    print(f"Embedding (vector): {vector}")
    print(f"Vector length: {len(vector)}")

if __name__ == "__main__":
    main()

Lihat Sekilas Vektor Benaman

Selepas menjalankan kod, anda akan melihat senarai nombor. Inilah vektor pembenaman anda! Walaupun untuk ayat yang pendek, ia merupakan perwakilan berangka yang padat.

Pembenaman dunia sebenar selalunya mempunyai ratusan atau ribuan dimensi (contohnya, 768, 1536). Semakin banyak dimensinya, semakin bernuansa makna yang dapat ditangkapnya.

Uji Pengetahuan Anda

Mari semak pemahaman anda tentang pembenaman teks dengan cepat.

Pembenaman: Asas RAG Anda

Syabas! Anda telah mengambil langkah pertama untuk memahami pembenaman teks.

Kita telah mempelajari bahawa pembenaman menukarkan teks kepada vektor berangka, lalu membolehkan kita mewakili dan membandingkan makna. Penukaran ini menjadi asas untuk mendayakan keupayaan carian semantik yang hebat dalam sistem RAG.

Seterusnya, kita akan mendalami cara pembenaman ini disimpan dan diperoleh dengan cekap menggunakan pangkalan data vektor.

Percuma untuk bermula

Pelajari LangChain / RAG / Pangkalan Data Vektor dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Memahami Pembenaman Teks” percuma?

Ya — teks penuh “Memahami Pembenaman Teks” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus LangChain / RAG / Pangkalan Data Vektor, tingkat taraf kepada CoddyKit PRO. Kursus LangChain / RAG / Pangkalan Data Vektor merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Memahami Pembenaman Teks”?

Pelajari cara pembenaman teks menangkap makna semantik dan peranan pentingnya dalam membolehkan carian keserupaan untuk RAG. Anda berlatih LangChain / RAG / Pangkalan Data Vektor menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan LangChain / RAG / Pangkalan Data Vektor?

Tiada pengalaman terdahulu diperlukan. Pembelajaran LangChain / RAG / Pangkalan Data Vektor di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Memahami Pembenaman Teks” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran LangChain / RAG / Pangkalan Data Vektor ini?

Ya. Setiap pelajaran LangChain / RAG / Pangkalan Data Vektor menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memahami Pembenaman Teks
  2. Pengenalan kepada Pangkalan Data Vektor
  3. Menyimpan dan Mendapatkan Pembenaman
  4. Mengukur Keserupaan Pembenaman
← Kembali ke LangChain / RAG / Pangkalan Data Vektor