Tools
สร้างระบบค้นหาอัจฉริยะสำหรับ Hybrid RAG ด้วย AWS Bedrock และ OpenSearch
![]()
โลกของ AI กำลังก้าวหน้าไปอย่างรวดเร็ว จากเดิมที่เราคุยกับแชทบอทแบบง่ายๆ ตอนนี้เรามีผู้ช่วย AI แบบ Agentic ที่ฉลาดล้ำกว่านั้นมาก พวกมันไม่เพียงแค่ตอบคำถาม แต่ยังสามารถสนทนาแบบหลายขั้นตอน แก้ไขงานที่ซับซ้อน และดึงข้อมูลแบบเรียลไทม์จากระบบเบื้องหลังได้ด้วยตัวเอง ทำให้เราได้ข้อมูลที่แม่นยำและเป็นปัจจุบัน นี่คือหัวใจสำคัญของเทคนิคที่เรียกว่า Retrieval-Augmented Generation (RAG) ซึ่งเป็นการผสานพลังของ Large Language Model (LLM) เข้ากับการดึงข้อมูลจาก API หรือฐานข้อมูลแบบไดนามิก
ล่าสุดมีบทความที่น่าสนใจจาก AWS มาแนะนำวิธีสร้างผู้ช่วย AI แบบ Agentic ที่ใช้การค้นหาได้ทั้งแบบ Semantic Search (ค้นหาตามความหมาย) และ Text-based Search (ค้นหาตามข้อความ) ด้วยชุดเครื่องมือสุดเจ๋งของ AWS ถ้าใครอยากรู้ว่าทำยังไง อ่านต่อได้เลยที่ Building Intelligent Search with Amazon Bedrock and OpenSearch
โซลูชัน Hybrid RAG อัจฉริยะจาก AWS
โซลูชันที่นำเสนอในบทความนี้ใช้บริการหลักๆ ของ AWS ได้แก่ Amazon Bedrock ซึ่งเป็นบริการสำหรับสร้างและปรับใช้ Generative AI, Amazon Bedrock AgentCore สำหรับสร้าง Agent AI โดยเฉพาะ, Strands Agents และที่สำคัญคือ Amazon OpenSearch สำหรับความสามารถในการค้นหาที่หลากหลาย การรวมกันของเครื่องมือเหล่านี้ช่วยให้เราสร้างระบบ RAG ที่ดึงข้อมูลแบบเรียลไทม์ผ่านการเรียก API และการค้นหาในฐานข้อมูล มาประกอบกับการทำงานของ LLM ได้อย่างลงตัว
RAG และ Semantic Search ทำงานยังไง
ในระบบ RAG ที่ใช้กับ AI Agent นั้น การดึงข้อมูลมักจะเกี่ยวข้องกับการสอบถามแหล่งข้อมูล backend หรือการสื่อสารกับ API แบบเรียลไทม์ จากนั้นข้อมูลที่ได้ก็จะถูกนำมาใช้ประกอบการสร้างคำตอบโดย LLM
หัวใจสำคัญของการดึงข้อมูลสำหรับ AI Agent คือ Semantic Search หรือการค้นหาเชิงความหมาย แทนที่จะค้นหาแค่คำที่ตรงกันเป๊ะๆ Semantic Search จะดึงข้อมูลตาม "ความหมาย" ของวลีค้นหา ซึ่งทำได้โดยใช้ "vector embeddings" ที่คำนวณไว้ล่วงหน้าและเก็บไว้ใน vector database สิ่งนี้ช่วยให้เกิดการค้นหาความคล้ายคลึงของเวกเตอร์ หรือ Vector Similarity Search (VSS) ได้อย่างมีประสิทธิภาพ
VSS จะระบุข้อมูลที่ตรงกันมากที่สุดระหว่างการแสดงข้อมูลที่เป็นตัวเลข โดยใช้การวัดระยะทางทางคณิตศาสตร์ เช่น cosine similarity หรือ Euclidean distance โดยมักจะใช้โมเดล Bi-encoder ในกระบวนการนี้ ทำให้ระบบสามารถค้นหาผลลัพธ์ที่เกี่ยวข้องตามความคล้ายคลึงเชิงแนวคิดได้ แม้ว่าคำหลักจะไม่ได้ตรงกันทั้งหมด
ทำไมถึงต้องมี Hybrid RAG?
แม้ว่า Semantic Search จะเก่งกาจในการทำความเข้าใจแนวคิดกว้างๆ เช่น 'โรงแรมหรู' หรือ 'วิวทะเล' แต่ก็มีข้อจำกัดอยู่บ้าง ตัวอย่างเช่น หากผู้ใช้งานต้องการหา "โรงแรมหรูที่มีวิวทะเลใน Miami, Florida" Semantic Search อาจจะเจอปัญหาในการจับคู่ตำแหน่งที่ตั้งที่แม่นยำ
นั่นหมายความว่า ระบบอาจจะแสดงโรงแรมหรูที่มีวิวทะเลที่เกี่ยวข้องสูง แต่กลับอยู่ในแคลิฟอร์เนียหรือแคริบเบียน แทนที่จะเป็นไมอามีตามที่ระบุไว้ ปัญหานี้เกิดขึ้นเพราะ Semantic Search ให้ความสำคัญกับความคล้ายคลึงทางแนวคิดมากกว่าการจับคู่คุณสมบัติที่แม่นยำ
นี่คือจุดที่ Hybrid RAG เข้ามามีบทบาทสำคัญ! Hybrid RAG รวมเอาความเข้าใจเชิงความหมายของการอธิบายด้วยภาษาธรรมชาติ เข้ากับความแม่นยำของการค้นหาแบบ Text-based ที่ใช้กับคุณสมบัติที่มีโครงสร้าง เช่น สถานที่ วันที่ หรือข้อมูลเฉพาะอื่นๆ วิธีนี้ทำให้แน่ใจว่าผลลัพธ์ที่ได้นั้นไม่เพียงแต่เกี่ยวข้องกับแนวคิดที่ต้องการ แต่ยังตรงกับข้อกำหนดเฉพาะที่ผู้ใช้งานระบุไว้อย่างแม่นยำด้วย
สรุปคือ โซลูชันนี้ช่วยให้ AI Agent ของเราฉลาดขึ้นมาก สามารถเข้าใจคำถามที่ซับซ้อนและให้คำตอบที่ทั้งฉลาดและแม่นยำ ทำให้ผู้ใช้งานได้รับประสบการณ์ที่ดีขึ้นในการใช้งาน AI
อ่านต่อ: อยากลงลึกไปดูโค้ดและวิธีการสร้างจริง ๆ ลองเข้าไปดูรายละเอียดเพิ่มเติมได้ที่ Building Intelligent Search with Amazon Bedrock and OpenSearch เลย