Panduan

Apa Itu RAG? Retrieval-Augmented Generation Dijelaskan Ringkas

RAG (retrieval-augmented generation) ialah cara untuk membolehkan model AI menjawab soalan menggunakan maklumat anda sendiri. Apabila seseorang bertanya soalan, app anda mula-mula mencari dokumen anda untuk petikan yang paling relevan, kemudian menyerahkan petikan itu kepada model bersama soalan. Model menulis jawapannya daripada teks tersebut dan bukan hanya bergantung pada apa yang kebetulan dipelajari semasa latihan.

Mengapa RAG penting apabila membina dengan AI

Model bahasa besar mengetahui banyak perkara tentang dunia secara umum, tetapi tiada apa-apa tentang perniagaan anda: harga anda, dasar anda, manual produk anda, tiket sokongan minggu lepas. Ia juga mempunyai tarikh potong latihan, jadi ia tidak tahu apa-apa yang terkini. Jika anda tetap bertanya, ia mungkin menghasilkan jawapan yang yakin, munasabah tetapi salah.

Anda ada tiga pilihan utama untuk menyelesaikannya:

PendekatanApa yang dilakukannyaSesuai untuk
Tampal semuanya dalam promptHantar semua dokumen anda bersama setiap soalanTeks yang sedikit — beberapa halaman
RAGCari dokumen anda, hantar hanya bahagian yang relevanKoleksi yang lebih besar atau sentiasa berubah: pusat bantuan, manual, nota
Fine-tuningLatih model lagi menggunakan contohNada, format dan tugasan berulang — bukan fakta yang berubah

Model moden menerima prompt yang panjang, jadi untuk soalan lazim (FAQ) yang pendek pilihan pertama selalunya sudah memadai. RAG sesuai apabila anda mempunyai lebih banyak teks daripada yang mahu dihantar setiap kali — kerana setiap perkataan yang dihantar menelan kos dan masa (lihat cara API LLM dicaj).

Jika anda sedang membina ciri “bersembang dengan dokumen kami”, pembantu sokongan atau alat pengetahuan dalaman, anda hampir pasti sedang membina satu bentuk RAG.

Analogi harian

Bayangkan peperiksaan buku terbuka. Pelajar yang perlu menjawab dari ingatan mungkin tersilap ingat atau berpura-pura tahu. Pelajar yang dibenarkan membuka muka surat yang betul dahulu, membacanya dan kemudian menjawab jauh lebih boleh dipercayai — selagi mereka menjumpai muka surat yang betul.

  • Pelajar ialah model bahasa.
  • Buku teks ialah dokumen anda.
  • Membuka muka surat yang betul ialah pengambilan semula (retrieval).
  • Menulis jawapan daripada muka surat itu ialah penjanaan (generation).

RAG ialah versi buku terbuka. Dan, seperti dalam peperiksaan, kualiti jawapan sangat bergantung pada sama ada muka surat yang betul ditemui.

Cara RAG berfungsi, langkah demi langkah

Sediaan RAG yang biasa mempunyai dua fasa.

Menyediakan dokumen anda (dilakukan lebih awal):

  1. Kumpul bahan sumber — artikel bantuan, PDF, dasar, data produk.
  2. Chunk — pecahkan dokumen panjang kepada bahagian yang lebih kecil, selalunya beberapa perenggan setiap satu, supaya carian boleh memulangkan hanya bahagian yang relevan.
  3. Embed setiap chunk: hantarnya kepada model embedding, yang menukar teks kepada embedding — senarai nombor panjang yang menangkap maknanya. Teks tentang perkara yang serupa akan mempunyai nombor yang serupa.
  4. Simpan chunk dan embeddingnya dalam pangkalan data yang boleh dicari mengikut keserupaan (selalunya dipanggil pangkalan data vektor atau indeks vektor).

Menjawab soalan (dilakukan setiap kali):

  1. Embed soalan menggunakan model embedding yang sama.
  2. Ambil semula chunk yang embeddingnya paling dekat dengan soalan — katakan lima teratas.
  3. Bina prompt: arahan, chunk yang diambil semula, dan soalan.
  4. Jana: model bahasa menulis jawapan berdasarkan chunk tersebut, sebaik-baiknya menyebut chunk mana yang digunakan.

