Bagikan melalui


RAG (Retrieval Augmented Generation) di Azure Databricks

Retrieval-augmented generation (RAG) adalah teknik kuat yang menggabungkan model bahasa besar (LLM) dengan pengambilan data real time untuk menghasilkan respons yang lebih akurat, up-to-date, dan relevan secara kontekstual.

Pendekatan ini sangat berharga untuk menjawab pertanyaan tentang informasi kepemilikan, sering berubah, atau khusus domain.

Apa itu generasi yang ditingkatkan oleh pengambilan informasi?

Dalam bentuk paling sederhana, agen RAG melakukan hal berikut:

  1. Pengambilan: Permintaan pengguna digunakan untuk mengkueri pangkalan pengetahuan luar seperti penyimpanan vektor, pencarian kata kunci, atau database SQL. Tujuannya adalah untuk mendapatkan data pendukung untuk respons LLM.
  2. Augmentasi: Data pendukung dikombinasikan dengan permintaan pengguna, sering menggunakan templat dengan pemformatan dan instruksi tambahan ke LLM, untuk membuat permintaan.
  3. Generasi: Perintah diteruskan ke LLM untuk menghasilkan respons terhadap permintaan pengguna.

Alur aplikasi RAG dari permintaan pengguna ke pengambilan dan respons data.

Manfaat RAG

RAG meningkatkan LLM dengan cara berikut:

  • Pengetahuan kepemilikan: RAG dapat menyertakan informasi kepemilikan yang awalnya tidak digunakan untuk melatih LLM, seperti memo, email, dan dokumen untuk menjawab pertanyaan khusus domain.
  • Informasi terbaru: Aplikasi RAG dapat menyediakan LLM dengan informasi dari pangkalan pengetahuan yang diperbarui.
  • Mengutip sumber: RAG memungkinkan LLM untuk mengutip sumber tertentu, memungkinkan pengguna memverifikasi akurasi respons faktual.
  • Daftar keamanan data dan kontrol akses (ACL): Langkah pengambilan dapat dirancang untuk mengambil informasi pribadi atau kepemilikan secara selektif berdasarkan kredensial pengguna.

Komponen RAG

Aplikasi RAG umum melibatkan beberapa tahap:

  1. Alur data: Pra-proses dan indeks dokumen, tabel, atau data lainnya untuk pengambilan yang cepat dan akurat.

  2. Rantai RAG (Retrieval, Augmentasi, Generasi): Panggil serangkaian (atau rantai) langkah untuk:

    • Pahami pertanyaan pengguna.
    • Mengambil data pendukung.
    • Memperkuat prompt dengan data pendukung.
    • Hasilkan respons dari LLM menggunakan perintah tambahan.
  3. Evaluasi dan pemantauan: Menilai aplikasi RAG untuk menentukan kualitas, biaya, dan latensinya untuk memastikan aplikasi memenuhi persyaratan bisnis Anda.

  4. Tata kelola dan LLMOps: Melacak dan mengelola siklus hidup setiap komponen, termasuk silsilah data dan kontrol akses.

Diagram komponen aplikasi RAG.

Jenis data RAG: terstruktur dan tidak terstruktur

Arsitektur RAG dapat bekerja dengan data pendukung yang tidak terstruktur atau terstruktur. Data yang Anda gunakan dengan RAG tergantung pada kasus penggunaan Anda.

Data yang tidak terstruktur: Data tanpa struktur atau organisasi tertentu.

  • PDF
  • Dokumen Google/Office
  • Wiki
  • Gambar
  • Video

Data terstruktur: Data tabular yang disusun dalam baris dan kolom dengan skema tertentu, seperti tabel dalam database.

  • Catatan pelanggan dalam sistem BI atau Gudang Data
  • Data transaksi dari database SQL
  • Data dari API aplikasi (misalnya, SAP, Salesforce, dll.)

Evaluasi & pemantauan

Evaluasi dan pemantauan membantu menentukan apakah aplikasi RAG Anda memenuhi persyaratan kualitas, biaya, dan latensi Anda. Evaluasi terjadi selama pengembangan, sementara pemantauan terjadi setelah aplikasi disebarkan ke produksi.

RAG atas data yang tidak terstruktur memiliki banyak komponen yang berdampak pada kualitas. Misalnya, perubahan pemformatan data dapat memengaruhi potongan yang diambil dan kemampuan LLM untuk menghasilkan respons yang relevan. Jadi, penting untuk mengevaluasi komponen individual selain aplikasi keseluruhan.

Untuk informasi selengkapnya, lihat Evaluasi Agen AI Mosaik (MLflow 2).

RAG di Databricks

Databricks menawarkan platform end-to-end untuk pengembangan RAG, termasuk:

Langkah selanjutnya