Dalam arsitektur generasi yang diperkaya dengan pengambilan data (RAG), basis pengetahuan berfungsi sebagai sumber data pribadi eksternal yang menyediakan konteks untuk model bahasa besar (LLM). Kualitas data ini secara langsung memengaruhi akurasi hasil yang dihasilkan. Anda dapat membuat basis pengetahuan sekali dan menggunakannya kembali dalam beberapa alur aplikasi, sehingga meningkatkan efisiensi pengembangan secara signifikan. Basis pengetahuan juga mendukung pembaruan manual dan terjadwal untuk memastikan bahwa basis tersebut selalu mutakhir dan akurat.
Cara kerjanya
Saat Anda membuat basis pengetahuan dan memperbarui indeksnya, sistem memulai alur kerja yang menggunakan tugas PAI-DLC untuk memproses file dalam sumber data OSS. Alur kerja ini mencakup tiga langkah inti:
Pra-pemrosesan dan pembagian potongan: Sistem membaca file sumber yang ditentukan di OSS secara otomatis. Sistem melakukan pra-pemrosesan dan membaginya menjadi potongan teks yang sesuai untuk pengambilan. Data terstruktur dibagi per baris, sedangkan gambar tidak dibagi.
Vektorisasi (Penyematan): Sistem memanggil model penyematan untuk mengonversi setiap potongan teks atau gambar menjadi vektor numerik yang mewakili makna semantisnya.
Penyimpanan dan pengindeksan: Sistem menyimpan data vektor yang dihasilkan dalam database vektor dan membuat indeks untuk pengambilan yang efisien.
Alur inti: Dari pembuatan hingga penggunaan
Langkah 1: Buat basis pengetahuan
Buka LangStudio dan pilih ruang kerja. Pada tab Knowledge Base, klik Create Knowledge Base. Konfigurasikan parameter seperti yang dijelaskan di bawah ini.
Konfigurasi Dasar
Parameter | Deskripsi |
Nama basis pengetahuan | Masukkan nama kustom untuk basis pengetahuan. |
Jalur sumber data OSS | Direktori OSS tempat data basis pengetahuan berada. |
Jalur keluaran OSS | Menyimpan hasil antara dan informasi indeks yang dihasilkan dari penguraian dokumen. Keluaran akhir bergantung pada jenis database vektor yang dipilih. Penting Jika Instance RAM Role yang ditetapkan untuk runtime adalah peran default PAI, untuk parameter ini, kami sarankan Anda menggunakan Bucket OSS yang sama dengan jalur penyimpanan default ruang kerja saat ini jalur penyimpanan default ruang kerja dan tentukan direktori apa pun dalam bucket tersebut. |
Tipe basis pengetahuan | Pilih tipe berdasarkan file Anda. Format file yang didukung untuk setiap tipe adalah sebagai berikut:
|
Konfigurasi untuk tipe tertentu
Konfigurasi Penguraian dan Pembagian Dokumen (untuk basis pengetahuan dokumen)
Ukuran Potongan Teks: Jumlah maksimum karakter untuk setiap potongan teks. Defaultnya adalah 1.024 karakter.
Tumpang Tindih Potongan Teks: Jumlah karakter yang tumpang tindih antara potongan teks yang berdekatan. Ini memastikan koherensi pengambilan. Defaultnya adalah 200 karakter. Kami menyarankan untuk menyetel ukuran tumpang tindih menjadi 10% hingga 20% dari ukuran potongan.
CatatanUntuk informasi lebih lanjut, lihat Pengaturan Parameter Pembagian Potongan.
Field Configuration (untuk basis pengetahuan data terstruktur): Unggah file, seperti animal.csv, atau tambahkan bidang secara manual. Anda dapat menentukan bidang data mana yang digunakan untuk pengindeksan dan pengambilan.
Model Penyematan dan Database
Pilih layanan model penyematan dan database vektor untuk basis pengetahuan. Jika opsi yang diinginkan tidak ada dalam daftar drop-down, Anda dapat membuatnya. Untuk informasi lebih lanjut, lihat Konfigurasi Koneksi.
Tipe basis pengetahuan | Tipe penyematan yang didukung | Tipe database vektor yang didukung |
Dokumen |
|
|
Data terstruktur | ||
Gambar |
|
|
Rekomendasi database vektor:
Lingkungan Produksi: Milvus dan Elasticsearch direkomendasikan karena mendukung pemrosesan data vektor skala besar.
Lingkungan Uji: FAISS direkomendasikan karena tidak memerlukan database terpisah (file basis pengetahuan dan file indeks yang dihasilkan disimpan di Output OSS Path). Cocok untuk pengujian fungsional atau menangani file skala kecil. Volume file besar akan sangat memengaruhi kinerja pengambilan dan pemrosesan.
Runtime
Pilih runtime untuk melaksanakan operasi seperti pratinjau potongan dokumen dan pengujian pengambilan. Operasi ini memerlukan akses ke database vektor dan layanan penyematan.
Perhatikan pengaturan runtime berikut:
Jika Anda mengakses database vektor atau layanan penyematan melalui titik akhir internal, pastikan VPC runtime sama dengan VPC database dan layanan, atau VPC-nya terhubung.
Jika Anda memilih peran khusus untuk peran RAM instans, Anda harus memberikan izin kepada peran untuk mengakses OSS. Kami menyarankan Anda memberikan izin AliyunOSSFullAccess. Untuk informasi lebih lanjut, lihat Memberikan Izin kepada Peran RAM.
Jika versi runtime Anda lebih awal dari 2.1.4, mungkin tidak muncul dalam daftar drop-down. Untuk menyelesaikan masalah ini, buat runtime baru.
Langkah 2: Unggah file
Metode 1: Unggah file langsung ke jalur OSS yang dikonfigurasi sebagai sumber data untuk basis pengetahuan.
Metode 2: Pada tab Knowledge Base, klik nama basis pengetahuan target untuk membuka halaman detailnya. Pada tab Documents atau Images, unggah file atau gambar Anda.