Carian mengikut makna ialah apa yang menjadikan ini berfungsi: soalan tentang “mendapatkan semula wang saya” boleh menemui chunk bertajuk “Dasar bayaran balik” walaupun kedua-duanya tidak berkongsi perkataan yang sama.

Contoh kerja: pembantu bantuan sebuah gim

Katakan sebuah gim mempunyai 40 artikel bantuan dan mahu pembantu sembang di laman webnya. Seorang ahli bertanya: “Bolehkah saya gantung keahlian saya semasa saya bermusafir?”

App itu mengembed soalan dan mengambil tiga chunk yang paling dekat. Salah satunya berbunyi:

Pembekuan keahlian: Ahli pelan bulanan boleh membekukan
keahlian mereka sehingga 2 bulan setahun. Minta di kaunter
depan atau dalam app sekurang-kurangnya 7 hari sebelum
pembekuan bermula.

Prompt yang dihantar kepada model kemudian kelihatan seperti ini:

Anda ialah pembantu bantuan untuk Northside Gym.
Jawab hanya daripada sumber di bawah. Jika jawapannya tiada
dalamnya, katakan anda tidak tahu dan cadangkan hubungi
kaunter depan.
Sebutkan sumber yang anda gunakan.

[Sumber 1: Pembekuan keahlian] Ahli pelan bulanan boleh membekukan...
[Sumber 2: Membatalkan keahlian anda] ...
[Sumber 3: Pas tetamu] ...

Soalan: Bolehkah saya gantung keahlian saya semasa saya bermusafir?

Dan model menjawab: “Ya — pada pelan bulanan anda boleh membekukan keahlian sehingga dua bulan setahun. Minta di kaunter depan atau dalam app sekurang-kurangnya 7 hari lebih awal (sumber: Pembekuan keahlian).”

Gim itu tidak pernah melatih semula apa-apa. Apabila ia menukar dasar pembekuan, ia mengemas kini artikel tersebut, app mengembed semula chunk itu, dan jawapan seterusnya mencerminkannya.

Istilah utama

IstilahMaksud
LLMLarge language model — AI yang menulis jawapan. Lihat apa itu LLM.
EmbeddingSenarai nombor yang mewakili makna sekeping teks.
Model embeddingModel yang menghasilkan embedding. Biasanya berasingan daripada, dan jauh lebih murah daripada, model sembang.
ChunkSebahagian daripada dokumen, bersaiz supaya boleh diambil semula secara sendiri.
Pangkalan data vektor / carian vektorStoran yang mencari item dengan embedding yang serupa. Sesetengah pangkalan data biasa juga menawarkannya — Postgres, contohnya, melalui sambungan pgvector.
Top-kBerapa banyak chunk yang diambil semula bagi setiap soalan.
Carian hibridMenggabungkan carian berasaskan makna dengan carian kata kunci biasa, yang membantu untuk istilah tepat seperti kod produk.
Context windowJumlah maksimum teks yang boleh diterima model dalam satu permintaan.
Grounding / petikanMengaitkan jawapan dengan sumber khusus yang diambil semula dan memaparkannya.

Salah faham yang biasa

  • “RAG melatih model menggunakan data saya.” Tidak. Tiada apa-apa tentang model berubah; ia hanya membaca teks tambahan pada masa soalan ditanya.
  • “RAG bermaksud tiada lagi halusinasi.” Ia bermaksud kurang. Jika pengambilan semula terlepas chunk yang betul, atau jawapannya tidak terdapat dalam dokumen anda, model masih boleh meneka. Arahkannya supaya berkata “saya tidak tahu” dan uji dengan soalan yang anda tahu jawapannya.
  • “Saya perlukan pangkalan data vektor khas.” Selalunya tidak. Untuk jumlah data yang sederhana, sambungan vektor pada pangkalan data yang sudah anda ada, atau malah carian kata kunci biasa, mungkin sudah mencukupi.
  • “Chunk yang lebih besar lebih baik.” Terlalu besar dan anda menghantar banyak teks yang tidak relevan (lebih kos, lebih kekeliruan); terlalu kecil dan chunk kehilangan konteks yang menjadikannya bermakna. Jangkakan perlu melaraskannya.
  • “Muat naik semuanya.” Dokumen yang lapuk, berganda atau bercanggah menghasilkan jawapan yang bercanggah. Membersihkan bahan sumber selalunya peningkatan terbesar yang boleh anda buat.
  • “Sesiapa sahaja boleh melihat mana-mana dokumen.” Hanya jika anda membinanya begitu. Jika sesetengah dokumen hanya peribadi kepada pengguna tertentu, carian itu sendiri mesti menapis mengikut siapa yang bertanya — jika tidak, pembantu boleh memetik data seorang pelanggan kepada pelanggan lain.

