Pangkalan Data Vektor: Pinecone, Weaviate & pgvector · Pelajaran

Membahagi Teks untuk Embedding yang Lebih Baik

Pelajari cara membahagikan dokumen kepada bahagian yang menghasilkan embedding dengan baik, sebab saiz dan pertindihan bahagian penting serta strategi yang memaksimumkan kualiti pengambilan.

Pelajaran 4 daripada 413 langkah

Membahagi Teks untuk Embedding yang Lebih Baik ialah pelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pangkalan Data Vektor: Pinecone, Weaviate & pgvector merangkumi sejumlah 4 pelajaran.

Mengapa Pembahagian chunk Penting

Model pembenaman mempunyai had token dan menghasilkan satu vektor bagi setiap input. Memasukkan keseluruhan dokumen menghasilkan vektor yang kabur dan dipuratakan. Pembahagian chunk memecahkan teks kepada bahagian yang tertumpu supaya setiap vektor menangkap idea tertentu.

Masalah Saiz yang Tepat

Saiz chunk ialah satu keseimbangan:

  • Terlalu besar — makna menjadi cair, topik bercampur dalam satu vektor
  • Terlalu kecil — serpihan kehilangan konteks, lebih banyak vektor perlu disimpan

Sasarkan chunk yang mengandungi satu fikiran yang koheren.

Pembahagian chunk Saiz Tetap

Kaedah paling mudah: pecahkan setiap N aksara atau token.

def chunk(text, size):
    return [text[i:i+size] for i in range(0, len(text), size)]

print(chunk('abcdefghij', 4))

Teknik Pertindihan

Pecahan tetap boleh memotong ayat kepada dua, lalu kehilangan konteks pada sempadan. Menambah overlap mengulangi beberapa token terakhir daripada satu chunk pada permulaan chunk seterusnya supaya idea yang merentasi sempadan kekal utuh.

def chunk_overlap(text, size, overlap):
    out = []
    i = 0
    while i < len(text):
        out.append(text[i:i+size])
        i += size - overlap
    return out

print(chunk_overlap('abcdefghij', 4, 1))

Pembahagian chunk Berasaskan Ayat

Lebih baik daripada pecahan aksara secara membuta tuli: pecahkan pada sempadan ayat, kemudian kumpulkan ayat sehingga mencapai saiz sasaran. Chunk berakhir dengan kemas dan dapat dibaca secara koheren.

Pembahagian chunk Rekursif

Pecahan rekursif mencuba pemisah yang besar terlebih dahulu (perenggan), kemudian pemisah yang lebih kecil (ayat, kemudian perkataan) sehingga chunk menepati had saiz. Kaedah ini menghormati struktur dokumen sambil menjamin saiznya.

Pembahagian chunk Berasaskan Struktur

Untuk Markdown, kod atau HTML, pecahkan mengikut unsur struktur:

  • Pengepala dan bahagian Markdown
  • Fungsi atau kelas kod
  • Bahagian dan senarai HTML

Ini memastikan kandungan yang berkaitan kekal bersama.

Pengiraan Token

Model mengehadkan berdasarkan token, bukan aksara. Anggarkan token sebelum pembenaman supaya chunk muat dalam tetingkap model.

def approx_tokens(text):
    return max(1, len(text) // 4)

print(approx_tokens('The quick brown fox jumps'))

Memadankan chunk dengan Pertanyaan

Fikirkan cara pengguna membuat pertanyaan. Jika soalan menyasarkan fakta ringkas, chunk yang lebih kecil meningkatkan ketepatan. Jika soalan memerlukan konteks yang luas, chunk yang lebih besar membantu. Kadangkala anda menyimpan kedua-dua tahap perincian.

Menambah Konteks pada chunk

Chunk yang diambil keluar daripada konteks boleh menjadi samar. Tambahkan pengepala ringkas (tajuk dokumen, nama bahagian) pada setiap chunk sebelum pembenaman supaya vektor mengetahui asalnya.

Ulang dan Ukur

Tiada saiz chunk terbaik yang universal. Pilih titik permulaan (biasanya beberapa ratus token dengan overlap sederhana), kemudian ukur kualiti mendapatkan semula maklumat dan buat pelarasan. Pembahagian chunk ialah satu eksperimen, bukan peraturan tetap.

Semakan Ringkas

Uji pemahaman anda tentang pertindihan chunk.

Ulangan

Anda telah mempelajari bahawa pembahagian chunk menukarkan dokumen kepada bahagian yang tertumpu dan boleh dibenamkan. Seimbangkan saiz chunk, tambahkan overlap untuk mengekalkan konteks sempadan, utamakan pecahan berasaskan ayat atau rekursif, kira token, perkaya chunk dengan pengepala konteks, dan ulang proses sambil mengukur kualiti mendapatkan semula maklumat.

Percuma untuk bermula

Pelajari Pangkalan Data Vektor: Pinecone, Weaviate & pgvector 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 “Membahagi Teks untuk Embedding yang Lebih Baik” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector, termasuk “Membahagi Teks untuk Embedding yang Lebih Baik”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pangkalan Data Vektor: Pinecone, Weaviate & pgvector merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Membahagi Teks untuk Embedding yang Lebih Baik”?

Pelajari cara membahagikan dokumen kepada bahagian yang menghasilkan embedding dengan baik, sebab saiz dan pertindihan bahagian penting serta strategi yang memaksimumkan kualiti pengambilan. Anda berlatih Pangkalan Data Vektor: Pinecone, Weaviate & pgvector 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 Pangkalan Data Vektor: Pinecone, Weaviate & pgvector?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector 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 4 daripada 4.

Berapa lamakah pelajaran “Membahagi Teks untuk Embedding yang Lebih Baik” 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 Pangkalan Data Vektor: Pinecone, Weaviate & pgvector ini?

Ya. Setiap pelajaran Pangkalan Data Vektor: Pinecone, Weaviate & pgvector 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. Model Benaman Teks
  2. Menggunakan API Benaman
  3. Menyimpan dan Mengemas Kini Benaman
  4. Membahagi Teks untuk Embedding yang Lebih Baik
← Kembali ke Pangkalan Data Vektor: Pinecone, Weaviate & pgvector