Langkah 3: Bangun indeks
Perbarui Indeks. Setelah mengunggah file, klik Update Index di pojok kanan atas. Ini mengirimkan tugas alur kerja PAI yang menjalankan pekerjaan DLC untuk memproses, membagi, dan memvektorkan file dalam sumber data OSS dan kemudian membangun indeks. Parameter tugas dijelaskan di bawah ini:
Parameter
Deskripsi
Sumber daya komputasi
Sumber daya komputasi yang diperlukan untuk menjalankan tugas. Anda dapat menggunakan sumber daya publik, atau Sumber daya komputasi cerdas Lingjun dan sumber daya komputasi umum melalui kuota sumber daya.
Saat memperbarui indeks untuk basis pengetahuan gambar, jumlah node harus lebih dari 2.
Untuk ekstraksi bagan berkualitas tinggi dari PDF kompleks, kami menyarankan menggunakan sumber daya GPU dengan versi driver 550 atau lebih tinggi saat memperbarui indeks. Sistem secara otomatis memanggil model untuk pengenalan bagan atau OCR untuk tugas yang memenuhi persyaratan tipe sumber daya dan versi driver. Gambar disimpan di direktori
chunk_imagesjalur keluaran. Saat digunakan dalam alur aplikasi, gambar dalam teks diganti dengan tag HTML<img>, seperti<img src="temporary_signed_URL">.
Konfigurasi VPC
Jika Anda mengakses database vektor atau layanan penyematan melalui jaringan internal, pastikan VPC yang dipilih sama dengan atau terhubung ke VPC layanan ini.
Konfigurasi penyematan
Konkurensi maksimum (untuk basis pengetahuan gambar): Jumlah permintaan bersamaan ke layanan penyematan. Karena layanan model multimodal Model Studio membatasi permintaan hingga 120 per menit, meningkatkan konkurensi ini dapat memicu pembatasan.
Ukuran batch (untuk basis pengetahuan dokumen/data terstruktur): Jumlah potongan teks yang diproses dalam setiap batch selama vektorisasi. Menyetel nilai yang sesuai berdasarkan batas QPS layanan model dapat meningkatkan kecepatan pemrosesan.
Pratinjau Potongan File atau Gambar. Setelah tugas pembaruan indeks berhasil, Anda dapat melihat pratinjau potongan dokumen atau gambar.
CatatanUntuk potongan dokumen yang sudah tersimpan di Milvus, Anda dapat mengatur statusnya secara individual menjadi Aktif atau Nonaktif. Potongan yang dinonaktifkan tidak akan diambil.

