תכנון והערכה של ממשק API חיפוש מונeh-בינה-מלאכותית

בניית Search API מדרגי שמטפל ב-200 מיליון שאילתות ביום באמצעות אחזור היברידי ואצירת הקשר חכמה למודלי AI

מחבריםPerplexity Research

בניית Search API מדרגי, עם דגש על AI, מציבה אתגרי מחקר ייחודיים בצומת שבין אחזור מידע, AI ותכנון מערכות. בניגוד לשירותים מסורתיים שפועלים על נתונים מוגבלים בהיקפם, Search API חייב לאנדקס ברציפות מיליארדי מסמכים, להבין את כוונת השאילתה across שפות ודומיינים, ולהציג תוצאות רלוונטיות בתוך מילישניות. בעולם של סוכני AI, Search API חייב גם לאצור בקפידה את ההקשר המסופק למודלים של המפתחים, כדי להבטיח שהמודלים הללו יבצעו בצורה מיטבית וישלבו מידע מדויק ככל האפשר. הנדסת הקשר אפקטיבית מחייבת את ה-API לא רק ללכוד רלוונטיות ברמת המסמך, אלא להתייחס לחלקים ולמקטעים הבודדים של מסמכים כאל יחידות מן המניין בפני עצמן.

במאמר זה, אנו מציגים את התכנון וההערכה של ממשק ה-API לחיפוש של Perplexity. אנו בוחנים תחילה את ארכיטקטורת וההחלטות הטכניות המרכזיות מאחורי תשתית החיפוש הייצורית שלנו המעבדת 200 מיליון שאילתות ביום. הארכיטקטורה שלנו משלבת מנגנוני אחזור היברידיים, צינורות דירוג רב-שלביים, אינדוקס מבוזר וניתוח דינמי באמצעות מודל הבנת תוכן המשתפר מעצמו.

לאחר מכן אנו מתארים את גישתנו להערכה אמפירית של ביצועי ממשק ה-API לחיפוש באמצעות מסגרת הערכה חדשה בקוד פתוח. באמצעות בנצ'מרקינג מקיף לצד ממשקי API מסחריים קיימים, אנו הדגימו ביצועים מתקדמים ביותר הן באיכות והן בשיהוי. ממשק ה-API לחיפוש של Perplexity זמין למפתחים ברחבי העולם החל מהיום.

[מצא search_evals ב-GitHub]

פיתוח מערכת חיפוש המותאמת למודלי בינה מלאכותית

מאז הקמתנו, הבינו כי יכולות חיפוש חסונות יהיו קריטיות כדי לאפשר את מוצרי הבינה המלאכותית מעצבי-הקטגוריה שרצינו לשלוח. במקור, קיווינו שיכולות אלו כבר קיימות בצורה זמינה לציבור. התנסנו בפורטפוליו של ממשקי API לחיפוש שהיו זמינים בסוף 2022, והגרסה הראשונה בהחלט של מנוע התשובות של Perplexity למעשה שילבה חלק מההצעות הללו. באופן ספציפי, היינו מנתחים שאילתות משתמשים, מנסחים ושולחים בקשות לממשקי API אלו, ואוספים את התוצאות כהקשר עבור צינור יצירת התוכן בהמשך הזרם.

עם זאת, כאשר משתמשים נהרו ל-Perplexity, הבנו במהירות שממשקי API אלו לא עומדים להתרחב יחד עם הצמיחה שלנו. המחירים שנתקלנו בהם היו מופקעים, כאשר ספק API מוביל אחד גבה 200 דולר לכל אלף שאילתות. אך קטלני מכך, ממשקי API מדור קודם אלו פשוט לא תוכננו עבור פרדיגמות האחזור החדשות שהוצגו על ידי מערכות בינה מלאכותית מתקדמות.

אחת הגרסאות המוקדמות ביותר של מנוע התשובות של Perplexity.