Kosnya

Ciri RAG biasanya mempunyai tiga kos berjalan: mengembed dokumen anda (kecil, dan kebanyakannya sekali sahaja), mengembed setiap soalan (sangat kecil), dan panggilan model bahasa (kos utama, yang meningkat mengikut bilangan chunk yang dihantar). Ditambah storan dalam pangkalan data anda. Pembekal AI anda mengenakan bayaran ini pada akaun anda sendiri, jadi tetapkan had perbelanjaan di sana.

Apa yang perlu diminta daripada pembina AI anda

  • “Sebelum membina RAG, semak: adakah kandungan kami cukup kecil untuk dimasukkan terus dalam prompt?”
  • “Pecahkan artikel bantuan kepada chunk beberapa perenggan, simpan tajuk dan pautan sumber setiap chunk, dan simpan embedding dalam pangkalan data kami.”
  • “Gunakan carian hibrid — berasaskan makna dan kata kunci — supaya kod produk tetap sepadan.”
  • “Beritahu model supaya menjawab hanya daripada sumber yang diambil semula, menyatakan apabila ia tidak tahu, dan menunjukkan sumber di bawah setiap jawapan.”
  • “Hanya cari dokumen yang boleh dilihat oleh pengguna yang log masuk.”
  • “Embed semula dokumen secara automatik setiap kali ia disunting.”
  • “Simpan kunci pembekal AI di pelayan dalam rahsia, jangan sekali-kali dalam pelayar.”
  • “Log setiap soalan, chunk yang diambil semula dan jawapan supaya saya boleh menyemak jawapan yang teruk.”

RAG dalam Mythex

Mythex tidak menyertakan produk pangkalan pengetahuan atau RAG siap sedia. Apa yang dilakukannya ialah menulis kod untuknya di dalam app anda: anda membawa dokumen dan kunci pembekal AI anda sendiri, disimpan sebagai rahsia projek, dan ejen membina bahagian pengambilan semula serta sembang, menggunakan pangkalan data Postgres projek untuk storan. Penggunaan pembekal dicaj ke akaun pembekal anda, bukan kredit Mythex. Dokumentasi mencadangkan bermula dengan satu ciri AI yang mudah dan menambah RAG setelah itu berfungsi — lihat membina app AI, dan panduan kami tentang membina app chatbot AI dan menambah ciri AI.

Soalan lazim

Apa itu RAG dalam istilah mudah?

RAG (retrieval-augmented generation) ialah cara untuk membolehkan model AI menjawab daripada maklumat anda sendiri. Sebelum model membalas, app anda mencari dokumen untuk petikan yang paling relevan dengan soalan dan memasukkannya dalam prompt, supaya jawapan berdasarkan teks itu dan bukan hanya pada apa yang model pelajari semasa latihan.

Adakah RAG melatih AI menggunakan data saya?

Tidak. RAG tidak mengubah model sama sekali. Ia mencari teks yang relevan pada saat soalan ditanya dan menghantarnya kepada model bersama soalan itu. Apabila dokumen dikemas kini, jawapan seterusnya boleh menggunakan versi baharu itu serta-merta.

Adakah RAG sama dengan fine-tuning?

Tidak. Fine-tuning mengubah tingkah laku model dengan melatihnya lagi menggunakan contoh, yang lebih perlahan dan lebih sesuai untuk gaya atau format. RAG memberi model fakta untuk dibaca pada masa soalan ditanya, yang lebih sesuai untuk pengetahuan yang sentiasa berubah atau yang perlu dipetik dengan tepat.

Adakah RAG menghentikan halusinasi AI?

Ia mengurangkannya tetapi tidak menghapuskannya sepenuhnya. Jika carian menemui petikan yang salah, atau jawapannya tidak terdapat dalam dokumen anda, model masih boleh meneka. App RAG yang baik memberitahu model supaya menyatakan apabila ia tidak tahu dan menunjukkan sumber yang digunakan.

Mythex · Pricing · Bina apa sahaja dengan AI · Templat laman web dan aplikasi · Mythex dibandingkan · Glosari pembinaan aplikasi AI · Alat percuma untuk membina aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)