RAG คืออะไร Retrieval Augmented Generation AI

RAG คืออะไร Retrieval Augmented Generation

📅 2026-02-09 | โดย อ.บอม กิตติทัศน์ เจริญพนาสิทธิ์ — SiamCafe.net Since 1997

RAG คืออะไร: ไขความลับเบื้องหลัง AI อัจฉริยะ

RAG หรือ Retrieval Augmented Generation คือเทคนิคที่ช่วยให้ Large Language Models (LLMs) อย่าง ChatGPT หรือ Bard สามารถดึงข้อมูลจากแหล่งภายนอก (External Knowledge Source) มาประกอบการสร้างคำตอบได้ ทำให้คำตอบมีความถูกต้อง แม่นยำ และเป็นปัจจุบันมากขึ้น สมัยผมทำร้านเน็ตเคยเจอเด็กมาถามหาข้อมูลเกมส์ที่เพิ่งออกใหม่ๆ ซึ่งข้อมูลใน LLM อาจจะยังไม่อัปเดต RAG นี่แหละที่จะช่วยแก้ปัญหาได้

ทำไม RAG ถึงสำคัญ?

ลองนึกภาพว่าคุณถาม ChatGPT ว่า "ราคาทองคำวันนี้เท่าไหร่?" ถ้า ChatGPT ไม่มี RAG มันก็อาจจะตอบข้อมูลเก่า หรือไม่ก็ตอบแบบกำกวม แต่ถ้ามี RAG มันจะไปดึงข้อมูลราคาทองคำจากแหล่งข้อมูลที่น่าเชื่อถือมาให้คุณได้เลย นี่คือเหตุผลว่าทำไม RAG ถึงสำคัญ:

สมัยก่อนตอนทำร้านเน็ต ผมเคยเจอเคสลูกค้าถามหาข้อมูลเฉพาะทางมากๆ ซึ่ง Google ก็ยังหาให้ไม่ได้ RAG นี่แหละที่จะเป็นตัวช่วยสำคัญในการตอบคำถามเหล่านั้น

ขั้นตอนการทำ RAG แบบ Step-by-Step

การทำ RAG อาจจะดูซับซ้อน แต่จริงๆ แล้วมีขั้นตอนหลักๆ ไม่กี่อย่าง ลองมาดูกัน:

  1. Index Data: เตรียมข้อมูลให้อยู่ในรูปแบบที่ LLM สามารถค้นหาได้ง่าย เช่น แบ่งเป็น chunk เล็กๆ และสร้าง index
  2. Retrieve: เมื่อมีคำถามเข้ามา ให้ดึงข้อมูลที่เกี่ยวข้องจาก index
  3. Generate: นำข้อมูลที่ดึงมาได้มาประกอบการสร้างคำตอบ

1. Index Data: เตรียมข้อมูลให้พร้อม

ขั้นตอนนี้คือการเตรียมข้อมูลที่เราต้องการให้ LLM ใช้ในการตอบคำถาม อาจจะเป็นเอกสาร Text, PDF, CSV หรืออะไรก็ได้ สิ่งสำคัญคือต้องแปลงข้อมูลให้อยู่ในรูปแบบที่ LLM เข้าใจได้ และสร้าง Index เพื่อให้ค้นหาได้รวดเร็ว

สมมติว่าเรามีเอกสาร Text เกี่ยวกับประวัติบริษัท:


บริษัท SiamCafe.net ก่อตั้งขึ้นในปี 1997 โดยคุณกิตติทัศน์ เจริญพนาสิทธิ์...

เราอาจจะแบ่งเอกสารนี้เป็น chunk เล็กๆ และสร้าง Index โดยใช้เทคนิค Vector Embeddings เพื่อให้ LLM สามารถค้นหา chunk ที่เกี่ยวข้องกับคำถามได้

2. Retrieve: ค้นหาข้อมูลที่เกี่ยวข้อง

เมื่อมีคำถามเข้ามา เราต้องค้นหาข้อมูลที่เกี่ยวข้องจาก Index ที่เราสร้างไว้ เช่น ถ้ามีคนถามว่า "SiamCafe.net ก่อตั้งเมื่อไหร่?" เราก็จะค้นหา chunk ที่มีข้อมูลเกี่ยวกับการก่อตั้งบริษัท

การค้นหาข้อมูลสามารถทำได้หลายวิธี เช่น Semantic Search ซึ่งเป็นการค้นหาโดยพิจารณาความหมายของคำ แทนที่จะดูแค่คำที่เหมือนกัน

3. Generate: สร้างคำตอบโดยใช้ข้อมูลที่ดึงมา