למתחילים, פורמטי הבקשות והתשובות של ממשקי API מדור קודם אלו תוכננו לעולם שבו בני אדם היו הצרכנים הבלעדיים של תוצאות חיפוש. כתוצאה מכך, ממשקי API אלו העדיפו תוצאות ברמת המסמך, תוך החרגת מידע מפורט יותר שנחשף על ידי יחידות תת-מסמך. ההצלחה של מודל בינה מלאכותית תלויה באיכות ובדחיסות של ההקשר המסופק, וראינו ממקור ראשון כיצד אחזור רחב מדי עלול לשבש מודלי בינה מלאכותית, ללא קשר לכך שהמסמכים האחזור כשלעצמם עשויים להיראות רלוונטיים. הניסיונות שלנו לכפות דיוק על תוצאות לא מדויקות נתקלו בהצלחה מוגבלת.

כמו כן, הבחַנּו שה-APIs הוותיקות היו מיושנות מדי או איטיות מדי. APIs לחיפוש שפותחו באופן עצמאי הסתמכו על אינדקסים שלא היו שלמים ושעודכנו לעיתים רחוקות מדי. APIs מבוססות-סריקה, כגון מגוון ה-SERP APIs הלא רשמיות עבור Google Search, נהנו מאינדקס מקיף יותר אך הציעו השהיה גבוהה באופן בלתי מתקבל על הדעת בשל חוסר היעילות המובנה בשאילתת מנוע חיפוש של צד שלישי. השהיה גבוהה הפכה APIs לבלתי מתאימות ליישומים הפונים למשתמשים, בעוד שעדכניות חסרה הפכה את סטי התוצאות לבלתי שמישים עבור כל מערכת AI השואפת להיות מדויקת ואמינה.

לבסוף, ראינו את האקולוגיה של הבינה המלאכותית מתפצלת בין חיפוש לקסיקלי לחיפוש סמנטי, כאשר צצו מערכות שהיו מותאמות יתר על המידה עבור אופן אחד על פני האחר. ראינו את עלייתם של מסדי נתונים וקטוריים שלא יכלו לתמוך כראוי אפילו במסננים בוליאניים פשוטים. מערכות קצה אחוריות מסורתיות הצליחו מעט טוב יותר, עם תמיכה פרימיטיבית בדירוג סמנטי ובזדמנויות אחזור שנפתחו על ידי בינה מלאכותית.

כאשר הבנו שהפיכת Perplexity לטובה עוד יותר תדרוש בניית תשתית חיפוש ייעודית משלנו, זיקקנו את ההבחנות שלנו לשלושה קריטריונים מרכזיים:

שלמות, עדכניות ומהירות: אינדקס החיפוש חייב להיות מקיף, מעודכן כל העת ומתוכנן עבור שיהוי בזמן אמת.

הבנת תוכן ברמת פירוט גבוהה: שבירות של מודלי בינה מלאכותית וחלונות הקשר מוגבלים דורשים שתוצאות החיפוש יוצגו וידורגו ברמת הפירוט הגבוהה ביותר האפשרית.

אחזור ודירוג היברידיים: גם צינורות האחזור וגם צינורות הדירוג חייבים לשלב אותות לקסיקליים וסמנטיים כדי שהתוצאות יהיו שימושיות עבור בינה מלאכותית.

Perplexity כיום, מופעלת על ידי תשתית החיפוש בקנה מידה אינטרנטי שלנו הזמינה כעת דרך ממשק ה-API לחיפוש של Perplexity.

תשתית זחילה ואינדוקס

פעולה בקנה מידה של Perplexity דורשת תשתית שיכולה למפות באופן מקיף את האינטרנט ולהגיב להתפתחותו המתמדת. אינדקס החיפוש שלנו עוקב אחר מעל 200 מיליארד כתובות URL ייחודיות, עם קיבולת לעקוב אחר מאות מיליארדים נוספים.

