Retrieval-Augmented Generation (RAG) menghubungkan large language models (LLMs) ke basis pengetahuan privat, meningkatkan akurasi respons dengan data spesifik domain. Panduan ini memandu Anda melalui pengembangan dan penerapan aplikasi RAG di LangStudio.
Latar Belakang
Model RAG menggabungkan pengambilan informasi dengan AI generatif untuk memberikan jawaban yang lebih tepat dan relevan secara kontekstual. Di bidang seperti keuangan dan kesehatan—di mana informasi akurat mendorong keputusan kritis—model generatif tradisional mungkin tidak memiliki pengetahuan spesifik domain yang diperlukan. RAG menjembatani kesenjangan ini dengan menghubungkan model ke basis pengetahuan eksternal. Panduan ini menjelaskan solusi RAG untuk bidang keuangan dan kesehatan yang dibangun di atas Platform for AI (PAI).
Prasyarat
LangStudio mendukung Faiss dan Milvus sebagai database vektor. Jika Anda ingin menggunakan Milvus, Anda harus terlebih dahulu membuat instans Milvus.
CatatanFaiss cocok untuk lingkungan pengujian dan tidak memerlukan pengaturan database tambahan. Untuk produksi, gunakan Milvus, yang mendukung data berskala lebih besar.
Korpus untuk basis pengetahuan RAG Anda harus diunggah ke OSS. Korpus sampel berikut disediakan untuk kasus penggunaan keuangan dan kesehatan:
Berita Keuangan: Data dalam format PDF, berisi laporan berita dari situs web berita publik.
Pengantar Penyakit: Data dalam format CSV, berisi informasi penyakit dari Wikipedia.
1. (Opsional) Terapkan model LLM dan embedding
Alur aplikasi RAG memerlukan layanan LLM dan layanan model embedding. Anda dapat menerapkan layanan yang diperlukan dari Model Gallery sebagaimana dijelaskan di bawah ini, atau lewati langkah ini jika Anda sudah memiliki layanan model yang kompatibel dengan API OpenAI.
Buka QuickStart > Model Gallery dan terapkan model untuk dua skenario berikut. Untuk detailnya, lihat Penerapan dan pelatihan model.
Pilih large language model yang telah dituning untuk instruksi. Model dasar tidak dapat diandalkan dalam mengikuti instruksi pengguna.
Untuk Skenario, pilih Large Language Models dan terapkan DeepSeek-R1-Distill-Qwen-7B.
Untuk Skenario, pilih embedding dan terapkan bge-m3 general vector model.
2. Buat koneksi
Koneksi layanan LLM dan model embedding pada bagian ini menggunakan layanan EAS yang diterapkan dari QuickStart > Model Gallery. Untuk jenis koneksi lainnya, lihat Konfigurasikan koneksi.
2.1 Buat koneksi layanan LLM
Di LangStudio, pilih ruang kerja, navigasikan ke tab Configure Service Connection > Model Service, lalu klik New Connection untuk membuat koneksi layanan model LLM generik.
Parameter utama:
Parameter | Deskripsi |
Nama model | Jika Anda menerapkan model dari Model Gallery, temukan nama model di halaman detailnya dengan mengklik kartu model di halaman Model Gallery. Untuk detailnya, lihat Buat koneksi - Model Service. |
Penyedia layanan |
|
2.2 Buat koneksi layanan model embedding
Buat koneksi layanan model embedding generik, mengikuti prosedur yang sama seperti pada Langkah 2.1.
Di halaman New Connection, atur jenis koneksi menjadi General Embedding Model Service dan pilih tab PAI-EAS Model Service sebagai penyedia layanan. Kemudian konfigurasikan pengaturan parameter berikut:
EAS Service: pilih instans layanan model embedding EAS yang telah diterapkan.
Nama model: masukkan
default.base_url: titik akhir layanan EAS.api_key: kunci API layanan EAS.
2.3 Buat koneksi database vektor
Di tab Configure Service Connection > Database, klik New Connection untuk membuat koneksi database Milvus.
Parameter utama:
Parameter | Deskripsi |
uri | Titik akhir instans Milvus dalam format Anda dapat memperoleh titik akhir internal dari halaman detail instans Milvus di konsol Alibaba Cloud. |
token | Username dan password untuk instans Milvus: |
database | Nama database. Topik ini menggunakan database default |
3. Buat indeks basis pengetahuan
Buat indeks basis pengetahuan. LangStudio mengurai korpus, membaginya menjadi chunk, melakukan penyematan vektor, lalu menyimpan hasilnya di database vektor. Tabel berikut menjelaskan parameter utama. Untuk konfigurasi lainnya, lihat Kelola basis pengetahuan.
Parameter | Deskripsi |
Konfigurasi dasar | |
Jalur sumber data OSS | Atur parameter ini ke jalur OSS korpus basis pengetahuan RAG yang dijelaskan di Prasyarat. |
Jalur output OSS | Tentukan jalur untuk menyimpan hasil antara dan metadata indeks dari penguraian dokumen. Penting Jika Anda menggunakan Faiss sebagai database vektor, alur aplikasi menyimpan file indeks yang dihasilkan ke OSS. Secara default, jika Anda menggunakan peran PAI default (yaitu Instance RAM Role yang ditetapkan saat Anda memulai runtime), alur aplikasi memiliki akses ke bucket penyimpanan default ruang kerja Anda. Oleh karena itu, kami menyarankan mengatur parameter ini ke direktori dalam bucket OSS yang berisi jalur penyimpanan default ruang kerja saat ini. Jika Anda menggunakan peran kustom, berikan izin akses OSS. Kami merekomendasikan izin AliyunOSSFullAccess. Untuk informasi selengkapnya, lihat Kelola izin untuk peran RAM. |
Model embedding dan database | |
Jenis embedding | Pilih General Embedding Model. |
Koneksi embedding | Pilih koneksi layanan model embedding yang Anda buat di Langkah 2.2. |
Jenis database vektor | Pilih Vector database Milvus. |
Koneksi database vektor | Pilih koneksi database Milvus yang Anda buat di Langkah 2.3. |
Nama tabel | Atur parameter ini ke nama Collection yang Anda buat di database Milvus, sebagaimana dijelaskan di Prasyarat. |
Konfigurasi VPC | |
Konfigurasi VPC | Pilih VPC yang sama dengan, atau dapat berkomunikasi dengan, VPC instans Milvus. |
4. Buat dan jalankan alur aplikasi RAG
Buka LangStudio, pilih ruang kerja, lalu di tab Application Flow, klik New Application Flow untuk membuat alur aplikasi RAG.
Mulai runtime. Di pojok kanan atas, klik Create Runtime dan konfigurasikan parameter. Catatan: Runtime harus berjalan sebelum Anda dapat mengurai node Python atau mengakses alat lainnya.
Parameter utama:
Konfigurasi VPC: Pilih VPC yang digunakan untuk membuat instans Milvus di Prasyarat, atau pastikan VPC yang dipilih dapat berkomunikasi dengan VPC instans Milvus.
Kembangkan alur aplikasi.