เมื่อได้ข้อมูลที่เกี่ยวข้องแล้ว เราจะนำข้อมูลนั้นมาประกอบการสร้างคำตอบ โดยใส่เข้าไปใน Prompt ของ LLM

ตัวอย่าง Prompt:


Context: บริษัท SiamCafe.net ก่อตั้งขึ้นในปี 1997 โดยคุณกิตติทัศน์ เจริญพนาสิทธิ์...
Question: SiamCafe.net ก่อตั้งเมื่อไหร่?
Answer:

LLM ก็จะตอบคำถามโดยอ้างอิงข้อมูลจาก Context ที่เราให้ไป

RAG vs Fine-tuning: เลือกใช้อะไรดี?

หลายคนอาจจะสงสัยว่า RAG กับ Fine-tuning ต่างกันยังไง และควรเลือกใช้อะไรดี ลองมาดูตารางเปรียบเทียบกัน:

คุณสมบัติ RAG (Retrieval Augmented Generation) Fine-tuning
การอัปเดตข้อมูล ง่ายและรวดเร็ว สามารถอัปเดต Index ได้ตลอดเวลา ซับซ้อนและใช้เวลานาน ต้องเทรนโมเดลใหม่
ความสามารถในการปรับตัว ปรับตัวได้ดีกับข้อมูลใหม่ๆ ปรับตัวได้ดีกับรูปแบบข้อมูลที่เฉพาะเจาะจง
ทรัพยากรที่ใช้ ใช้ทรัพยากรน้อยกว่า ใช้ทรัพยากรมากกว่า (GPU, เวลา)
ความซับซ้อน ซับซ้อนน้อยกว่า ซับซ้อนมากกว่า
เหมาะสมกับ ข้อมูลมีการเปลี่ยนแปลงบ่อย, ต้องการความถูกต้องแม่นยำสูง, ข้อมูลเฉพาะทาง ต้องการปรับแต่งพฤติกรรมของโมเดล, ต้องการให้โมเดลเข้าใจรูปแบบข้อมูลที่ซับซ้อน

สรุปง่ายๆ คือ ถ้าข้อมูลมีการเปลี่ยนแปลงบ่อย หรือต้องการความถูกต้องแม่นยำสูง RAG จะเป็นตัวเลือกที่ดีกว่า แต่ถ้าต้องการปรับแต่งพฤติกรรมของโมเดล หรือต้องการให้โมเดลเข้าใจรูปแบบข้อมูลที่ซับซ้อน Fine-tuning อาจจะเหมาะสมกว่า

สนใจเรื่อง AI และเทคโนโลยีเพิ่มเติม? เข้าไปอ่านบทความอื่นๆ ได้ที่ SiamCafe Blog

🎬 วิดีโอแนะนำ

ดูวิดีโอเพิ่มเติมเกี่ยวกับRAG คืออะไร Retrieval Augmente:

FAQ เกี่ยวกับ RAG

มีคำถามอะไรเกี่ยวกับ RAG อีกบ้าง? ลองดูคำถามที่พบบ่อยเหล่านี้:

RAG เหมาะกับ Use Case แบบไหน?

RAG เหมาะกับ Use Case ที่ต้องการความถูกต้องแม่นยำของข้อมูลสูง และข้อมูลมีการเปลี่ยนแปลงบ่อย เช่น:

RAG มีข้อเสียอะไรบ้าง?

ถึงแม้ว่า RAG จะมีข้อดีหลายอย่าง แต่ก็มีข้อเสียอยู่บ้าง เช่น:

RAG สามารถใช้กับ LLM ตัวไหนได้บ้าง?

RAG สามารถใช้ได้กับ LLM หลายตัว เช่น:

เทคโนโลยี AI พัฒนาไปเร็วมาก ตามข่าวสารวงการไอทีได้ที่ SiamCafe Blog

Best Practices

เลือก Vector Database ให้เหมาะกับงาน

สมัยผมทำร้านเน็ตฯ ก็เหมือนกัน เลือก OS, เลือกเกม, เลือกโปรแกรมคิดเงิน ต้องดูให้ดีว่ามันเข้ากับร้านเราไหม RAG ก็เหมือนกัน เลือก Vector DB ต้องดู data size, query speed, cost และ feature ที่ support ด้วยนะ

บางทีใช้ Pinecone ก็ดี แต่ถ้า data ไม่ใหญ่ Faiss ก็เหลือๆ แล้ว ประหยัดเงินไปได้เยอะเลย

Preprocessing is King

Text ที่เอามายัดใส่ Vector DB สำคัญมาก ต้อง clean & transform ให้ดีก่อน ไม่งั้น query ออกมาก็เละเทะ เคยเจอไหม database ขยะ เข้าไปก็เจอแต่ขยะออกมา นั่นแหละ preprocessing ไม่ดี