הבטחה שהאינדקס שלנו מכסה חלק נרחב ומקיף מספיק של האינטרנט וכי כל מסמך משקף את המצב העדכני ביותר היא משימה קשה. קיימת מתח מובנה בין שלמות לעדכניות: עבור תקציב אינדוקס קבוע, פעולות רענון עבור דפים קיימים חייבות להתחרות בפעולות אינדוקס עבור דפים חדשים שלא ביקרו בהם. אנו מאזנים מתח זה באמצעות שילוב של סקלביליות (המקלה על אילוץ האופטימיזציה על ידי הגדלת תקציב האינדוקס) ותעדוף מונע למידת מכונה (המוודא שכל פעולת אינדוקס בעלת ערך מרבי לאינדקס כולו).

בנינו אינדקס ומנגנון זחילה בקנה מידה של אקסבייט שמתרחבים אופקית הן עם הגודל והן עם נפח השאילתות. ציידי הזחילה וציות האינדוקס של Perplexity כוללים יחד עשרות אלפי מעבדים ומאות טרה-בייט של זיכרון RAM, עם מרווח ניכר להרחבה נוספת. אנו משדכים תשתית מחשוב זו עם איזון של אחסון קר וחם. אנו משתמשים גם במודלים נלמדים וגם בהיוריסטיקות מכוונות כדי לקבוע אילו מסמכים צריכים להישאר חמים, תוך מתזעדוף מסמכים מתחומים סמכותיים, מסמכים העוסקים בנושאים שאינם מכוסים מספיק, וקטגוריות אחרות בעלות פוטנציאל חריג להעשיר את האינדקס שלנו.

תשתית זו מאפשרת ל-Perplexity לעבד עשרות אלפי פעולות אינדוקס בשנייה. אך אפילו עם תקציב נדיב יחסית זה, הקנה מידה של האינטרנט עצום מכדי לאנדקס כל כתובת URL בודדת על בסיס תכוף וחוזר. כאן נכנסת לתמונה למידת המכונה. אנו מאמנים מודל למידת מכונה כדי לחזות האם כתובת URL מועמדת מסוימת זקוקה לאינדוקס. מטרת האימון מעוצבת כדי להבטיח שאנו מכיילים את החלטת האינדוקס שלנו הן לחשיבות והן לתדירות העדכון המשוערת של כתובת ה-URL הספציפית. אנו סומכים גם על למידת מכונה שתגיד לנו במדויק מתי לתזמן את פעולת האינדוקס. עבור אתרים עם קצבי פרסום ורענון שגרתיים, הדבר מאפשר לנו לדחות פעולות לנקודת הזמן שבה סביר להניח שיהיו המועילות ביותר. באמצעות שיפור מתמשך של מודלי למידת מכונה אלו, אנו מסוגלים לשמור על אינדקס העומד ביעד הן מבחינת שלמות והן מבחינת עדכניות.

למרות שתשתית הזחילה שלנו מתרחבת בקלות אופקית, אנו מודעים לכך שמפעילי אתרים מתמודדים עם אילוצים טכניים שונים. אנו מקפידים לשמור על קצב בקשות צפוי וניתן לניהול לכל תחום נתון. PerplexityBot, זחלן החיפוש שלנו, מציית למגבלות מפורשות המוגדרות בקובצי robots.txt, או בהיעדר מגבלות שצוינו על ידי התחום, לנורמות המקובלות בתעשייה הנוגעות לקצבי בקשות. אנו גם מתאימים את התנהגות הזחילה שלנו כאשר אנו מזהים חוסר זמינות של אתר. המערכת המבוזרת שלנו מתוכננת לאכוף מגבלות אלו אפילו על פני עשרות אלפי פעולות במקביל.

הבנת תוכן משתפרת מעצמה בקנה מידה אינטרנטי

אפילו עם אחד מאינדוקסי החיפוש הגדולים והמעודכנים ביותר על פני כדור הארץ, איכות התוצאות של כל שאילתות תלויה בהבנת המערכת שלנו את התוכן של כל מסמך. כאן אנו מתמודדים עם אתגר בסיסי: האינטרנט הוא מקום מבולגן. שום סט קבוע של חוקי ניתוח אינו יכול להתמודד עם המגוון האינסופי של פריסות, מבנים וסגנונות הנמצאים בכל רחבי האינטרנט.

