Google Skill & LangChain
Google Skill (RAG) และ LangChain Lab
เอกสารฉบับนี้อธิบายแนวคิดเรื่อง RAG, สถาปัตยกรรม Google Cloud และ LangChain Lab โดยเน้นกรณีศึกษาการตอบคำถามนโยบายกรมธรรม์ (Insurance Policy Q&A) ตามที่อาจารย์ออกสอบ
แนวคิด RAG (Retrieval-Augmented Generation)
- ความหมาย: เทคนิคที่ผสานระหว่างระบบค้นหาข้อมูล (Retrieval) และโมเดลภาษาขนาดใหญ่ (Generative AI / LLM)
- ทำไมต้องใช้ RAG?
- แก้ปัญหา Hallucination (การกุข้อมูลของ AI): LLM มักแต่งคำตอบขึ้นมาเองเมื่อไม่รู้ข้อมูลเฉพาะทาง RAG จะดึงเอกสารจริงมาให้ LLM อ่านก่อนตอบ
- ข้อมูลปัจจุบันและเฉพาะเจาะจง: ช่วยให้ AI สามารถตอบคำถามจากเอกสารภายในองค์กร เช่น กรมธรรม์บริษัท, คู่มือพนักงาน ซึ่งไม่มีอยู่บนอินเทอร์เน็ตทั่วไป
-
- ขั้นตอนการทำงาน (Workflow):
- Ingestion: แปลงเอกสาร (PDF กรมธรรม์) เป็นข้อความ -> ทำการ Chunking (ตัดแบ่งเป็นท่อนย่อย) -> แปลงเป็น Vector Embeddings
- Storage: เก็บ Vector ลงใน Vector Database
- Retrieval: เมื่อผู้ใช้ถามคำถาม ระบบจะแปลงคำถามเป็น Vector แล้วค้นหาข้อความในเอกสารที่ใกล้เคียงที่สุด (Semantic Search)
- Generation: ส่งคำถามร่วมกับข้อมูลที่ดึงมาได้ (Context) ให้ LLM สรุปคำตอบออกมาเป็นภาษาพูดที่เข้าใจง่าย
-
อินพุต: เอกสาร PDF กรมธรรม์ / คู่มือองค์กร
1
Ingestion
อ่านเอกสาร → ตัด chunk → แปลงเป็นเวกเตอร์
2
Storage
เก็บเวกเตอร์ลง Vector Database
3
Retrieval
ค้นข้อความที่ความหมายใกล้คำถามที่สุด
4
Generation
LLM เรียบเรียงคำตอบจาก context ที่ดึงมา
เอาต์พุต: คำตอบที่อ้างอิงเอกสารจริง — คำถามของผู้ใช้เข้าที่ขั้น Retrieval ซึ่งจับคู่ด้วยความหมาย แทนการเทียบคำตรงตัว
LangChain Framework & Insurance Policy Lab
ในแลปที่เกี่ยวกับนโยบายกรมธรรม์ (Insurance Policy Lab) อาจารย์มักออกข้อสอบเกี่ยวกับ ความหมาย, บทบาทของแต่ละ Component ใน LangChain และวิธีที่ระบบดึงข้อมูลเงื่อนไขความคุ้มครองมาตอบ
Component หลักใน LangChain ที่ต้องรู้:
- Document Loaders: เครื่องมือสำหรับโหลดไฟล์เอกสารเข้าสู่ระบบ (เช่น
PyPDFLoaderสำหรับอ่านไฟล์ PDF กรมธรรม์ประกันภัย) - Text Splitters (Chunking): เนื่องจากเอกสารกรมธรรม์มีความยาวมากและเกิน Context Window ของ LLM จึงต้องตัดแบ่งข้อความออกเป็นส่วนย่อยๆ (Chunks) เพื่อให้ค้นหาความหมายเฉพาะจุดได้แม่นยำ
- Embeddings: โมเดลที่แปลงข้อความให้อยู่ในรูปของชุดตัวเลข (Vector Array) เพื่อให้คอมพิวเตอร์เปรียบเทียบความคล้ายคลึงทางความหมายได้
- Vector Stores: ฐานข้อมูลที่จัดเก็บ Vector Embeddings (เช่น Chroma, FAISS, Pinecone) เพื่อทำหน้าที่ค้นหาข้อมูล (Retriever)
- Retrieval Chain / QA Chain: ตัวประสานงานระหว่าง Retriever และ LLM เพื่อนำข้อมูลดิบที่ค้นพบมาสังเคราะห์เป็นคำตอบที่ถูกต้องตามเงื่อนไขกรมธรรม์
ตัวอย่างข้อสอบแลปประกันภัย (Insurance Policy RAG):
- โจทย์: ลูกค้าถามว่า "ประกันสุขภาพเล่มนี้คุ้มครองอุบัติเหตุทางรถยนต์หรือไม่ และมีเงื่อนไขยกเว้นอย่างไร?"
- การทำงานของระบบ:
- ระบบ Retriever จะค้นหาหมวดหมู่ "ความคุ้มครองอุบัติเหตุ" และ "ข้อยกเว้น" จากไฟล์ PDF กรมธรรม์
- ระบบส่งข้อความมาตราที่เกี่ยวข้องให้ LLM
- LLM ทำหน้าที่สังเคราะห์คำตอบโดยยึดข้อมูลจากเอกสารนั้นเท่านั้น ห้ามคิดเอง เพื่อป้องกันการให้ข้อมูลผิดพลาดทางกฎหมายหรือสัญญาประกันภัย
-
สรุปจุดสำคัญที่ต้องจำสำหรับสอบ
- ความหมายของ RAG และประโยชน์ในการลดความผิดพลาดของ AI
- ความสำคัญของการทำ Chunking และ Vectorization
- บทบาทของ LangChain ในฐานะตัวเชื่อมต่อ (Orchestrator) ระหว่างแหล่งข้อมูลภายนอกและ LLM