Langkah 4: Uji efek pengambilan
Setelah memperbarui indeks, beralihlah ke tab Retrieval Test. Masukkan kueri dan sesuaikan parameter pengambilan untuk menguji hasil pengambilan. Untuk basis pengetahuan gambar, tes mengembalikan daftar gambar.

Parameter Pengambilan:
Top K: Jumlah maksimum potongan teks yang relevan untuk diambil dari basis pengetahuan. Nilainya berkisar antara 1 hingga 100.
Ambang Batas Skor: Ambang batas skor kesamaan, yang berkisar dari 0 hingga 1. Hanya potongan dengan skor di atas ambang ini yang dikembalikan. Nilai yang lebih tinggi menunjukkan persyaratan kesamaan yang lebih ketat antara teks dan kueri.
Pola Pengambilan: Pola default adalah Dense (pencarian vektor). Jika Anda ingin menggunakan pencarian Hibrida (vektor dan kata kunci), database vektor Anda harus Milvus 2.4.x atau lebih baru, atau Elasticsearch. Untuk informasi lebih lanjut tentang cara memilih pola pengambilan, lihat Pilih Pola Pengambilan.
Kondisi Filter Metadata: Memfilter ruang lingkup pengambilan menggunakan metadata untuk meningkatkan akurasi. Untuk informasi lebih lanjut, lihat Menggunakan Metadata.
Penulisan Ulang Kueri: Menggunakan LLM untuk mengoptimalkan kueri pengguna yang samar, lisan, atau kontekstual. Proses ini memperjelas maksud pengguna dengan membuat kueri lebih jelas dan lengkap, yang meningkatkan akurasi pengambilan. Untuk informasi lebih lanjut tentang skenario penggunaan, lihat Penulisan Ulang Kueri.
Penyusunan Ulang Hasil: Menyusun ulang hasil pengambilan awal menggunakan model penyusunan ulang untuk memindahkan hasil yang paling relevan ke atas. Untuk informasi lebih lanjut tentang skenario penggunaan, lihat Penyusunan Ulang Hasil.
CatatanPenyusunan ulang hasil memerlukan model penyusunan ulang. Jenis koneksi layanan model yang didukung termasuk layanan LLM Model Studio, layanan model OpenSearch, dan layanan model Reranker umum.
Langkah 5: Gunakan dalam alur aplikasi
Setelah Anda menyelesaikan pengujian, Anda dapat menggunakan basis pengetahuan untuk pengambilan informasi dalam alur aplikasi. Di node basis pengetahuan, Anda dapat mengaktifkan fitur penulisan ulang kueri dan penyusunan ulang hasil serta melihat kueri yang telah ditulis ulang dalam jejak.