ลองใช้พวก NLTK หรือ spaCy ช่วยดูนะ แต่สุดท้ายต้องดู data เราเองด้วยว่าต้องการอะไร

Fine-tune Embedding Model

Model ที่ OpenAI ให้มาก็ดีระดับนึง แต่ถ้าอยากได้ performance สุดๆ ต้อง fine-tune กับ data ของเราเอง สมัยผม mod เกม counter strike ก็ต้องปรับ config ให้เข้ากับสเปคเครื่องลูกค้าแต่ละคน RAG ก็เหมือนกัน

ลองใช้ library พวก Sentence Transformers ดูครับ

Evaluation, Evaluation, Evaluation

ทำ RAG เสร็จแล้ว อย่าลืมวัดผลด้วยนะครับ วัดว่ามันตอบคำถามได้ถูกต้องไหม เร็วแค่ไหน กิน resource เยอะไหม ถ้าไม่วัดก็เหมือนซื้อเครื่องคิดเงินมาราคาแพง แต่คิดเงินผิดๆ ถูกๆ

มี metric หลายตัวให้วัดนะ Recall, Precision, F1-score ลองศึกษาดู

FAQ คำถามที่พบบ่อย

RAG เหมาะกับ Use Case แบบไหน?

RAG เหมาะกับงานที่ต้องการความรู้เฉพาะทาง หรือข้อมูลที่มีการเปลี่ยนแปลงบ่อยๆ เช่น Chatbot ตอบคำถามเกี่ยวกับ product catalog, Search engine หาข้อมูลในเอกสารภายในองค์กร

ถ้าเป็นความรู้ทั่วไป LLM เพียวๆ ก็อาจจะพอ

RAG ต่างกับ Fine-tuning อย่างไร?

Fine-tuning คือการ train model ใหม่ทั้งหมด เหมาะกับกรณีที่ต้องการเปลี่ยน behavior ของ model ไปเลย แต่ RAG คือการเอาข้อมูลภายนอกมาเสริม เหมาะกับกรณีที่ต้องการให้ model รู้ข้อมูลใหม่ๆ โดยไม่ต้อง train ใหม่

RAG เหมือนการเอาโพยเข้าห้องสอบ Fine-tuning เหมือนเรียนใหม่ทั้งเทอม

RAG จะแก้ปัญหา Hallucination ได้จริงหรือ?

RAG ช่วยลด Hallucination ได้ในระดับหนึ่ง เพราะมันดึงข้อมูลจากแหล่งที่เชื่อถือได้มาให้ LLM ใช้ แต่ก็ไม่ได้แก้ได้ 100% LLM ก็ยังมีโอกาส "มั่ว" ได้อยู่ดี

เหมือนเด็กนักเรียนที่อ่านหนังสือมาแล้วก็ยังตอบผิดได้แหละครับ

Vector Database เลือกอะไรดี?

ขึ้นอยู่กับ requirement ของแต่ละงานครับ Pinecone, Weaviate, Milvus, Faiss มีข้อดีข้อเสียต่างกันไป ลองศึกษาดูว่าอันไหนเหมาะกับ data size, query speed, cost และ feature ที่ต้องการ

สมัยผมเลือก server ร้านเน็ตฯ ก็ปวดหัวแบบนี้แหละ

RAG ทำยากไหม?

ถ้าใช้ library สำเร็จรูปก็ไม่ยากมากครับ แต่ถ้าอยากได้ performance สุดๆ ต้องลงลึกไปถึง algorithm ข้างใน ต้องมีความรู้เรื่อง Machine Learning, Vector Database พอสมควร

เหมือนทำเว็บสมัยก่อน ถ้าใช้ Dreamweaver ก็ง่าย แต่ถ้าอยากเทพต้องเขียน HTML เองเป็น

อย่าลืมแวะไปอ่านบทความอื่นๆ ที่ SiamCafe Blog นะ

สรุป

RAG เป็นเทคนิคที่น่าสนใจในการเพิ่มความสามารถของ LLM ให้ตอบคำถามได้ฉลาดขึ้น โดยการดึงข้อมูลจากภายนอกมาเสริม แต่ก็ต้องเข้าใจข้อจำกัดของมันด้วย และต้องเลือกเครื่องมือให้เหมาะสมกับงาน

เหมือนทำร้านเน็ตฯ สมัยก่อน ต้องเลือกสเปคเครื่องให้เข้ากับเกมที่ลูกค้าเล่น ต้อง balance ระหว่าง performance กับ cost

ถ้าสนใจเรื่องลงทุน forex ลองดู iCafeForex นะครับ