กำไร:
- ทำความเข้าใจตรรกะของการสร้างฐานความรู้ (RAG) และเหตุใดจึงลดอาการประสาทหลอนได้
- ความสามารถในการให้แบบจำลองตอบสนองด้วยการอ้างอิง โดยยึดตามเอกสารต้นฉบับที่ให้ไว้เท่านั้น
- ความสามารถในการจัดการคำถามที่ไม่ได้อยู่ในแหล่งที่มาด้วยการถ่ายโอนอย่างปลอดภัย โดยไม่ต้องตั้งคำถาม
โมเดลภาษา "รู้" มาก แต่ไม่ทราบนโยบายการคืนสินค้าของบริษัทของคุณในวันนี้ รายการราคาปัจจุบันของคุณ หรือข้อตกลงการจัดส่งของคุณที่เปลี่ยนแปลงเมื่อวานนี้ ที่แย่กว่านั้นคือเมื่อเขาไม่รู้ เขามักจะแต่งมันขึ้นมาและเขียนด้วยน้ำเสียงที่มั่นใจอย่างยิ่ง นี่เป็นข้อบกพร่องร้ายแรงในการบริการลูกค้า: โมเดลแจ้งว่า "คืนเงินภายใน 30 วัน" ในขณะที่กรมธรรม์ของคุณอาจใช้เวลา 14 วัน แนวทางที่ใช้ปิดช่องว่างนี้เรียกว่า RAG: การเรียกค้น-การสร้างที่เพิ่มขึ้น ซึ่งก็คือ "การผลิตแบบดึงข้อมูล-เพิ่ม"
แนวคิดนั้นเรียบง่าย: แบบจำลองตอบคำถามไม่ใช่จากหน่วยความจำ แต่จากเอกสารต้นฉบับที่ถูกต้องที่วางอยู่ตรงหน้าในขณะนั้น ขั้นแรก เอกสารที่ถูกต้องที่เกี่ยวข้องกับคำถามคือ "การดึงข้อมูล" จากนั้นแบบจำลองจะ "สร้าง" คำตอบตามส่วนนั้นเท่านั้น ในหน่วยนี้ คุณจะเข้าใจตรรกะของ RAG และเรียนรู้วิธีการควบคุมแบบจำลองเพื่อให้ยึดติดกับแหล่งที่มาที่ได้รับการตรวจสอบแล้วที่คุณให้ไว้เท่านั้น
หมายเหตุ: หน่วยนี้จะสอนตรรกะการทำงานและด้านพร้อมท์ของ RAG ระบบเรียกค้นเอกสารอัตโนมัติระดับองค์กร (ฐานข้อมูลเวกเตอร์ ฯลฯ) จำเป็นต้องมีการติดตั้งทางเทคนิค วินัยที่นี่คือพื้นฐานสำหรับระบบนั้นในการตอบสนองอย่างถูกต้อง
ทำไม RAG ถึงลดอาการประสาทหลอน?
อาการประสาทหลอนเกิดขึ้นเมื่อแบบจำลองสร้างข้อมูลที่ไม่จริงราวกับว่ามันเป็นเรื่องจริง แบบจำลองนี้ได้รับการตั้งโปรแกรมให้สร้างการตอบสนองที่ดูเหมือน "เป็นไปได้" เมื่อเห็นช่องว่าง ไม่รู้ว่าจริงหรือไม่.. RAG เติมเต็มช่องว่างนี้: คุณให้ข้อความที่เกี่ยวข้องจริงแก่โมเดลพร้อมกับคำถาม และพูดว่า "จากที่นี่เท่านั้น คำตอบ" วิธีนี้ทำให้โมเดลไม่จำเป็นต้อง "พอดี"
มีสามองค์ประกอบ:
- ฐานความรู้: ข้อความที่เชื่อถือได้ เช่น คำถามที่พบบ่อย เอกสารนโยบาย คู่มือผลิตภัณฑ์ รายการราคา
- การดึงข้อมูล: การค้นหาชิ้นส่วนของเอกสารที่มีคำตอบของคำถามและมอบให้กับแบบจำลอง
- รุ่นจำกัด: โมเดลตอบกลับด้วยใบเสนอราคา โดยพิจารณาจากชิ้นส่วนที่ให้มาเท่านั้น
ทีละขั้นตอน: การตอบสนองอย่างซื่อสัตย์ต่อแหล่งที่มา
- เตรียมแหล่งที่มา. ค้นหาข้อความที่จะใช้ในการตอบกลับ (นโยบาย คำถามที่พบบ่อย) ในรูปแบบที่ชัดเจนและทันสมัย
- ฝังแหล่งที่มาในพรอมต์ ใส่ข้อความในแท็กเช่น <source>
- เขียนกฎความภักดี “ใช้ข้อมูลจากแหล่งที่มาเท่านั้น อย่าหลงจากแหล่งที่มา”
- จำเป็นต้องมีการอ้างอิง ให้เขา/เธอระบุว่าคำตอบนั้นอ้างอิงจากส่วนใด
- ระบุพฤติกรรมที่ไม่ใช่ทรัพยากร ถ้าคำตอบไม่อยู่ที่แหล่งที่มา ก็ให้เขาบอกว่า "ฉันไม่มีข้อมูลนี้" แล้วส่งต่อ
- ตรวจสอบ. ยืนยันคำตอบโดยเปรียบเทียบกับประโยคต้นฉบับที่เป็นคำตอบ
พรอมต์ที่คัดลอกได้
พร้อมท์การตอบกลับตามแหล่งที่มาพื้นฐาน:
บทบาท: คุณเป็นผู้ช่วยฝ่ายสนับสนุนลูกค้า ตอบคำถามตามข้อมูลในบล็อก <source>ด้านล่างเท่านั้น อย่าเพิ่มข้อมูลใดๆ ที่ไม่ได้อยู่ในแหล่งที่มา เดา หรือตอบจากความรู้ทั่วไปของคุณ เพิ่มส่วนที่คุณต้องใช้ต่อท้ายคำตอบในรูปแบบ "[แหล่งที่มา: ...]" หากคำตอบไม่อยู่ในแหล่งที่มา ให้เขียนดังนี้: "ฉันไม่มีข้อมูลที่แน่ชัดเกี่ยวกับเรื่องนี้ ฉันกำลังโอนคุณไปยังเจ้าหน้าที่ที่สามารถให้คำตอบที่ถูกต้องได้"<source>{{policy_or_faq_text }}</source>คำถาม: {{ customer_question }}
ในกรณีที่มีหลายแหล่ง ข้อความแจ้งให้แสดงว่าเอกสารใดเป็นไปตาม:
มีทรัพยากรหลายอย่างตามหมายเลขด้านล่าง เมื่อตอบคำถาม ให้ระบุจำนวนแหล่งที่มาที่คุณใช้ เช่น [แหล่งที่มา 2] หากมีแหล่งข้อมูลมากกว่าหนึ่งแหล่งขัดแย้งกับคุณ ให้พูดอย่างชัดเจนและระบุว่าคุณควรถามว่าแหล่งใดเป็นปัจจุบันมากกว่า<sources>1) {{ source_1 }}2) {{ source_2 }}3) {{ source_3 }}</sources>คำถาม: {{ customer_question }}
แจ้งว่าจัดการคำถามที่ไม่ใช่แหล่งที่มาได้อย่างปลอดภัย:
หากคำตอบของคำถามพบเพียงบางส่วนในแหล่งที่มา ให้ตอบเฉพาะส่วนที่แหล่งที่มาครอบคลุม และพูดว่า "รายละเอียดนี้ไม่ได้อยู่ในแหล่งที่มา" สำหรับส่วนที่เหลือ อย่าเติมส่วนที่ขาดด้วยการเดา
พรอมต์ที่แปลคำตอบเป็นภาษาไคลเอนต์ แต่ยังคงเป็นจริงกับแหล่งที่มา:
แปลนิพจน์อย่างเป็นทางการ/ทางเทคนิคในต้นฉบับเป็นภาษาธรรมดาที่ลูกค้าสามารถเข้าใจได้ แต่อย่าเปลี่ยนความหมายและค่าตัวเลข (วัน จำนวน อัตรา) ตัวอย่างเช่น การปัดเศษ "14 วันตามปฏิทิน" เป็น "ประมาณสองสัปดาห์"; ให้เต็มคุณค่า
พรอมต์ที่อ่อนแอ / พรอมต์ที่แข็งแกร่ง
พรอมต์ที่อ่อนแอ
พรอมต์อันทรงพลัง
"บอกเราเกี่ยวกับนโยบายการคืนสินค้าของเรา"
ฝังแหล่งที่มา + "ตอบกลับที่นี่เท่านั้น" + ขอใบเสนอราคา
ตอบจากความจำรุ่นครับ (อาจจะผิด)
คำตอบจากเอกสารปัจจุบันของคุณ
ถ้ามันไม่ได้อยู่ในแหล่งที่มาเขาก็สร้างมันขึ้นมา
เขาบอกว่า "ฉันไม่มีข้อมูลนี้" และส่งต่อ
สามารถปัดเศษและบิดเบือนตัวเลขได้
รักษาวัน/จำนวน/อัตราให้แน่ชัด
ความแตกต่างก็คือ พรอมต์ที่แข็งแกร่งทำให้โมเดลมีจุดยึด (ข้อความต้นฉบับ) และการห้าม (ออกจากซอร์ส) แบบจำลองไม่ได้พูดจากความทรงจำอีกต่อไป แต่พูดจากความเป็นจริงที่อยู่ตรงหน้าเขา
มินิเคสสามอัน
กรณีที่ 1 — กับดักนโยบายเก่า "ยอมรับการคืนสินค้าภายใน 30 วัน" บอทของร้านค้าแห่งหนึ่งกล่าวขณะทำงานโดยไม่มีเครดิต อย่างไรก็ตามบริษัทได้ลดระยะเวลาลงเหลือ 14 วัน เมื่อมีการเพิ่มข้อความนโยบายที่อัปเดตไปยังแหล่งที่มาในการติดตั้ง RAG บอทจะตอบสนอง "14 วันตามปฏิทิน [แหล่งที่มา: นโยบายการคืนสินค้า บทความ 2]" ข้อพิพาทในการคืนเงินที่เกิดจากสัญญาเท็จได้ถูกรีเซ็ตแล้ว
กรณีที่ 2 — จับความขัดแย้ง ลูกค้าถามเรื่องค่าขนส่ง. รายการราคาทั้งเก่าและใหม่ถูกป้อนเข้าสู่ระบบเป็นแหล่งที่มา ต้องขอบคุณการแจ้งเตือนจากหลายแหล่ง โมเดลจึงกล่าวว่า "แหล่งที่มาสองแห่งให้ราคาที่แตกต่างกัน (49 TL และ 59 TL) ฉันจำเป็นต้องยืนยันราคาปัจจุบัน" และถ่ายทอดปัญหาให้กับมนุษย์ แทนที่จะบอกจำนวนที่ไม่ถูกต้องแก่ลูกค้า เขากลับสื่อสารถึงความไม่แน่นอนอย่างตรงไปตรงมา
กรณีที่ 3 — วินัยในการตอบโต้บางส่วน “คุณส่งสินค้าไปต่างประเทศหรือไม่ และใครเป็นผู้จ่ายภาษีศุลกากร” ในคำถาม แหล่งข่าวบอกเพียงว่าเป็นผู้ส่งสินค้า ไม่มีอะไรเกี่ยวกับใครเป็นผู้จ่ายภาษี นางแบบกล่าวว่า "ใช่ การจัดส่งเสร็จสิ้นในต่างประเทศ [แหล่งที่มา: Cargo FAQ] อย่างไรก็ตาม ในเอกสารนี้ไม่ได้ระบุไว้ว่าใครเป็นผู้จ่ายภาษีศุลกากร ฉันกำลังโอนคุณไปให้เจ้าหน้าที่เพื่อชี้แจงเรื่องนี้" แทนที่จะเป็นคำตอบที่จริงเพียงครึ่งเดียวหรือที่แต่งขึ้นเพียงครึ่งเดียว กลับให้ผลลัพธ์ที่ตรงไปตรงมาและมั่นใจ
เคล็ดลับ: เก็บฐานความรู้ของคุณให้เป็นเวอร์ชันล่าสุดและแหล่งเดียวของความจริง การมีข้อมูลเดียวกัน (เช่น ระยะเวลาส่งคืน) ที่เขียนต่างกันในเอกสารสามชุดแยกกันถือเป็นศัตรูที่ใหญ่ที่สุดของ RAG โมเดลตอบสนองแตกต่างกันไปขึ้นอยู่กับว่าโมเดลจะดูตัวใด อันดับแรก ขจัดข้อมูลซ้ำซ้อนในเอกสารของคุณ จากนั้นจึงทำให้เอกสารเหล่านั้นเป็นอัตโนมัติ
การยืนยัน: อย่าผ่อนคลายเพียงเพราะมีแหล่งที่มาอยู่
RAG ลดอาการประสาทหลอนได้อย่างมาก แต่ไม่ได้รีเซ็ต บางครั้งโมเดลอาจตีความแหล่งที่มาผิด ผสมสองประโยคเข้าด้วยกัน หรือวาด "ข้อสรุป" ที่ไม่ได้อยู่ในแหล่งที่มา นั่นเป็นเหตุผลว่าทำไมข้อกำหนดในการอ้างอิงจึงมีความสำคัญ: เปิดส่วนที่คำตอบอ้างว่าเป็นฐานและตรวจสอบว่าคำตอบนั้นระบุไว้จริงหรือไม่ การควบคุมนี้ไม่สามารถต่อรองได้ โดยเฉพาะอย่างยิ่งในการตอบกลับที่มีตัวเลข (วัน จำนวน อัตรา) และเงื่อนไข (ข้อยกเว้น เงื่อนไข)
ข้อควรระวัง: หากแหล่งที่มานั้นผิดหรือล้าสมัย RAG จะทำซ้ำข้อผิดพลาดนั้นอย่างซื่อสัตย์ การพูดว่า "โมเดลพูดจากแหล่งที่มา" ไม่ได้หมายความว่า "โมเดลพูดถูกต้อง"; คุณต้องรับผิดชอบต่อสกุลเงินและความถูกต้องของแหล่งที่มาของคุณ
การรักษาฐานความรู้ให้พร้อมสำหรับการตอบสนอง
คุณภาพของ RAG ขึ้นอยู่กับวิธีการเขียนข้อความต้นฉบับเป็นหลัก โมเดลให้การตอบสนองที่แม่นยำมากกว่าข้อความที่มีโครงสร้างดี มีหัวเรื่อง หัวข้อเดียว คำแนะนำที่เป็นประโยชน์: เขียนนโยบายของคุณเป็นหัวข้อสั้นๆ โดยมีหัวเรื่อง แทนที่จะเขียนเป็นย่อหน้าที่ยาวและซ้อนกัน ให้แต่ละส่วนตอบคำถามเดียว ("ระยะเวลาคืนสินค้าคือกี่วัน", "สินค้าใดบ้างที่ไม่สามารถคืนได้") การเก็บคำถามที่พบบ่อย (FAQ) ไว้ในรูปแบบคำถามและคำตอบช่วยให้โมเดลค้นหาส่วนที่ถูกต้องได้ง่ายขึ้น ระบุค่าต่างๆ เช่น วันที่ จำนวน และอัตรา อย่างชัดเจนและอยู่ในที่เดียวภายในข้อความ การเขียนตัวเลขเดียวกันในส่วนต่างๆ ต่างกันจะทำให้โมเดลสับสน
นิสัยที่สำคัญอีกประการหนึ่งคือการรักษาฐานความรู้ให้คงอยู่ นโยบาย ราคา และโปรโมชั่นแตกต่างกันไป หากแหล่งที่มาไม่ได้รับการอัปเดต โมเดลจะยังคงทำซ้ำความจริงเก่าอย่างปลอดภัย ในการเปลี่ยนแปลงนโยบายแต่ละครั้ง ให้อัปเดตแหล่งที่มาและถามคำถามทดสอบสองสามข้อเกี่ยวกับหัวข้อที่เปลี่ยนแปลงเพื่อยืนยันว่าโมเดลให้คำตอบที่ถูกต้อง การบำรุงรักษาเล็กๆ น้อยๆ แต่สม่ำเสมอนี้จะป้องกันไม่ให้ระบบ RAG "ผิดพลาดอย่างเงียบๆ" เมื่อเวลาผ่านไป
ข้อผิดพลาดทั่วไป
- การพูดว่า "อธิบายนโยบายของเรา" โดยไม่ต้องฝังแหล่งที่มาและอาศัยการท่องจำของโมเดล
- ไม่ได้กำหนดขอบเขต "ตอบกลับจากแหล่งที่มาเท่านั้น" และพฤติกรรมที่ไม่ใช่แหล่งที่มา
- ไม่ขอใบเสนอราคา/แหล่งอ้างอิง และปล่อยให้คำตอบไม่สามารถตรวจสอบได้
- การเก็บข้อมูลเดียวกันในเวอร์ชันที่ขัดแย้งกันไว้ในเอกสารหลายชุดในฐานความรู้
- การอนุญาตให้โมเดลปัดเศษ/ตีความค่าตัวเลข
- การลืมอัปเดตแหล่งที่มา ทำให้โมเดลทำซ้ำข้อมูลเก่าได้อย่างแม่นยำ
โดยสรุป
- RAG หมายความว่าโมเดลจะสร้างคำตอบจากเอกสารต้นฉบับปัจจุบัน แทนที่จะสร้างจากหน่วยความจำ
- วิธีลดอาการประสาทหลอนที่ได้ผลดีที่สุด: ฝังแหล่งที่มา พูดว่า "ตอบที่นี่เท่านั้น" ขอข้อมูลอ้างอิง
- หากคำตอบไม่อยู่ในแหล่งที่มา ก็ไม่ควรเหมาะสมกับโมเดล เขาควรจะพูดว่า "ฉันไม่มี" แล้วส่งมอบให้
- ทำให้โมเดลทราบแหล่งที่มาที่ขัดแย้งกัน คุณคงค่าตัวเลขไว้อย่างแน่นอน
- ความแม่นยำของ RAG ขึ้นอยู่กับความทันเวลาของแหล่งที่มาของคุณ ยืนยันใบเสนอราคาเสมอ
งานสมัคร
นำข้อความนโยบายตามจริง (การคืนสินค้า การจัดส่ง หรือการเป็นสมาชิก) จากธุรกิจของคุณเองและฝังไว้เป็นแหล่งข้อมูลในพรอมต์ RAG พื้นฐานด้านบน จากนั้นถามคำถามสามข้อ: (1) คำถามที่มีคำตอบชัดเจนในแหล่งที่มา (2) คำถามที่ไม่มีคำตอบอยู่ในแหล่งที่มาเลย (3) คำถามที่มีคำตอบไม่ครบถ้วนในแหล่งที่มาเท่านั้น ตรวจสอบว่าแบบจำลองตอบถูกต้อง พูดว่า "ฉันไม่มี" และทำเครื่องหมายคำตอบบางส่วนและส่วนที่ขาดหายไปตามลำดับ แก้ไขพฤติกรรมเบี่ยงเบนโดยการเสริมสร้างความภักดีและกฎที่ไม่ใช่ทรัพยากรในทันที
รายการตรวจสอบ
- [ ] ฉันฝังแหล่งที่มาปัจจุบันซึ่งการตอบสนองจะเป็นไปตามพรอมต์
- [ ] ฉันเพิ่มกฎ "ตอบกลับจากแหล่งที่มาเท่านั้น อย่าไปไกลกว่านั้น"
- [ ] ฉันได้ใส่ข้อกำหนดการอ้างอิงแหล่งที่มา / การอ้างอิงแล้ว
- [ ] ฉันกำหนดพฤติกรรมการมอบหมายหากไม่มีคำตอบในแหล่งที่มา
- [ ] ฉันต้องการให้รักษาค่าตัวเลขไว้อย่างแน่นอน
- [ ] ฉันยืนยันคำตอบจากประโยคต้นฉบับที่ใช้เป็นหลัก