Hasilnya adalah List[Dict], di mana setiap Dict berisi kunci content dan score, yang masing-masing mewakili isi potongan dokumen dan skor kesamaannya dengan kueri input.
Optimasi Pengambilan
Tuning Parameter Potongan: Membangun Dasar untuk Pengambilan
Prinsip Panduan
Batas Konteks Model: Pastikan ukuran potongan tidak melebihi batas token model penyematan untuk menghindari pemotongan informasi.
Integritas Informasi: Potongan harus cukup besar untuk memuat semantik lengkap tetapi cukup kecil untuk menghindari terlalu banyak informasi, yang dapat mengurangi presisi perhitungan kesamaan. Jika teks diatur berdasarkan paragraf, Anda dapat menyetel pembagian agar sesuai dengan paragraf untuk menghindari pemisahan sembarangan.
Pertahankan Kontinuitas: Tetapkan ukuran tumpang tindih yang sesuai, kami menyarankan 10% hingga 20% dari ukuran potongan, untuk secara efektif mencegah hilangnya konteks akibat pemisahan informasi penting pada batas potongan.
Hindari Gangguan Berulang: Tumpang tindih berlebihan dapat memperkenalkan informasi duplikat dan mengurangi efisiensi pengambilan. Anda perlu menemukan keseimbangan antara integritas informasi dan redundansi.
Saran Debugging
Optimasi Iteratif: Mulailah dengan nilai awal, seperti ukuran potongan 300 dan tumpang tindih 50. Kemudian, terus sesuaikan dan eksperimen dengan nilai-nilai ini berdasarkan hasil pengambilan dan tanya-jawab (Q&A) aktual untuk menemukan pengaturan optimal untuk data Anda.
Batas Bahasa Alami: Jika teks memiliki struktur yang jelas, seperti bab atau paragraf, prioritaskan pemisahan berdasarkan batas bahasa alami ini untuk memaksimalkan integritas semantik.
Panduan Optimasi Cepat
Masalah | Saran Optimasi |
Hasil pengambilan tidak relevan | Tingkatkan ukuran potongan dan kurangi tumpang tindih potongan. |
Konteks dalam hasil tidak koheren | Tingkatkan tumpang tindih potongan. |
Tidak ditemukan kecocokan yang sesuai (tingkat recall rendah) | Tingkatkan sedikit ukuran potongan. |
Overhead komputasi atau penyimpanan tinggi | Kurangi ukuran potongan dan kurangi tumpang tindih potongan. |
Tabel berikut mencantumkan ukuran potongan dan tumpang tindih yang direkomendasikan untuk jenis teks yang berbeda.
Jenis teks | Ukuran potongan yang direkomendasikan | Tumpang tindih potongan yang direkomendasikan |
Teks pendek (FAQ, ringkasan) | 100 hingga 300 | 20 hingga 50 |
Teks reguler (berita, blog) | 300 hingga 600 | 50 hingga 100 |
Dokumen teknis (API, makalah) | 600 hingga 1024 | 100 hingga 200 |
Dokumen panjang (hukum, buku) | 1024 hingga 2048 | 200 hingga 400 |
Pilih mode pengambilan: Seimbangkan semantik dan kata kunci
Mode pengambilan menentukan bagaimana sistem mencocokkan kueri Anda dengan konten dalam basis pengetahuan. Mode yang berbeda memiliki kelebihan dan kekurangan unik dan cocok untuk skenario yang berbeda.
Pengambilan Dense (vektor): Unggul dalam memahami semantik. Mengonversi baik kueri maupun dokumen menjadi vektor dan menentukan relevansi semantik dengan menghitung kesamaan antara vektor tersebut.
Pengambilan Sparse (kata kunci): Unggul dalam pencocokan tepat. Berdasarkan model frekuensi istilah tradisional, seperti BM25, dan menghitung relevansi berdasarkan frekuensi dan posisi kata kunci dalam dokumen.
Pengambilan Hibrida: Menggabungkan keduanya. Menggabungkan hasil pengambilan vektor dan kata kunci dan menyusun ulang menggunakan algoritma seperti Reciprocal Rank Fusion (RRF) atau fusi berbobot, seperti pembobotan linier atau ensemble model.
Mode pengambilan | Kelebihan dan kekurangan | Skenario |
Pengambilan Dense (vektor) |
|
|
Pengambilan Sparse (kata kunci) |
|
|
Pengambilan Hibrida |
|
|
Menggunakan metadata: Memfilter Pengambilan
Nilai filter metadata
Pengambilan Tepat, Lebih Sedikit Noise: Metadata dapat digunakan sebagai kondisi filter atau dasar pengurutan selama pengambilan. Dengan menyaring menggunakan metadata, Anda dapat mengecualikan dokumen yang tidak relevan dan mencegah model generasi menerima konten yang tidak terkait. Misalnya, jika pengguna bertanya untuk "menemukan novel fiksi ilmiah yang ditulis oleh Liu Cixin," sistem dapat menggunakan kondisi metadata
author=Liu Cixindancategory=fiksi ilmiahuntuk langsung menemukan dokumen yang paling relevan.Peningkatan Pengalaman Pengguna
Mendukung Rekomendasi Personalisasi: Anda dapat menggunakan metadata untuk memberikan rekomendasi personalisasi berdasarkan preferensi historis pengguna, seperti preferensi untuk dokumen "fiksi ilmiah".
Meningkatkan Interpretasi Hasil: Memasukkan metadata dokumen, seperti penulis, sumber, dan tanggal, dalam hasil membantu pengguna menilai kredibilitas dan relevansi konten.
Mendukung Ekspansi Multibahasa atau Multimodal: Metadata seperti "bahasa" dan "tipe media" memudahkan pengelolaan basis pengetahuan kompleks yang berisi beberapa bahasa dan campuran teks dan gambar.
Cara menggunakannya
Keterbatasan Fitur:
Versi Gambar Runtime: Harus 2.1.8 atau lebih baru.
Database Vektor: Hanya Milvus dan Elasticsearch yang didukung.
Tipe Basis Pengetahuan: Mendukung dokumen atau data terstruktur. Gambar tidak didukung.
Konfigurasikan Variabel Metadata. Untuk basis pengetahuan yang hanya menggunakan Milvus, buka bagian Metadata di tab Overview dan klik Edit untuk mengonfigurasi variabel, seperti
author. Jangan gunakan bidang yang dicadangkan sistem.
Tag Dokumen. Di halaman detail potongan dokumen, klik Edit Metadata untuk menambahkan variabel metadata dan nilainya, seperti
author=Alex. Anda kemudian dapat kembali ke halaman ikhtisar untuk melihat status referensi metadata dan jumlah nilainya.
Uji Filter. Di tab Retrieval Test, tambahkan kondisi filter metadata dan jalankan tes.