פתרנו את האתגר הזה על ידי פיתוח מודל הבנת תוכן שמנתח אתרי אינטרנט ומחלץ תוכן בעל משמעות סמנטית תוך שימוש במערכות חוקים דינמיות. אתר אינטרנט עמוס בנתונים מובנים היטב בצורת רשימה או טבלה עשוי להפיק תועלת מניתוח פורמלי יותר וחוקי חילוץ, בעוד שאתר אינטרנט אחר הכולל בעיקר תוכן שנוצר על ידי משתמשים בצורה חופשית עשוי לדרוש סט חוקים משוחרר יותר. מכיוון שהאינטרנט סטטי ברובו לאורך פרקי זמן קצרים, אנו מוצאים שמשצ חייו של חוק נתון ארוכים יחסית. אך ככל שאתרים מתפתחים לאורך זמן וככל שאנו למדים יותר על הדרכים הטובות ביותר לחלץ מידע, מערכות החוקים שלנו דורשות תחזוקה מתמשכת.

כדי להקל על הסתגלות דינמית זו, אנו פונים (כמובן) אל בינה מלאחתית. בקנה המידה של Perplexity, אנו צופים בחתוך רוחב עשיר להפליא של האינטרנט במהלך מתן מיליוני שאילתות משתמשים בכל שעה. זה מהווה את הבסיס ללולאת שיפור עצמי איטרטיבית. אנו צופים בהתנהגות הניתוח ובפטי התוצאות המחולצות של מערכות החוקים הנוכחיות שלנו ברחבי יקום השאילתות שלנו. לאחר מכן אנו משתמשים במודלי שפה גדולים מתקדמים כדי להעריך את הביצועים בשל שני ממדים עיקריים:

שלמות: האינדקס שלנו צריך לקבל כמה שיותר תוכן בעל משמעות סמנטית, תוך הימנעות מחילוץ שגוי של חומרים לא אינפורמטיביים או חסרי משמעות.

איכות: האינדקס שלנו מתבסס על תוכן באיכות גבוהה הן בתוכן והן בצורה. יש ללכוד מידע בצורה השומרת על מבנה התוכן והפריסה המקוריים.

שימו לב ששלמות ואיכות מציגים מתח מהותי נוסף: אופטימיזציה ידנית של איכות אפשרית, אך חוקי הניתוח הנובעים מכך עלולים להיכשל בלכידת תוכן קריטי. באופן דומה, יכולנו לקודד ידנית חוקים מרשים המחילים סינון מינימלי על התוכן הגולמי, מה שעשוי לשפר את הששלמות אך על חשבון האיכות. זו הסיבה שאנו פונים לשיפור עצמי מונע בינה מלאכותית כדי לפתח את סט החוקים שלנו באופן שיכול לבצע אופטימיזציה לשניהם בו-זמנית באופן המותאם לתחום.

בצורה קונקרטית, לאחר כל הערכה מונעת מודל שפה של ביצועי הניתוח, המערכת שלנו מנסחת סט של שינויים מוצעים למערכת החוקים כדי לטפל בקבוצות השגיאות המשמעותיות ביותר. מערכות חוקים אלו עוברות אימות נוסף, ולאחר מכן אנו פורסים את הגרסה החדשה למאנדקס שלנו. בהתחשב בכך ששיפורים בלוגיקת הניתוח והחילוץ יכולים להועיל רק לפעולות אינדוקס עתידיות, ההשקעות שלנו באינדוקס מחדש ממוטב למידת מכונה חשובות במיוחד: רענון מתמשך של מסמכים בעלי תעבורה גבוהה תוך שימוש בגרסה העדכנית ביותר של לוגיקה זו מבטיח לולאת שיפור עצמי הדוקה.

