อัปเกรดการค้นหาเว็บไซต์: คำตอบตามบริบทด้วย Generative AI

Generative AI หมายถึงการใช้ปัญญาประดิษฐ์ (AI) เพื่อสร้างเนื้อหาใหม่ๆ เช่น ข้อความ รูปภาพ เพลง เสียง และวิดีโอ Generative AI ใช้โมเดลแมชชีนเลิร์นนิง (ML) เพื่อเรียนรู้รูปแบบและความสัมพันธ์ในชุดข้อมูลของเนื้อหาที่มนุษย์สร้างขึ้น

เทคโนโลยีนี้แสดงความสามารถที่น่าทึ่งผ่านแอปพลิเคชันอย่าง Gemini คุณอาจสงสัยว่าจะนำเครื่องมือ Generative AI มาใช้กับผลิตภัณฑ์บนเว็บได้อย่างไร

กรณีการใช้งานทั่วไปอย่างหนึ่งคือ ทำให้ผู้ใช้มีอินเทอร์เฟซที่ดีขึ้นในการถามคำถามเกี่ยวกับเนื้อหาของเว็บไซต์ คุณสามารถปรับปรุงผลการค้นหาของผู้ใช้ได้อย่างมากด้วยความช่วยเหลือจากแมชชีนเลิร์นนิง

คุณอาจสร้างอินเทอร์เฟซที่ผู้ใช้เขียนคำถามซึ่งจะส่งไปยังโมเดลภาษาขนาดใหญ่ (LLM) เช่น Gemini แล้วแสดงคำตอบแก่ผู้ใช้

สมมติว่าฟีเจอร์ดังกล่าวอยู่ในเว็บไซต์นี้ ผู้ใช้ต้องการทราบว่า API ใดรวมอยู่ในการทำงานร่วมกันปี 2024 จึงป้อนคำค้นหาต่อไปนี้

What are the features included in Interop 24?

อย่างไรก็ตาม เอาต์พุตอาจไม่ถูกต้องด้วยสาเหตุ 2 ประการดังนี้

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

แม้ว่า LLM จะค้นหาข้อมูลปัจจุบันเพิ่มเติมได้ แต่ชุดข้อมูลการฝึกของ LLM จะเป็นข้อมูลที่ล้าสมัยอยู่แล้ว การดูแลผลการค้นหาใหม่ๆ อาจกินเวลามาก และมีค่าใช้จ่ายสูง

ใช้ระบบวิศวกรรมพรอมต์

Prompt Engineering เป็นชุดเทคนิคต่างๆ เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดจาก LLM

เทคนิคหนึ่งคือการระบุบริบทเพิ่มเติมในพรอมต์ ซึ่งทําให้ LLM มีแนวโน้มที่จะแสดงผลเนื้อหาที่เกี่ยวข้องกับบริบทมากขึ้น

ต่อจากตัวอย่างการทำงานร่วมกัน ขั้นตอนแรกของเราคือการแสดงเนื้อหาบทความทั้งหมดเป็นบริบท จากนั้นเพิ่มคำถามเป็นอินพุตสำหรับ LLM เพื่อตอบ เช่น

Context:
Following on from the success of Interop 2022 and Interop 2023, we
are excited about the opportunity to collaborate once again with
all key browser vendors and other relevant stakeholders...
(trimmed to fit in this article)

Input:
What are the features included in Interop 2024?

Gemini จะแสดงเอาต์พุตในลักษณะต่อไปนี้

The features included in Interop 24 are Accessibility, CSS Nesting, Custom
Properties, Declarative Shadow DOM, font-size-adjust, HTTPS URLs for
WebSocket, IndexedDB, Layout, Pointer and Mouse Events, Popover, Relative
Color Syntax, requestVideoFrameCallback, Scrollbar Styling, @starting-style
and, transition-behavior, Text Directionality, text-wrap: balance,URL

คำตอบนี้น่าจะดีกว่าคำตอบที่ไม่มีบริบท เนื่องจากคำตอบนั้นอิงตามบริบทที่ให้ไว้

เพิ่มขนาดด้วย RAG

ตัวอย่างเช่น แทนที่จะตอบคำถามเกี่ยวกับบทความเดียว เราต้องการให้ LLM ตอบคำถามเพิ่มเติมเกี่ยวกับ web.dev โดยใช้บทความใดก็ได้เป็นบริบทเพิ่มเติม แม้ว่าเว็บไซต์ขนาดเล็กจะใช้วิธีนี้ได้ แต่เนื่องจากกรอบเวลาบริบทของ Gemini 1.5 มีโทเค็น 1 ล้านโทเค็น การเรียกใช้ข้อความแจ้งที่มีขนาดใหญ่กว่าจึงช้ากว่าและแพงกว่า

ระบบจะวัดและเรียกเก็บเงินความยาวของอินพุตและเอาต์พุต LLM ในโทเค็น ซึ่งเป็นวิธีแสดงลำดับอักขระทั่วไปที่พบในการป้อนข้อความ โดยทั่วไปแล้ว จำนวนของโทเค็นจะมากกว่าจำนวนคำ เช่น อินพุตในตัวอย่างแรกมี 775 คำ แสดงด้วยโทเค็น 1, 097 ตัว LLM ที่ต่างกันอาจคำนวณโทเค็นแตกต่างกัน และส่วนใหญ่จะมี API หรือปลายทางสำหรับคำนวณจำนวนโทเค็นสำหรับการป้อนข้อความ