Catatan: Dokumen yang diambil dalam gambar adalah dokumen yang telah ditandai pada Langkah 2.
Gunakan dalam Alur Aplikasi. Konfigurasikan kondisi filter metadata di node pengambilan basis pengetahuan.

Pengambilan ulang kueri dan hasil: Optimalkan rantai pengambilan
Penulisan ulang kueri
Menggunakan LLM untuk menulis ulang kueri pengguna yang samar, lisan, atau bergantung pada konteks menjadi pertanyaan yang lebih jelas, lengkap, dan mandiri. Ini meningkatkan akurasi pengambilan berikutnya.
Skema yang Direkomendasikan:
Kueri pengguna samar atau tidak lengkap, seperti "Kapan dia lahir?" tanpa konteks.
Dalam percakapan multi-putaran, kueri bergantung pada konteks, seperti "Apa yang dia lakukan setelah itu?".
Pengambil atau LLM tidak cukup kuat untuk memahami kueri asli dengan akurat.
Anda menggunakan pengambilan indeks terbalik tradisional, seperti BM25, alih-alih pengambilan semantik.
Skema yang Tidak Direkomendasikan:
Kueri pengguna sudah sangat jelas dan spesifik.
LLM sangat kuat dan dapat memahami kueri asli dengan akurat.
Sistem memerlukan latensi rendah dan tidak dapat mentolerir penundaan tambahan yang disebabkan oleh penulisan ulang.
Penyusunan ulang hasil
Menyusun ulang hasil awal yang dikembalikan oleh pengambil untuk menampilkan dokumen yang paling relevan terlebih dahulu, yang meningkatkan kualitas peringkat.
Skema yang Direkomendasikan:
Kualitas hasil dari pengambil awal, seperti BM25 atau DPR, tidak stabil.
Peringkat hasil pengambilan sangat penting, misalnya, saat akurasi Top-1 diperlukan dalam sistem pencarian atau Q&A.
Skema yang Tidak Direkomendasikan:
Sumber daya sistem terbatas dan tidak dapat menangani overhead inferensi tambahan.
Pengambil awal sudah cukup kuat, dan penyusunan ulang memberikan peningkatan terbatas.
Waktu respons sangat kritis, seperti dalam skenario pencarian waktu nyata.
Operasi dan manajemen
Konfigurasikan penjadwalan waktu: Pembaruan otomatis
Fitur pembaruan terjadwal bergantung pada DataWorks. Pastikan Anda telah mengaktifkan layanan tersebut. Jika layanan belum diaktifkan, lihat Aktifkan Layanan DataWorks.
Di halaman detail basis pengetahuan, klik di pojok kanan atas, lengkapi konfigurasi, dan klik Kirim.