חוקים אלו חשובים לא רק עבור ביצועי ניתוח בסיסיים אלא גם עבור פילוח ליחידות תת-מסמך. כשמדובר במודלי שפה גדולים מתקדמים, כל אסימון הקשר הוא יקר ערך. עבודה קודמת רבה תיעדה כיצד ביצועי מודלי שפה גדולים מידרדרים עם עלייה בגודל ההקשר וזיהום ההקשר במידע לא רלוונטי. קיומו של ניתוח מובנה היטב ומקיף מאפשר לנו לפרק מסמכים למקטעים עצמאיים, שכל אחד מהם ניתן לאחזור ודירוג פרטני בזמן השאילתא.

צינור אחזור ודירוג

חיפוש מודרני דורש הבטחת שלמות ורלוונטיות תחת תקציב שיהוי הדוק. צינור האחזור והדירוג של Perplexity משיג זאת באמצעות ארכיטקטורה רב-שלבית המחדדת בהדרגה תוצאות עם סדרה של מודולים מתוחכמים יותר ויותר. אנו פותרים צווארי בקבוק פוטנציאליים על ידי הרחבה אופקית של כל נקודת חנק פוטנציאלית במידה המרבית האפשרית.

הצינור מתחיל באחזור מהאינדקס שלנו. איננו כופים בחירה בין אחזור לקסיקלי לסמנטי. במקום זאת, אנו שואלים את אינדוקס החיפוש דרך שתי המודליות וממזגים את התוצאות לסט מועמדים היברידי. בשלב זה, העדיפות היא למקיפות על פני דיוק - שלבים עוקבים של הצינור יעשו אופטימיזציה לדיוק.

הצינור ממשיך בשלבי סינון מקדים, שבהם אנו מיישמים היוריסטיקות בסיסיות ומסנני חיתוך ראשונים כדי להסיר תוכן שאינו מגיב בבירור או מיושן מסט המועמדים.

אנו משתמשים לאחר מכן במספר שלבים של דירוג מתקדם בהדרגה. שלבים מוקדמים מסתמכים על מנקדים מבוססי לקסיקון והטבעה המותאמים למהירות. ככל שסט המועמדים מצומצם בהדרגה, אנו משתמשים במודלי דירוג מחדש של חוצה-מקודד עוצמתיים יותר כדי לבצע את הפיסול הסופי של סט התוצאות. הודות להשקעות הרבות שלנו בביצועי הסקת דסקות, אנו יכולים למנף ארכיטקטורות מודל מתקדמות עבור שלבים מאוחרים אלו תוך שמירה על שיהוי דירוג כולל נמוך.

לאורך צינור זה, אנו מאחזרים ומנקדים תוצאות הן ברמת המסמך והן ברמת תת-המסמך. כפי שנדון לעיל, בינה מלאכותית דורשת הנדסת הקשר מדוקדקת. הצינור שלנו מתוכנן להציף את היחידות האטומיות ביותר האפשריות למודל, כך שצרכנים במורד הזרם יוכלו לשלב את היחידות המדויקות הללו מבלי למשוך הקשר לא רלוונטי ממקומות אחרים במסמכי המקור.

הבטחת איכות גבוהה לאורך כל שלב בצינור זה אפשרית רק באמצעות תכנון משותף עם פורטפוליו המוצרים של Perplexity. כל פרט בסטאק הדירוג נועד למנף את האות העשיר המופק על ידי מיליוני בקשות משתמשים שאנו משרתים בכל שעה ביום. הרוב המכריע של אות זה ממוכן, כאשר כל תשובת Perplexity שנוצרת מספקת נקודת נתונים אמפירית על איכות החיפוש כפי שנעשה בה שימוש בתהליך עבודה סוכני חי. אנו משלבים הערכות מונעות בינה מלאכותית עם משוב אנושי חי כדי להעשיר את נתוני האימון עבור מודלי ההטבעה והדירוג שלנו הרבה מעבר למה שכל סט נתונים שנבנה ידנית יכול להציע.

