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

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

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

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

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

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

What are the features included in Interop 24?

ขออภัย ผลลัพธ์ที่ได้อาจไม่ถูกต้องเนื่องจากสาเหตุ 2 ประการต่อไปนี้

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

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

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

การปรับแต่งพรอมต์คือการรวมเทคนิคต่างๆ เพื่อดึงเอาเอาต์พุตที่ดีที่สุดจาก 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 โดยใช้บทความใดก็ได้เป็นบริบทเพิ่มเติม แม้ว่าการดำเนินการนี้อาจเป็นไปได้สำหรับเว็บไซต์ขนาดเล็ก แต่เนื่องจาก Context-Window ที่มีโทเค็น 1 ล้านโทเค็นของ Gemini 1.5 จะทำให้พรอมต์ขนาดใหญ่กว่าทำงานได้ช้าลงและแพงกว่า

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

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