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 ดังกล่าวอาจได้รับการฝึกก่อนการสร้าง 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 ส่วน ดังนี้
- เพิ่มเนื้อหาของบทความยอดนิยมเป็นบริบทเมื่อแสดงข้อความแจ้ง LLM
- ค้นหาเนื้อหาสำหรับบทความที่เกี่ยวข้องกับ "ฟีเจอร์ที่รวมอยู่ใน Interop 2024 มีรายการใดบ้าง"
เราต้องการให้ผลการค้นหาของ Gemini แสดงเนื้อหาตามบทความต่อไปนี้
- บทความที่ 1: web.dev/blog/submit-your-proposals-for-interop-2024
- บทความที่ 2: web.dev/blog/interop-2023-wrapup
- มาตรา 3: web.dev/blog/interop-2024
ข้อมูลที่ป้อนควรมีลักษณะดังนี้
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 อาจ "หลอน" ซึ่งทำให้เครื่องมือเหล่านี้ไม่น่าเชื่อถือในบางครั้ง หรืออาจส่งผลเสียต่อธุรกิจได้ เทคนิคเหล่านี้ช่วยให้ทั้งผู้ใช้และนักพัฒนาแอปปรับปรุงความน่าเชื่อถือได้ และอาจสร้างความไว้วางใจต่อเอาต์พุตจากแอปพลิเคชันเหล่านี้