סינרגיה זו בין חיפוש למוצר ייחודית ל-Perplexity. מנועי חיפוש מדור קודם מוגבלים לאות הגס המסופק על ידי טלמטריה של קישורים כחולים. הצעות חיפוש חדשות ניסו ליישם כמה מהמושגים קדימה-הבינה-המלאכותית הללו, אך חסרות להן בסביבות עולם אמיתי שיכולות לאמת את איכות החיפוש ולספק את עוש האות הדרוש ללולאות שיפור מהירות. אנו בני מזל שיש לנו את המרכיב החסר: קרקע מבחן חיה לאיכות חיפוש, המופעלת על ידי מודלי שפה גדולים מתקדמים ונבחנת שוב ושוב על ידי מיליוני משתמשים סקרנים ברחבי העולם.

קביעת חזית חדשה לאיכות וביצועים

לאחר שבנינו את הממשק API לחיפוש של Perplexity ואת ערכת ה-SDK כדי להפוך את תשתית החיפוש שלנו לזמינה למפתחים ברחבי העולם, רצינו להבין כיצד הצעות ה-API המסחריות השונות משתוות במקרי שימוש של בינה מלאכותית בעולם האמיתי. זה הפך נפוץ להעריך מודלי בינה מלאכותית בעצמם, אך היינו זקוקים לטוויסט בדפוס זה: להעריך את איכות ממשקי ה-API לחיפוש כאשר הם מופעלים על ידי מודלי בינה מלאכותית.

פנינו תחילה אל אקולוגיית הקוד הפתוח כדי להבין את העבודה הקודמת. מצאנו מרכיבים מרכזיים רבים להערכה קפדנית, אך שום מסגרת שלא שילבה מרכיבים אלו לפתרון בנצ'מרקינג מוכן לשימוש (plug-and-play). לכן יצאנו לפתח מסגרת הערכה שתוכל לשמש לא רק את Perplexity, אלא כל חוקר או מפתח המבקש לבצע בנצ'מרק לממשקי API לחיפוש.

באמצעות מסגרת הערכה זו, ביצענו השוואת ביצועים קפדנית ל-Perplexity Search API לצד הצעות אחרות. מיטוב ביצועי חיפוש הוא תהליך מורכב, עם פשרות רבות ומעודנות בין איכות למהירות. כניצחון למפתחים, מצאנו ש-Perplexity Search API קובע רמת ביצועים חדשה המובילה בתחומה הן באיכות והן בהשהיה. מפתחים כבר אינם צריכים לבחור בין בניית יישומים מהירים כברק לבין הבטחת תוצאות באיכות גבוהה: עם Perplexity, הם יכולים לקבל את שניהם.

איכות החיפוש לעומת זמן השהיה ב-SimpleQA, FRAMES, BrowseComp ו-HLE.

תכנון הערכות אמינות לתהליכי עבודה סוכניים של חיפוש

התחלנו בהגדרת שלושה עקרונות מנחים עבור מסגרת ההערכה שלנו:

ספקטרום של מורכבות: מסגרת ההערכה צריכה למדוד ביצועים על מקרי שימוש של בינה מלאכותית סוכנית פשוטים ומורכבים כאחד.

ניטרליות: מסגרת ההערכה צריכה להעריך את כל ממשקי ה-API בתנאים שווים.

פשטות: למרות שמקרי שימוש מסוימים עשויים להיות מורכבים, המסגרת עצמה צריכה להיות פשוטה ככל האפשר כך שאחרים יוכלו להבין אותה, לשחזר את התוצאות ולהרחיב את המסגרת עם מינימום טרחה.

מסגרת ההערכה הקלילה שלנו, search_evals, משיגה יעדים אלו באמצעות עיצוב מודולרי פשוט. פיתחנו שתי רתמות סוכני בינה מלאכותית כדי ללכוד הן מקרי שימוש קלאסיים של חיפוש יחיד והן תהליכי עבודה סוכניים מתקדמים (הודגים על ידי מוצרי "מחקר מעמיק" שונים הזמינים באופן נרחב בשוק הצרכני). שתי הרתמות יושמו בצורה ישרה המשאירה מעט מקום ליתרון נסתר.

