AI
#AIIn60SecondsRAG ក្នុង ៦០ វិនាទី
LLM ដឹងតែអ្វីដែលវាបានរៀនប៉ុណ្ណោះ។ RAG អនុញ្ញាតឱ្យវាទៅរកព័ត៌មានពិតប្រាកដសិន មុននឹងឆ្លើយ។ នេះជាដំណើរការទាំង ៦ ជំហាន។
Note · AIIn60Seconds
RAG ក្នុង ៦០ វិនាទី
ក្នុងអត្ថបទនេះ
ម៉ូដែលដូចជា ChatGPT ដឹងតែអ្វីដែលមាននៅក្នុងទិន្នន័យបណ្តុះបណ្តាលរបស់វាប៉ុណ្ណោះ។
ស្រមៃថាអ្នកជាអ្នកគាំទ្រក្រុមបាល់ទាត់មួយ ដែលឈប់តាមដានពត៌មានតាំងពីឆ្នាំមុន។ អ្នកនៅតែចេះច្បាប់ល្អ ចេះឈ្មោះកីឡាករចាស់ៗ — ប៉ុន្តែបើសួរថាតើអ្នកណាឈ្នះសប្តាហ៍មុន អ្នកនឹងទាយ។ ហើយការទាយនោះ ស្តាប់ទៅដូចជាការពិតដែរ។
នេះហើយជាបញ្ហា។ ចម្លើយខុសដែលនិយាយដោយទំនុកចិត្ត គឺគ្រោះថ្នាក់ជាងការឆ្លើយថា «ខ្ញុំមិនដឹងទេ»។
RAG (Retrieval-Augmented Generation) ដោះស្រាយបញ្ហានេះ ដោយឱ្យម៉ូដែលទៅរកព័ត៌មានពិតសិន មុននឹងឆ្លើយ។
ដំណើរការទាំង ៦ ជំហាន
- អ្នកប្រើសួរសំណួរ — ជាភាសាធម្មតា។
- Embedding model បំប្លែងសំណួរទៅជា vector — លេខមួយជួរ ដែលតំណាងឱ្យអត្ថន័យ មិនមែនពាក្យទេ។
- Vector database ស្វែងរកឯកសារពាក់ព័ន្ធ — ប្រៀបធៀប vector នោះនឹងឯកសាររបស់អ្នក រកអ្វីដែលអត្ថន័យជិតបំផុត។
- ដកយក chunk សំខាន់ៗចេញ — មិនយកឯកសារទាំងមូលទេ យកតែកថាខណ្ឌដែលឆ្លើយត្រូវសំណួរ។
- បញ្ចូល chunk ទាំងនោះជាមួយសំណួរ — ទៅជា prompt តែមួយ។
- LLM ឆ្លើយពីអត្ថបទនោះ — ព្រមទាំងអាចដកស្រង់ប្រភពបាន។
ចំណុចសំខាន់នៅជំហានទី ៦៖ ម៉ូដែលលែងឆ្លើយពីការចងចាំ វាឆ្លើយពីអ្វីដែលអ្នកទើបតែដាក់ឱ្យវាមើល។
ហេតុអ្វីបានជាវាសំខាន់
- ឆ្លើយផ្អែកលើទិន្នន័យរបស់អ្នកផ្ទាល់ មិនមែនចំណេះទូទៅពីអ៊ីនធឺណិត។
- ទាញយកព័ត៌មានថ្មីបំផុត ដោយមិនចាំបាច់រង់ចាំម៉ូដែលជំនាន់ថ្មី។
- មិនចាំបាច់ retrain ម៉ូដែល — គ្រាន់តែបន្ថែមឯកសារចូល index។
- កាត់បន្ថយ hallucination ព្រោះមានអត្ថបទពិតជាមូលដ្ឋាន។
ចំណុចចុងក្រោយនេះ មិនមែនដោះស្រាយបានទាំងស្រុងទេ។ RAG កាត់បន្ថយការប្រឌិត ប៉ុន្តែបើ retrieval យកឯកសារខុសមក ម៉ូដែលនឹងឆ្លើយខុសដោយទំនុកចិត្តដដែល។ គុណភាពនៃ retrieval ទើបជារឿងសំខាន់បំផុត។
ចង់សាកល្បងមែនទេ?
ខ្ញុំបានសរសេរអំពីការសង់ pipeline នេះលើ Postgres ដែលអ្នកមានស្រាប់ ដោយប្រើ pgvector — មិនចាំបាច់ vector database ដាច់ដោយឡែកទេ។ ហើយ Lab នៅលើគេហទំព័រនេះ អនុញ្ញាតឱ្យអ្នកសាកល្បង retrieval ដោយផ្ទាល់ ដើម្បីមើលថា chunk ណាខ្លះត្រូវបានជ្រើសរើស និងហេតុអ្វី។