Pertahankan pengaturan default untuk node lainnya atau sesuaikan sesuai kebutuhan. Konfigurasikan node utama sebagai berikut:
Knowledge Retrieval: Mengambil teks dari basis pengetahuan yang relevan dengan pertanyaan pengguna.
Nama indeks basis pengetahuan: Pilih indeks basis pengetahuan yang Anda buat di Langkah 3.
Top K: Mengembalikan K hasil pencocokan teratas.
Node LLM: Menggunakan dokumen yang diambil sebagai konteks, mengirimkannya ke large language model bersama pertanyaan pengguna, lalu menghasilkan respons.
Konfigurasi model: Pilih koneksi yang Anda buat di Langkah 2.1.
Riwayat obrolan: Menentukan apakah riwayat obrolan diaktifkan dan percakapan sebelumnya digunakan sebagai variabel input.
Untuk detail setiap komponen, lihat Pre-built Component Library.
Debug atau jalankan alur. Di pojok kanan atas, klik Run untuk mengeksekusi alur. Untuk informasi tentang masalah runtime umum, lihat FAQ.
Lihat jejak. Di bawah jawaban yang dihasilkan, klik View Traces untuk melihat detail jejak atau topologinya.
5. Terapkan alur aplikasi
Di halaman pengembangan alur aplikasi, klik Deploy di pojok kanan atas untuk menerapkan alur aplikasi sebagai layanan EAS. Pertahankan pengaturan penerapan lainnya sebagai default atau sesuaikan sesuai kebutuhan. Konfigurasikan parameter utama berikut:
Resource deployment > Instances: Konfigurasikan jumlah instans layanan. Penerapan ini untuk tujuan pengujian, jadi atur jumlah instans menjadi 1. Untuk produksi, kami merekomendasikan menggunakan beberapa instans layanan untuk mengurangi risiko single point of failure (SPOF).
VPC > VPC: Pilih VPC tempat instans Milvus berada, atau pastikan VPC yang dipilih dapat berkomunikasi dengan VPC tempat instans Milvus berada.
Untuk detail penerapan lebih lanjut, lihat Terapkan alur aplikasi.
6. Panggil layanan
Setelah penerapan, Anda akan dialihkan ke konsol PAI-EAS. Di tab Debug, konfigurasikan dan kirim permintaan. Kunci dalam badan permintaan harus sesuai dengan parameter "Dialogue input" di node "Start" alur aplikasi. Panduan ini menggunakan field default question.
Di area konfigurasi permintaan, pilih metode POST dan masukkan badan permintaan sebagai JSON mentah, contohnya:
{"question": "What is the share price of NVIDIA"}
Klik Send Request. Area Respons di sebelah kanan mengembalikan kode status 200 beserta respons JSON yang berisi informasi harga saham yang diambil melalui indeks basis pengetahuan.
Untuk metode pemanggilan layanan lainnya, seperti menggunakan API, lihat Panggil layanan.