כדי להניע את ההערכות שלנו, אימצנו ארבעה בנצ'מרקים: SimpleQA ו-FRAMES לחיפוש צעד-יחיד, לצד BrowseComp ו-HLE למחקר מעמיק. יחד, בנצ'מרקים אלו מספקים מדדים מקובלים היטב עבור סוכני ידע. בהתאם למוסכמה המקובלת, אנו מדרגים את כל הבנצ'מרקים תוך שימוש באותה מתודולוגיית מסווג מונחה שבה נעשה שימוש בעבודה המקורית. ניתן לעיון ביישומי הבנצ'מרק המדויקים (כולל לוגיקת המדרג) במאגר ה-GitHub שלנו.

תכננו את המסגרת תוך מחשבה על יכולת שחזור והרחבה. הן הציונים ברמת המשימה והן פלטי הסוכנים הבסיסיים מאוחסנים עם כל ריצה. ניתן לשלב בקלות רתמות נוספות, בנצ'מרקים והצעות ממשק API לחיפוש. חוקרים ומפתחים יכולים לקרוא את מסמכי ה-GitHub שלנו למידע נוסף על הרחבת המסגרת כדי לטפל בצרכים המדויקים שלך.

תוצאות הערכה

חמושים במסגרת הערכה זו, יצאנו להעריך את ממשק ה-API לחיפוש שלנו בהשוואה להצעות API אחרות. בכל הבנצ'מרקים שנבדקו, Perplexity ניצבת הן כממשק ה-API המהיר ביותר והן באיכות הגבוהה ביותר בשוק.

זמן השהיה של שאילתה באחוזונים p50, p75 ו-p95 across search providers.

מצאנו שההשקעות שלנו שתוארו לעיל ביעילות האינדוקס, האחזור והדירוג השתלמו בגדול. השיהוי החציוני של Perplexity עומד על 358 מילישניות, מעל 150 מילישניות לפני הספק השני במהירותו. שיהוי האחוזון ה-95 נשאר בנוחות מתחת ל-800 מילישניות. עם מדדי ה-TTFT (זמן לאסימון ראשון) הארוכים של המודלים המתקדמים של היום, כל אלפית שנייה חשובה ביצירת חוויות משתמש מענגות. הקדשנו את השנתיים האחרונות לאופטימיזציה של השיהוי עבור המשתמשים שלנו, ואנו מרוצים מכך שאותן השקעות יועילו כעת גם לקהילת המפתחים.

שיהוי ממשק API לחיפוש

(בקשות שהוחלו מ-AWS us-east-1)

p50

p75

p90

p95

Perplexity

358ms

443ms

604ms

763ms

Exa

1375ms

1499ms

1798ms

2188ms

Brave

513ms

637ms

728ms

808ms

מבוסס SERP*

1342ms

1586ms

1743ms

1790ms

אחוזוני זמן השהיה של Search API עבור בקשות שהופעלו מ-AWS us-east-1.

* ספקי ממשקי API רבים לחיפוש משתמשים בגרידת SERP כבסיס לתוצאות שלהם. כדי ללכוד את הביצועים של גישות כאלה, אנו משתמשים בממשק API מבוסס Google SERP המיוצג המוצע על ידי Tavily.

יתרון מהירות זה אינו בא על חשבון האיכות. ממשק ה-API לחיפוש של Perplexity מספק ביצועים מתקדמים ביותר הן בחיפוש צעד-יחיד והן בסביבות מחקר מעמיק. בכל בנצ'מרק שנבדק, Perplexity מובילה את החבורה באספקת תוצאות באיכות גבוהה שיכולות להניע תהליכי עבודה של בינה מלאכותית במורכבות משתנה. הפער בין Perplexity לחלופה הטובה ביותר בולט במיוחד ב-SimpleQA וב-HLE, מה שמעיד על כך שתוצאות אלו חסונות על פני ספקטרום מורכבות המשימות.

ציוני האיכות של החיפוש ב- SimpleQA וב-FRAMES, בוחני המיקרו של שלב אחד, וב-BrowseComp וב-HLE, בוחני המחקר המעמיק.