วิธีแก้ไขวิธีหนึ่งคือการจัดทำบทความที่เกี่ยวข้องกับพรอมต์ของ LLM งานนี้ควรแบ่งเป็น 2 ส่วน

  1. เพิ่มเนื้อหาของบทความยอดนิยมเป็นบริบทเมื่อแจ้ง LLM
  2. ค้นหาเนื้อหาสำหรับบทความที่เกี่ยวข้องกับ "ฟีเจอร์ใดบ้างที่รวมอยู่ใน Interop 2024"

เราต้องการให้ผลการค้นหา Gemini แสดงเนื้อหาโดยอิงจากบทความต่อไปนี้

ข้อมูลที่ป้อนควรมีลักษณะดังนี้

Context:
Article 1:
Over the past two years... (trimmed)

Article 2:
At the end of last year Interop 2023 wrapped up. This effort... (trimmed)

Article 3:
Following on from the success of Interop 2022... (trimmed)

Input:
What are the features included in Interop 2024?

บริบทนี้สร้างผลลัพธ์ที่คาดหวังได้

* Accessibility * CSS Nesting * Custom Properties
* Declarative Shadow DOM * font-size-adjust
* HTTPS URLs for WebSocket * IndexedDB * Layout
* Pointer and Mouse Events * Popover * Relative Color Syntax
* requestVideoFrameCallback * Scrollbar Styling
* @starting-style and transition-behavior * Text Directionality
* text-wrap: balance * URL

สำหรับผู้ที่คุ้นเคยกับเทคนิค AI วิธีการนี้ใช้ RAG ซึ่งเป็นแนวทางปฏิบัติทั่วไปในการเพิ่มโอกาสคำตอบที่แท้จริงจากเครื่องมือ Generative AI

แม้ว่าเทคนิค RAG จะใช้ร่วมกับการค้นหาข้อความแบบเต็มปกติได้ แต่ก็ยังมีข้อบกพร่องของวิธีการนี้

  • การค้นหาข้อความแบบเต็มช่วยให้ AI ค้นหาคีย์เวิร์ดที่ตรงกันทั้งหมด อย่างไรก็ตาม LLM ไม่สามารถ ระบุความหมายที่ต้องการในการค้นหาของผู้ใช้ได้ ซึ่งอาจทำให้เอาต์พุตไม่สมบูรณ์หรือไม่ถูกต้อง
  • อาจมีปัญหาเมื่อคำมีหลายความหมายหรือคำค้นหาใช้คำพ้องความหมาย ตัวอย่างเช่น "ธนาคาร" (สถาบันการเงินเทียบกับแม่น้ำ) อาจให้ผลลัพธ์ที่ไม่เกี่ยวข้อง
  • การค้นหาข้อความแบบเต็มอาจแสดงผลลัพธ์ที่มีคีย์เวิร์ด แต่ไม่สอดคล้องกับวัตถุประสงค์ของผู้ใช้

การค้นหาเชิงความหมายเป็นเทคนิคในการปรับปรุงความแม่นยําของการค้นหาโดยเน้นที่แง่มุมสําคัญต่อไปนี้

  • ความตั้งใจของผู้ค้นหา: พยายามทำความเข้าใจสาเหตุที่ผู้ใช้ค้นหาบางสิ่ง อะไรคือสิ่งที่พวกเขาพยายามค้นหาหรือบรรลุผล
  • ความหมายตามบริบท: จะตีความคำและวลีที่เกี่ยวข้องกับข้อความที่ปรากฏรอบข้อความ รวมถึงปัจจัยอื่นๆ เช่น ตำแหน่งหรือประวัติการค้นหาของผู้ใช้
  • ความสัมพันธ์ระหว่างแนวคิด: การค้นหาเชิงความหมายใช้กราฟความรู้ (เครือข่ายขนาดใหญ่ของเอนทิตีที่เกี่ยวข้อง) และการประมวลผลภาษาธรรมชาติเพื่อทำความเข้าใจความเชื่อมโยงระหว่างคำและแนวคิด

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

ปัจจุบัน คุณสามารถใช้เครื่องมือค้นหา 2 รายการที่ใช้การค้นหาเชิงความหมาย ซึ่งได้แก่ Vertex AI Search และ Algolia AI Search

วาดคำตอบจากเนื้อหาที่เผยแพร่

คุณได้เรียนรู้วิธีใช้วิศวกรรมข้อความแจ้งเพื่อเปิดใช้ LLM เพื่อมอบคำตอบเกี่ยวกับเนื้อหาที่ไม่เคยเห็นมาก่อนด้วยการเพิ่มบริบทในพรอมต์ และคุณได้เรียนรู้วิธีปรับขนาดแนวทางจากแต่ละบทความให้ครอบคลุมคลังเนื้อหาโดยใช้เทคนิค Retrieval-Augmented Generation (RAG) แล้ว คุณได้เรียนรู้ว่าการค้นหาเชิงความหมายช่วยปรับปรุงผลการค้นหาสำหรับคำค้นหาของผู้ใช้ให้ดียิ่งขึ้นได้อย่างไร ซึ่งสามารถนำ RAG ไปใช้กับผลิตภัณฑ์ของคุณได้ดีขึ้น

เครื่องมือนี้เป็นปัญหาที่ทราบกันว่าเครื่องมือ Generative AI อาจ "ไม่สมเหตุสมผล" ซึ่งทำให้ธุรกิจมีประสิทธิภาพสูงสุด บางครั้งก็ไม่น่าเชื่อถือ หรือแย่ที่สุด ด้วยเทคนิคเหล่านี้ ทั้งผู้ใช้และนักพัฒนาซอฟต์แวร์สามารถปรับปรุงความเสถียรและอาจสร้างความน่าเชื่อถือในผลลัพธ์ที่ได้จากแอปพลิเคชันเหล่านี้