Search API: การดึงข้อมูลที่ดีขึ้น และการประเมินแบบไดนามิก

คุณภาพส่วนย่อยของ Search API ได้รับการปรับให้เหมาะสมตาม 2 มิติ ได้แก่ ความเกี่ยวข้องและขนาด

ในเดือนกันยายน เราได้เผยแพร่ภาพรวมทางเทคนิค ของสถาปัตยกรรม Perplexity Search API และเปิดตัว search_evals ซึ่งเป็นเฟรมเวิร์กการประเมินโอเพนซอร์สของเราสำหรับการทำเบนช์มาร์ก Search API ในเวิร์กโฟลว์ของเอเจนต์ ตั้งแต่นั้นมา การลงทุนที่สำคัญที่สุดคือคุณภาพของส่วนย่อย (snippet) ซึ่งได้รับการปรับให้เหมาะสมตาม 2 มิติ ได้แก่ ความเกี่ยวข้องและขนาด การส่งคืนเนื้อหาที่ถูกต้องในปริมาณที่เหมาะสมเป็นตัวกำหนดความแม่นยำของคำตอบและประสิทธิภาพของโทเค็นในขั้นตอนถัดไปโดยตรง งานในการบรรลุเป้าหมายดังกล่าวนั้นเกี่ยวข้องกับการสร้างระบบใหม่สำหรับการดึงข้อมูล การติดป้ายกำกับระดับช่วง (span-level) และการประเมิน โดยที่โดดเด่นที่สุดคือไปป์ไลน์การติดป้ายกำกับช่วงซึ่งระบุว่าส่วนใดของเอกสารต้นฉบับที่ตอบสนองต่อคำค้นหาที่กำหนด

การประเมินส่วนย่อยที่ระดับช่วง

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

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

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

SEAL: การทำเบนช์มาร์กการดึงข้อมูลที่คำนึงถึงเวลา

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

เมื่อเราเรียกใช้ search_evals กับการเปิดตัว SEAL วันที่ 22 กุมภาพันธ์ โดยใช้ Claude Sonnet 4.5 คะแนนของ Perplexity เพิ่มขึ้นในขณะที่ผู้ให้บริการรายอื่นลดลงบน SEAL-Hard:

เราได้ขยายเฟรมเวิร์ก search_evals ของเราให้รวม SEAL เข้าไว้ด้วยกัน นอกเหนือจากเบนช์มาร์กที่รายงานไว้ในโพสต์เดือนกันยายนของเรา ผลลัพธ์และวิธีการที่อัปเดตแล้วมีอยู่ในพื้นที่เก็บข้อมูลที่อัปเดตบน GitHub

การสนับสนุนคำค้นหาหลายรายการ

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

การกรองที่ขยายเพิ่มเติม

นอกเหนือจากการกรองโดเมน (รายการที่อนุญาตและรายการบล็อก สูงสุด 20 โดเมน) และการกรองตามความใหม่ ปัจจุบัน API ยังรองรับการกรองภาษาด้วยรหัส ISO 639-1 และการค้นหาตามภูมิภาคด้วยรหัสประเทศ ISO สิ่งเหล่านี้สามารถรวมกันเพื่อจำกัดขอบเขตผลลัพธ์ได้อย่างแม่นยำ เช่น การจำกัดให้แสดงเฉพาะผลลัพธ์ภาษาอังกฤษจากโดเมนของเยอรมนี

SDK และความพร้อมใช้งาน

Python SDK (pip install perplexityai) ตอนนี้ให้การสนับสนุนแบบเนทีฟสำหรับ Search API ควบคู่ไปกับ Agent API และ Sonar API

เอกสารฉบับสมบูรณ์อยู่ที่ docs.perplexity.ai