כמו בשיהוי, ההובלה שלנו באיכות החיפוש זורמת במורד הזרם מההובלה שלנו בבניית מוצרי בינה מלאכותית מענגים ומועסקים מאוד. מיליוני המשתמשים שלנו משתמשים ב-Perplexity כדי לספק את סקרנותם בכל נושא דמיוני, ואותות האיכות והרלוונטיות הנובעים מכך מאפשרים למודלי החיפוש שלנו להשתפר עם כל שעה שחולפת.

בנצ'מרקים של איכות ממשק API לחיפוש

חיפוש צעד-יחיד

מחקר מעמיק

SimpleQA

FRAMES

BrowseComp

HLE

Perplexity

.930

.453

.371

.288

Exa

.781

.399

.265

.242

Brave

.822

.320

.221

.191

מבוסס SERP*

.890

.437

.348

.248

ציוני האיכות של Search API ב-SimpleQA, FRAMES, BrowseComp ו-HLE.

אנו עדיין בימים הראשונים של מנועי חיפוש נייטיבים של בינה מלאכותית, ואמנות ומדע המדידה ללא ספק יתפתחו. אנו מזמינים את הקהילה לתרום על ידי פיתוח שיטות קפדניות ויצירתיות להערכת מנועי חיפוש בעידן סוכני הבינה המלאכותית.

אבן הבניין לפרק הבא של הבינה המלאכותית

העתיד של מערכות סוכניות ועוזרים חכמים יתבסס על זמינות ממשקים פרוגרמטיים עשירים לידע הקולקטיבי של העולם. מנועי החיפוש מדור קודם של היום הגיעו לרוויה בשימוש בכ-10¹⁰ שאילתות ביום, נתון שכנראה הגיע לשיא. הדור הבא של מערכות חיפוש ואחזור ישרת סדרי גודל רבים יותר של בקשות, כאשר יקום הולך וגדל של סוכני בינה מלאכותית יסתמך עליהם לקבלת מידע מדויק בזמן אמת.

המאמצים שלנו עד כה מיקמו אותנו כמנוע החיפוש המהיר והביצועי ביותר הנגיש באמצעות API. אך חדשנות שאפתנית אף יותר תידרש כדי שנזין את הפרק הבא של הבינה המלאכותית. כיצד נרחיב ביעילות מערכות אלו מול דרישה הולכת וגוברת? כיצד ניתן למערכות חיפוש אלו לעבור אופטימיזציה לאור גישות חדשות להנדסת הקשר ולפוסט-אימון? וכיצד אנו נווטים במתח הנצחי שבין שלמות, עדכניות ושיהוי? אלו שאלות פתוחות ש-Perplexity, עם השילוב שלנו של טביעת רגל מוצרית, קנה מידה וכישרון טכני, ממוקמת באופן ייחודי להתמודד עמן.

ציטוט

BibTeX
@online{perplexity2025ArchitectingAndEvaluatingAnAiFirstSearchApi,
  author = {{Perplexity} and Aleksandr Bogutskii and Aleksandr Nikolenko and Aleksei Bykov and Alexander Pecheny and Alexandr Yarats and Arsenii Shevchenko and Denis Bykov and Dmitry Pervukhin and Ismail Gadzhiev and James Liounis and Kevin Hu and Kirill Priemko and Maksim Gaiduk and Maksim Morozov and Marko Kevac and Michael Liang and Mikhail Galanin and Nandor Licker and Nataliya Pevgova and Nikita Kireev and Nikolai Tretiak and Paul Schofield and Saif Ali Raja and Saleh Alghusson and Sebastian Sepulveda and Sergei Miller and Svyatoslav Feldsherov and Vitalii Polshkov and Vladimir Zaytsev and Denis Yarats},
  title = {{Architecting and evaluating an AI-first Search API}},
  date = {2025-09-25},
  url = {https://www.perplexity.ai/hub/blog/architecting-and-evaluating-an-ai-first-search-api}
}