Lihat Konfigurasi Penjadwalan dan Tugas Berulang
Setelah Anda mengirim formulir, sistem secara otomatis membuat alur kerja terjadwal untuk basis pengetahuan di pusat Pengembangan Data DataWorks. Sistem kemudian menerbitkan alur kerja sebagai tugas berulang di Pusat Operasi DataWorks. Tugas berulang mulai berlaku pada hari berikutnya (T+1). Tugas berulang DataWorks memperbarui basis pengetahuan pada waktu yang Anda konfigurasikan. Anda dapat melihat konfigurasi penjadwalan dan tugas berulang di halaman konfigurasi penjadwalan basis pengetahuan.

Parameter Pembaruan Terjadwal:
Siklus Penjadwalan: Menentukan seberapa sering node berjalan di lingkungan produksi. Pengaturan ini menentukan jumlah instans berulang dan waktu pelaksanaannya.
Waktu Penjadwalan: Menentukan waktu spesifik saat node berjalan.
Definisi Timeout: Menentukan durasi maksimum node dapat berjalan sebelum timeout dan keluar.
Tanggal Efektif: Menentukan rentang waktu saat node dijadwalkan secara otomatis untuk berjalan. Node tidak dijadwalkan secara otomatis di luar rentang ini.
Kelompok Sumber Daya Penjadwalan: Menentukan kelompok sumber daya untuk fitur penjadwalan waktu DataWorks. Jika Anda belum membuat kelompok sumber daya DataWorks, klik Create Now di daftar drop-down untuk membuka halaman pembuatan. Setelah membuat kelompok sumber daya, sambungkan ke ruang kerja saat ini.

Untuk informasi lebih lanjut tentang parameter penjadwalan, lihat Deskripsi Konfigurasi Properti Waktu.
Manajemen multi-versi: Pisahkan pengembangan dan produksi
Fitur kloning versi memungkinkan Anda menerbitkan basis pengetahuan yang telah diuji, misalnya, v1, sebagai versi resmi baru. Ini memisahkan lingkungan pengembangan dari lingkungan produksi.
Setelah Anda berhasil mengkloning versi, Anda dapat beralih antara dan mengelola versi yang berbeda di halaman detail basis pengetahuan. Anda juga dapat memilih versi yang diinginkan di node pengambilan basis pengetahuan alur aplikasi.

Mengkloning versi mirip dengan memperbarui indeks. Operasi ini mengirimkan tugas alur kerja. Anda dapat melihat tugas tersebut di catatan operasi.

Pemecahan masalah: Lihat tugas alur kerja
Setelah Anda memperbarui indeks atau mengkloning versi, klik Operation Records di pojok kanan atas. Pilih tugas target dan klik View Task di kolom Actions untuk melihat detail eksekusi setiap node dalam tugas, termasuk informasi run, log tugas, dan hasil output.


Sebagai contoh, tugas alur kerja untuk memperbarui indeks basis pengetahuan dokumen mencakup tiga node berikut. Kecuali untuk node read-oss-file, setiap node membuat tugas PAI-DLC. Anda juga dapat melihat detail tugas DLC menggunakan URL Pekerjaan di log.
read-oss-file: Membaca file OSS.
rag-parse-chunk: Menangani pra-pemrosesan dokumen dan pembagian potongan.
rag-sync-index: Menangani penyematan potongan teks dan sinkronisasi ke database vektor.
Manajemen aset: Lihat dataset
Setelah tugas pembaruan indeks berhasil, sistem secara otomatis mendaftarkan Output OSS Path sebagai dataset. Anda dapat melihat dataset di Manajemen Aset AI - Dataset. Dataset ini memiliki nama yang sama dengan basis pengetahuan dan mencatat informasi keluaran dari proses pembuatan indeks.
