Kiến trúc và đánh giá một AI-First Search API

Xây dựng Search API có khả năng mở rộng xử lý 200 triệu truy vấn hàng ngày bằng cách sử dụng truy xuất kết hợp và tuyển chọn bối cảnh thông minh cho các mô hình AI

Tác giảPerplexity Research

Việc xây dựng một Search API có khả năng mở rộng và hướng tới AI đặt ra những thách thức nghiên cứu độc đáo nằm ở giao điểm của việc truy xuất thông tin, AI và thiết kế hệ thống. Không giống như các dịch vụ truyền thống hoạt động trên dữ liệu bị giới hạn, một API tìm kiếm phải liên tục lập chỉ mục hàng tỷ tài liệu, hiểu ý định truy vấn trên nhiều ngôn ngữ và tên miền, đồng thời đưa ra các kết quả có liên quan trong vòng vài mili giây. Trong thế giới của các tác nhân AI, Search API cũng phải tuyển chọn cẩn thận bối cảnh được cung cấp cho các mô hình của nhà phát triển để đảm bảo các mô hình đó hoạt động tối ưu và kết hợp thông tin chính xác tối đa. Kỹ thuật ngữ cảnh hiệu quả đòi hỏi API không chỉ nắm bắt mức độ liên quan ở cấp độ tài liệu, mà còn coi các phần và khoảng riêng lẻ của tài liệu là các đơn vị hạng nhất đúng nghĩa.

Trong bài viết này, chúng tôi trình bày thiết kế và đánh giá của Perplexity Search API. Đầu tiên, chúng tôi khám phá kiến trúc và các quyết định kỹ thuật quan trọng đằng sau cơ sở hạ tầng tìm kiếm sản xuất của chúng tôi, xử lý 200 triệu truy vấn hàng ngày. Kiến trúc của chúng tôi kết hợp các cơ chế truy xuất kết hợp, các đường ống xếp hạng nhiều giai đoạn, lập chỉ mục phân tán và phân tích cú pháp động thông qua một mô-đun hiểu nội dung tự cải thiện.

Sau đó, chúng tôi mô tả phương pháp của mình để đánh giá thực nghiệm hiệu suất của Search API thông qua một khuôn khổ đánh giá mới được mã nguồn mở. Thông qua việc đánh giá chuẩn toàn diện bên cạnh các API thương mại hiện có, chúng tôi chứng minh hiệu suất tối tân về cả chất lượng và độ trễ. Perplexity Search API đã sẵn sàng cho các nhà phát triển trên toàn thế giới bắt đầu từ hôm nay.

[Tìm search_evals trên GitHub]

Xây dựng hệ thống tìm kiếm được tối ưu hóa cho các mô hình AI

Ngay từ khi thành lập, chúng tôi đã hiểu rằng các tính năng tìm kiếm mạnh mẽ sẽ đóng vai trò quan trọng để hỗ trợ các sản phẩm AI định hình danh mục mà chúng tôi muốn phát hành. Ban đầu, chúng tôi hy vọng rằng các khả năng này đã tồn tại ở dạng có sẵn công khai. Chúng tôi đã thử nghiệm danh mục các Search API có sẵn vào cuối năm 2022 và phiên bản đầu tiên của công cụ trả lời của Perplexity thực tế đã kết hợp một số dịch vụ này. Cụ thể, chúng tôi sẽ phân tích các truy vấn của người dùng, lập công thức và gửi yêu cầu đến các API này, đồng thời thu thập kết quả làm bối cảnh cho đường ống tạo xuôi dòng của mình.

Tuy nhiên, khi người dùng đổ xô đến Perplexity, chúng tôi nhanh chóng nhận ra rằng các API này không thể mở rộng theo sự phát triển của chúng tôi. Giá cả chúng tôi gặp phải là quá đắt đỏ, với một nhà cung cấp API hàng đầu tính phí 200 đô la cho mỗi nghìn truy vấn. Nhưng trầm trọng hơn, các API kế thừa này đơn giản là không được thiết kế cho các mô hình truy xuất mới do các hệ thống AI tiên tiến giới thiệu.

Một trong những phiên bản đầu tiên của công cụ trả lời của Perplexity.

Đối với người mới bắt đầu, các định dạng yêu cầu và phản hồi của các API kế thừa này được thiết kế cho một thế giới nơi con người là người tiêu dùng độc quyền của kết quả tìm kiếm. Kết quả là, các API này ưu tiên kết quả ở cấp độ tài liệu, loại trừ thông tin chi tiết hơn được tiết lộ bởi các đơn vị dưới cấp tài liệu. Sự thành công của một mô hình AI phụ thuộc vào chất lượng và tính gọn gàng của bối cảnh được cung cấp, và chúng tôi đã tận mắt chứng kiến việc truy xuất quá rộng có thể làm chệch hướng các mô hình AI như thế nào, bất kể các tài liệu được truy xuất có vẻ có liên quan tổng thể đến mức nào. Những nỗ lực của chúng tôi nhằm áp dụng độ chính xác cho các kết quả không chính xác chỉ thu được thành công hạn chế.

Chúng tôi cũng quan sát thấy rằng các API kế thừa hoặc là quá cũ hoặc quá chậm. Các Search API được phát triển độc lập dựa trên các chỉ mục chưa đầy đủ và quá ít được cập nhật. Các API dựa trên cào dữ liệu, chẳng hạn như các API SERP không chính thức khác nhau dành cho Google Search, được hưởng lợi từ một chỉ mục toàn diện hơn nhưng lại mang lại độ trễ cao không thể chấp nhận được do sự kém hiệu quả vốn có trong việc truy vấn một công cụ tìm kiếm của bên thứ ba. Độ trễ cao khiến các API không phù hợp với các ứng dụng hướng người dùng, trong khi tính cũ kỹ khiến các tập kết quả không thể sử dụng được đối với bất kỳ hệ thống AI nào hy vọng chính xác và đáng tin cậy.

Cuối cùng, chúng tôi quan sát thấy hệ sinh thái AI chia rẽ giữa tìm kiếm từ vựng và tìm kiếm ngữ nghĩa, với các hệ thống xuất hiện được tối ưu hóa quá mức cho một phương thức này hơn phương thức kia. Chúng tôi chứng kiến sự trỗi dậy của các cơ sở dữ liệu véc-tơ không thể hỗ trợ đầy đủ ngay cả các bộ lọc boolean đơn giản. Các phụ trợ tìm kiếm truyền thống cũng không khá hơn là bao, với sự hỗ trợ nguyên thủy cho việc xếp hạng ngữ nghĩa và các cơ hội truy xuất được mở khóa bởi AI.

Khi nhận ra rằng việc làm cho Perplexity thậm chí còn tốt hơn sẽ đòi hỏi phải xây dựng cơ sở hạ tầng tìm kiếm chuyên dụng của riêng mình, chúng tôi đã chắt lọc các quan sát của mình thành ba tiêu chí chính:

Tính toàn diện, tính mới mẻ và tốc độ: chỉ mục tìm kiếm phải toàn diện, được cập nhật liên tục và được thiết kế cho độ trễ thời gian thực.

Hiểu nội dung chi tiết: tính dễ hỏng của mô hình AI và các cửa sổ ngữ cảnh hạn chế yêu cầu kết quả tìm kiếm phải được trình bày và xếp hạng ở mức độ chi tiết nhất có thể.

Truy xuất và xếp hạng kết hợp: cả đường ống truy xuất và xếp hạng đều phải kết hợp các tín hiệu từ vựng và ngữ nghĩa để các kết quả có ích cho AI.

Perplexity ngày nay, được hỗ trợ bởi cơ sở hạ tầng tìm kiếm quy mô internet của chúng tôi hiện có sẵn thông qua Perplexity Search API.

Cơ sở hạ tầng thu thập thông tin và lập chỉ mục

Hoạt động ở quy mô Perplexity đòi hỏi cơ sở hạ tầng có thể lập bản đồ toàn diện web và phản ứng với sự tiến hóa liên tục của nó. Chỉ mục tìm kiếm của chúng tôi theo dõi hơn 200 tỷ URL duy nhất, với năng lực theo dõi nhiều trăm tỷ URL khác nữa.

Đảm bảo rằng chỉ mục của chúng tôi bao phủ một phần internet đủ toàn diện và mỗi tài liệu phản ánh trạng thái mới nhất là một kỳ tích khó khăn. Tồn tại một sự căng thẳng vốn có giữa tính toàn diện và tính mới mẻ: đối với một ngân sách lập chỉ mục cố định, các hoạt động làm mới cho các trang hiện có phải cạnh tranh với các hoạt động lập chỉ mục cho các trang mới chưa được truy cập. Chúng tôi cân bằng sự căng thẳng này thông qua sự kết hợp giữa việc mở rộng quy mô (làm giảm bớt ràng buộc tối ưu hóa bằng cách tăng ngân sách lập chỉ mục) và việc ưu tiên do máy học điều khiển (đảm bảo rằng mỗi hoạt động lập chỉ mục mang lại giá trị tối đa cho toàn bộ chỉ mục).

Chúng tôi đã xây dựng một thiết bị thu thập thông tin và chỉ mục quy mô exabyte có khả năng mở rộng theo chiều ngang với cả kích thước và khối lượng truy vấn. Đội ngũ thu thập thông tin và lập chỉ mục của Perplexity bao gồm tổng cộng hàng chục nghìn CPU và hàng trăm terabyte RAM, với dung lượng dự phòng đáng kể để mở rộng quy mô hơn nữa. Chúng tôi kết hợp cơ sở hạ tầng tính toán này với sự cân bằng giữa lưu trữ lạnh và ấm. Chúng tôi sử dụng cả các mô hình đã học và các phươngHeuristic đã tinh chỉnh để xác định những tài liệu nào nên được giữ nóng, ưu tiên tài liệu từ các tên miền có thẩm quyền, tài liệu liên quan đến các chủ đề chưa được bao phủ đầy đủ và các danh mục khác có tiềm năng vượt trội để làm phong phú thêm chỉ mục của chúng tôi.

Cơ sở hạ tầng này cho phép Perplexity xử lý hàng chục nghìn thao tác lập chỉ mục mỗi giây. Nhưng ngay cả với ngân sách tương đối hào phóng này, quy mô của internet vẫn quá lớn để lập chỉ mục mọi URL đơn lẻ trên cơ sở thường xuyên và lặp đi lặp lại. Đây là lúc máy học phát huy tác dụng. Chúng tôi đào tạo một mô hình máy học để dự đoán xem bất kỳ URL ứng cử viên nào cho trước có cần được lập chỉ mục hay không. Mục tiêu đào tạo được tạo ra để đảm bảo rằng chúng tôi hiệu chỉnh quyết định lập chỉ mục của mình đối với cả tầm quan trọng và tần suất cập nhật có thể xảy ra của URL cụ thể đó. Chúng tôi cũng dựa vào máy học để cho biết chính xác thời điểm lên lịch cho thao tác lập chỉ mục. Đối với các trang web có lịch trình xuất bản và làm mới thông thường, điều này cho phép chúng tôi trì hoãn các hoạt động đến thời điểm mà chúng có khả năng hữu ích nhất. Thông qua việc liên tục cải tiến các mô hình máy học này, chúng tôi có thể duy trì một chỉ mục đáp ứng các tiêu chuẩn về cả tính toàn diện và tính mới mẻ.

Mặc dù cơ sở hạ tầng thu thập thông tin của chúng tôi dễ dàng mở rộng theo chiều ngang, chúng tôi nhận thức được rằng các nhà điều hành trang web phải đối mặt với các ràng buộc kỹ thuật khác nhau. Chúng tôi cẩn thận duy trì tốc độ yêu cầu có thể dự đoán được và dễ quản lý đối với bất kỳ tên miền nào cho trước. PerplexityBot, trình thu thập thông tin tìm kiếm của chúng tôi, tuân thủ các giới hạn rõ ràng được đặt ra trong các tệp robots.txt, hoặc trong trường hợp không có giới hạn do tên miền chỉ định, các chuẩn mực tiêu chuẩn ngành liên quan đến tỷ suất yêu cầu. Chúng tôi cũng điều chỉnh hành vi thu thập thông tin của mình khi phát hiện trang web không khả dụng. Hệ thống phân tán của chúng tôi được kiến trúc hóa để thực thi các giới hạn này ngay cả trên hàng chục nghìn hoạt động đồng thời.

Hiểu nội dung tự cải thiện ở quy mô internet

Ngay cả với một trong những chỉ mục tìm kiếm lớn nhất và mới nhất trên hành tinh, chất lượng kết quả của mỗi truy vấn vẫn phụ thuộc vào sự hiểu biết của hệ thống chúng tôi về nội dung của từng tài liệu. Tại đây, chúng tôi phải đối mặt với một thách thức cơ bản: internet là một nơi hỗn loạn. Không có tập quy tắc phân tích cú pháp cố định nào có thể xử lý sự biến đổi vô hạn của các bố cục, cấu trúc và phong cách được tìm thấy trên toàn bộ internet.

Chúng tôi đã giải quyết thách thức này bằng cách phát triển một mô-đun hiểu nội dung phân tích cú pháp các trang web và trích xuất nội dung có ý nghĩa ngữ nghĩa bằng cách sử dụng các tập quy tắc động. Một trang web có nhiều dữ liệu được cấu trúc tốt ở dạng danh sách hoặc bảng có thể hưởng lợi từ các quy tắc phân tích cú pháp và trích xuất mang tính công thức hơn, trong khi một trang web khác chủ yếu có nội dung do người dùng tạo dạng tự do có thể yêu cầu một tập quy tắc lỏng lẻo hơn. Bởi vì internet hầu như tĩnh trong các khung thời gian ngắn, chúng tôi thấy rằng vòng đời của một quy tắc nhất định là tương đối dài. Nhưng khi các trang web phát triển theo thời gian và khi chúng tôi tìm hiểu thêm về những cách tốt nhất để trích xuất thông tin, các tập quy tắc của chúng tôi cũng đòi hỏi phải được chăm sóc liên tục.

Để hỗ trợ quá trình thích ứng động này, chúng tôi chuyển (tất nhiên) sang AI. Ở quy mô của Perplexity, chúng tôi quan sát thấy một mặt cắt cực kỳ phong phú của internet trong quá trình phục vụ hàng triệu truy vấn của người dùng mỗi giờ. Điều này tạo thành nền tảng cho một vòng lặp tự cải thiện lặp đi lặp lại. Chúng tôi quan sát hành vi phân tích cú pháp và các đầu ra được trích xuất của các tập quy tắc hiện tại của mình trên toàn bộ vũ trụ truy vấn của chúng tôi. Sau đó, chúng tôi sử dụng các LLM tiên tiến để đánh giá hiệu suất trên hai chiều chính:

Tính toàn diện: chỉ mục của chúng tôi nên nhận được càng nhiều nội dung có ý nghĩa ngữ nghĩa càng tốt, đồng thời tránh việc trích xuất giả mạo các vấn đề không có thông tin hoặc vô nghĩa.

Chất lượng: chỉ mục của chúng tôi dựa vào nội dung có chất lượng cao về cả nội dung và hình thức. Thông tin nên được nắm giữ theo cách bảo toàn cấu trúc và bố cục nội dung ban đầu.

Lưu ý rằng tính toàn diện và chất lượng thể hiện một sự căng thẳng vốn có khác: việc tối ưu hóa thủ công cho chất lượng là có thể, nhưng các quy tắc phân tích cú pháp kết quả có thể không nắm bắt được nội dung quan trọng. Tương tự, chúng tôi có thể viết tay các quy tắc cho phép áp dụng mức lọc tối thiểu đối với nội dung thô, điều này có thể cải thiện tính toàn diện nhưng phải đánh đổi bằng chất lượng. Đây là lý do tại sao chúng tôi chuyển sang tính năng tự cải thiện do AI điều khiển để phát triển tập quy tắc của mình theo cách có thể tối ưu hóa cho cả hai cùng một lúc theo cách thích ứng với miền.

Cụ thể, sau mỗi lần đánh giá hiệu suất phân tích cú pháp do LLM điều khiển, hệ thống của chúng tôi sẽ xây dựng một tập hợp các thay đổi tập quy tắc được đề xuất để giải quyết các lớp lỗi quan trọng nhất. Các tập quy tắc này trải qua quá trình xác thực thêm, sau đó chúng tôi triển khai phiên bản mới cho trình lập chỉ mục của mình. Cho rằng những cải tiến trong logic phân tích cú pháp và trích xuất chỉ có thể mang lại lợi ích cho các hoạt động lập chỉ mục trong tương lai, các khoản đầu tư của chúng tôi vào việc lập chỉ mục lại được tối ưu hóa bằng máy học là vô cùng quan trọng: liên tục làm mới các tài liệu có lưu lượng truy cập cao bằng cách sử dụng phiên bản mới nhất của logic này đảm bảo một vòng lặp tự cải thiện chặt chẽ.

Những quy tắc này quan trọng không chỉ đối với hiệu suất phân tích cú pháp cơ sở mà còn đối với việc phân đoạn thành các đơn vị dưới cấp tài liệu. Khi nói đến các LLM tiên tiến, mỗi mã thông báo ngữ cảnh đều quý giá. Rất nhiều công trình trước đây đã ghi lại cách hiệu suất LLM suy giảm khi kích thước ngữ cảnh tăng lên và sự ô nhiễm ngữ cảnh với thông tin không liên quan. Việc phân tích cú pháp được cấu trúc tốt, toàn diện cho phép chúng tôi phân rã các tài liệu thành các khoảng tự chứa, mỗi khoảng có thể được truy xuất và xếp hạng riêng lẻ tại thời điểm truy vấn.

Đường ống truy xuất và xếp hạng

Tìm kiếm hiện đại đòi hỏi phải đảm bảo cả tính toàn diện và mức độ liên quan dưới một ngân sách độ trễ chặt chẽ. Đường ống truy xuất và xếp hạng của Perplexity đạt được điều này thông qua kiến trúc nhiều giai đoạn, tinh chỉnh dần dần các kết quả bằng một chuỗi các mô-đun ngày càng tinh vi. Chúng tôi giải quyết các nút cổ chai tiềm năng bằng cách mở rộng quy mô theo chiều ngang bất kỳ điểm nghẽn nào ở mức tối đa có thể.

Đường ống bắt đầu bằng việc truy xuất từ chỉ mục của chúng tôi. Chúng tôi không ép buộc lựa chọn giữa truy xuất từ vựng và truy xuất ngữ nghĩa. Thay vào đó, chúng tôi truy vấn chỉ mục tìm kiếm thông qua cả hai phương thức và hợp nhất các kết quả thành một tập hợp ứng cử viên kết hợp. Ở giai đoạn này, ưu tiên là tính toàn diện hơn độ chính xác - các giai đoạn tiếp theo của đường ống sẽ tối ưu hóa cho độ chính xác.

Đường ống tiếp tục với các giai đoạn lọc trước, trong đó chúng tôi áp dụng các phươngHeuristic cơ bản và bộ lọc lần đầu để loại bỏ nội dung rõ ràng không phản hồi hoặc cũ kỹ khỏi tập hợp ứng cử viên.

Chúng tôi sau đó tuyển dụng nhiều giai đoạn xếp hạng nâng cao dần dần. Các giai đoạn trước dựa vào bộ ghi điểm dựa trên từ vựng và nhúng được tối ưu hóa cho tốc độ. Khi tập hợp ứng cử viên dần được thu hẹp, chúng tôi sử dụng các mô hình sắp xếp lại cross-encoder mạnh mẽ hơn để thực hiện việc điêu khắc cuối cùng của tập kết quả. Nhờ vào vô số khoản đầu tư của chúng tôi vào hiệu suất suy luận, chúng tôi có thể tận dụng các kiến trúc mô hình tối tân cho các giai đoạn sau này trong khi vẫn giữ cho độ trễ xếp hạng tổng thể ở mức thấp.

Trong toàn bộ đường ống này, chúng tôi truy xuất và chấm điểm kết quả ở cả cấp độ tài liệu và cấp độ dưới tài liệu. Như đã thảo luận ở trên, AI đòi hỏi kỹ thuật ngữ cảnh cẩn thận. Đường ống của chúng tôi được thiết kế để đưa các đơn vị nguyên tử nhất có thể lên bề mặt cho mô hình, sao cho người tiêu dùng hạ nguồn có thể kết hợp các đơn vị chính xác đó mà không cần kéo theo ngữ cảnh không liên quan từ nơi khác trong các tài liệu nguồn.

Đảm bảo chất lượng cao trong suốt mỗi giai đoạn của đường ống này chỉ có thể thực hiện được thông qua việc đồng thiết kế với danh mục sản phẩm của Perplexity. Mọi chi tiết của ngăn xếp xếp hạng đều được thiết kế để tận dụng tín hiệu phong phú được tạo ra bởi hàng triệu yêu cầu của người dùng mà chúng tôi phục vụ mỗi giờ trong ngày. Đại đa số tín hiệu này là tự động, với mỗi câu trả lời của Perplexity được tạo ra cung cấp một điểm dữ liệu thực nghiệm về chất lượng tìm kiếm khi được sử dụng trong một quy trình làm việc agentic trực tiếp. Chúng tôi kết hợp các đánh giá do AI điều khiển với phản hồi trực tiếp của con người để làm phong phú dữ liệu đào tạo cho các mô hình nhúng và xếp hạng của chúng tôi vượt xa những gì mà bất kỳ tập dữ liệu được xây dựng thủ công nào có thể cung cấp.

Sự hiệp lực giữa tìm kiếm và sản phẩm này là điểm độc đáo của Perplexity. Các công cụ tìm kiếm kế thừa bị giới hạn ở tín hiệu thô được cung cấp bởi telemetry liên kết màu xanh. Các dịch vụ tìm kiếm mới hơn đã cố gắng triển khai một số khái niệm hướng AI này, nhưng chúng thiếu môi trường thế giới thực có thể xác thực chất lượng tìm kiếm và cung cấp độ phong phú của tín hiệu cần thiết cho các vòng lặp cải tiến nhanh chóng. Chúng tôi rất may mắn khi có được thành phần còn thiếu: một sân thử nghiệm trực tiếp cho chất lượng tìm kiếm, được hỗ trợ bởi các LLM tiên tiến và liên tục được kiểm tra thực tế bởi hàng triệu người dùng tò mò trên toàn thế giới.

Thiết lập một ranh giới mới cho chất lượng và hiệu suất

Sau khi xây dựng Perplexity Search API và SDK để cung cấp cơ sở hạ tầng tìm kiếm của chúng tôi cho các nhà phát triển trên toàn thế giới, chúng tôi muốn hiểu cách các dịch vụ API thương mại khác nhau đo lường trong các trường hợp sử dụng AI trong thế giới thực. Việc đánh giá chính các mô hình AI đã trở nên phổ biến, nhưng chúng tôi cần một điểm nhấn mới cho mô hình này: đánh giá chất lượng của các API tìm kiếm khi được gọi bởi các mô hình AI.

Chúng tôi đầu tiên tìm đến hệ sinh thái mã nguồn mở để hiểu các công trình trước đây. Chúng tôi tìm thấy nhiều thành phần quan trọng để đánh giá nghiêm ngặt, nhưng không có khuôn khổ nào tích hợp các thành phần này thành một giải pháp chấm điểm chuẩn plug-and-play. Do đó, chúng tôi bắt tay vào phát triển một khuôn khổ đánh giá có thể được sử dụng không chỉ bởi Perplexity, mà bởi bất kỳ nhà nghiên cứu hoặc nhà phát triển nào tìm kiếm để chấm điểm chuẩn các API tìm kiếm.

Sử dụng khuôn khổ đánh giá này, chúng tôi đã đánh giá chuẩn một cách nghiêm ngặt Perplexity Search API bên cạnh các dịch vụ khác. Tối ưu hóa hiệu suất tìm kiếm là một quá trình phức tạp, với nhiều sự đánh đổi tinh tế giữa chất lượng và tốc độ. Đối với các nhà phát triển, chúng tôi thấy rằng Perplexity Search API thiết lập một chuẩn mực tối tân mới cho cả chất lượng và độ trễ. Các nhà phát triển không còn cần phải lựa chọn giữa việc xây dựng các ứng dụng cực kỳ nhanh chóng và đảm bảo kết quả chất lượng cao: với Perplexity, họ có thể có cả hai.

Chất lượng tìm kiếm so với độ trễ trên SimpleQA, FRAMES, BrowseComp và HLE.

Thiết kế các đánh giá đáng tin cậy cho các quy trình làm việc tìm kiếm agentic

Chúng tôi bắt đầu bằng cách định nghĩa ba nguyên tắc hướng dẫn cho khuôn khổ đánh giá của mình:

Phổ độ phức tạp: khuôn khổ đánh giá nên đo lường hiệu suất trên cả các trường hợp sử dụng AI agentic thẳng thắn và phức tạp.

Tính trung lập: khuôn khổ đánh giá nên đánh giá tất cả các API trên cơ sở bình đẳng.

Tính đơn giản: mặc dù một số trường hợp sử dụng có thể phức tạp, bản thân khuôn khổ nên đơn giản nhất có thể để những người khác có thể hiểu nó, tái tạo kết quả và mở rộng khuôn khổ với sự phiền toái tối thiểu.

Khuôn khổ đánh giá nhẹ của chúng tôi, search_evals, đạt được những mục tiêu này thông qua một thiết kế mô-đun đơn giản. Chúng tôi đã phát triển hai bộ khai thác tác nhân AI để nắm bắt cả các trường hợp sử dụng tìm kiếm đơn lẻ cổ điển và các quy trình làm việc agentic nâng cao (được minh họa bằng các sản phẩm "Nghiên cứu chuyên sâu" khác nhau có sẵn rộng rãi trên thị trường tiêu dùng). Cả hai bộ khai thác đều được triển khai theo một cách thẳng thắn để lại ít chỗ cho lợi thế ẩn.

Để thúc đẩy các đánh giá của mình, chúng tôi đã áp dụng bốn chuẩn mực: SimpleQA và FRAMES cho tìm kiếm một bước, cùng với BrowseComp và HLE cho nghiên cứu chuyên sâu. Nhìn chung, các chuẩn mực này cung cấp các tiêu chuẩn được chấp nhận rộng rãi cho các tác nhân tri thức. Theo quy ước đã thiết lập, chúng tôi chấm điểm tất cả các chuẩn mực bằng cách sử dụng cùng một phương methodology phân loại được nhắc nhở được sử dụng trong công việc ban đầu. Các triển khai chuẩn mực chính xác (bao gồm cả logic người chấm điểm) có thể được xem lại trong kho lưu trữ GitHub của chúng tôi.

Chúng tôi đã thiết kế khuôn khổ với khả năng tái tạo và khả năng mở rộng trong tâm trí. Cả điểm số cấp nhiệm vụ và đầu ra của tác nhân cơ bản đều được lưu trữ với mỗi lần chạy. Các bộ khai thác, chuẩn mực và dịch vụ Search API bổ sung có thể dễ dàng được tích hợp. Các nhà nghiên cứu và nhà phát triển có thể đọc tài liệu GitHub của chúng tôi để biết thêm thông tin về việc mở rộng khuôn khổ để giải quyết các nhu cầu chính xác của bạn.

Kết quả đánh giá

Được trang bị khuôn khổ đánh giá này, chúng tôi bắt đầu đánh giá Search API của mình so với các dịch vụ API khác. Trên tất cả các chuẩn mực được thử nghiệm, Perplexity nổi 358ms bật là cả API nhanh nhất và có chất lượng cao nhất trên thị trường.

Độ trễ truy vấn tại các bách phân vị p50, p75 và p95 trên các nhà cung cấp tìm kiếm.

Chúng tôi thấy rằng các khoản đầu tư đã được mô tả ở trên của chúng tôi vào hiệu suất chỉ mục, truy xuất và xếp hạng đã mang lại kết quả xứng đáng. Độ trễ trung vị của Perplexity đạt mức 358ms, nhanh hơn hơn 150ms so với nhà cung cấp nhanh thứ hai. Độ trễ phân vị thứ 95 duy trì thoải mái dưới 800ms. Với các số liệu TTFT (thời gian đến mã thông báo đầu tiên) dài của các mô hình tiên tiến ngày nay, mọi mili giây đều quan trọng trong việc tạo ra trải nghiệm người dùng thú vị. Chúng tôi đã dành hai năm qua để tối ưu hóa độ trễ cho người dùng của chính mình và chúng tôi rất hài lòng khi những khoản đầu tư đó giờ đây cũng sẽ mang lại lợi ích cho cộng đồng nhà phát triển.

Độ trễ của Search API

(các yêu cầu được khởi tạo từ AWS us-east-1)

p50

p75

p90

p95

Perplexity

358ms

443ms

604ms

763ms

Exa

1375ms

1499ms

1798ms

2188ms

Brave

513ms

637ms

728ms

808ms

Dựa trên SERP*

1342ms

1586ms

1743ms

1790ms

Phần trăm bách phân vị độ trễ của Search API đối với các yêu cầu khởi tạo từ AWS us-east-1.

* Nhiều nhà cung cấp Search API sử dụng việc cào dữ liệu SERP làm cơ sở cho kết quả của họ. Để nắm bắt hiệu suất của các phương pháp tiếp cận như vậy, chúng tôi sử dụng API dựa trên Google SERP đại diện do Tavily cung cấp.

Lợi thế về tốc độ này không phải đánh đổi bằng chất lượng. Perplexity Search API mang lại hiệu suất tối tân trong cả cài đặt tìm kiếm một bước và nghiên cứu chuyên sâu. Trên mỗi chuẩn mực được thử nghiệm, Perplexity dẫn đầu trong việc cung cấp kết quả chất lượng cao có thể cung cấp năng lượng cho các quy trình làm việc AI với các mức độ phức tạp khác nhau. Khoảng cách giữa Perplexity và giải pháp thay thế tốt nhất đặc biệt rõ rệt trên SimpleQA và HLE, cho thấy rằng các kết quả này mạnh mẽ trên toàn bộ phổ độ phức tạp của nhiệm vụ.

Điểm chất lượng tìm kiếm trên các chuẩn đánh giá tìm kiếm một bước SimpleQA và FRAMES, cùng các chuẩn đánh giá nghiên cứu chuyên sâu BrowseComp và HLE.

Giống như độ trễ, vị trí dẫn đầu của chúng tôi về chất lượng tìm kiếm xuất phát từ vị trí dẫn đầu của chúng tôi trong việc xây dựng các sản phẩm AI thú vị, có lưu lượng truy cập cao. Hàng triệu người dùng của chúng tôi sử dụng Perplexity để thỏa mãn sự tò mò của họ về mọi chủ đề có thể tưởng tượng được, và các tín hiệu chất lượng và độ liên quan kết quả cho phép các mô hình tìm kiếm của chúng tôi cải thiện qua mỗi giờ trôi qua.

Các chuẩn mực chất lượng của Search API

Tìm kiếm một bước

Nghiên cứu chuyên sâu

SimpleQA

FRAMES

BrowseComp

HLE

Perplexity

.930

.453

.371

.288

Exa

.781

.399

.265

.242

Brave

.822

.320

.221

.191

Dựa trên SERP*

.890

.437

.348

.248

Điểm chất lượng Search API trên SimpleQA, FRAMES, BrowseComp và HLE.

Chúng tôi vẫn đang ở những ngày đầu của các công cụ tìm kiếm gốc AI, và nghệ thuật cũng như khoa học đo lường chắc chắn sẽ phát triển. Chúng tôi mời gọi cộng đồng đóng góp bằng cách phát triển các phương pháp nghiêm ngặt và sáng tạo để đánh giá các công cụ tìm kiếm trong kỷ nguyên của các tác nhân AI.

Khối xây dựng cho chương tiếp theo của AI

Tương lai của các hệ thống agentic và trợ lý thông minh sẽ phụ thuộc vào sự sẵn có của các giao diện lập trình phong phú đi vào kiến thức tập thể của thế giới. Các công cụ tìm kiếm kế thừa ngày nay đã bão hòa về mức sử dụng ở mức khoảng 10¹⁰ truy vấn mỗi ngày, một con số có lẽ đã đạt đỉnh. Thế hệ tiếp theo của các hệ thống tìm kiếm và truy xuất sẽ phục vụ số lượng yêu cầu lớn hơn nhiều bậc, khi một vũ trụ các tác nhân AI ngày càng phát triển dựa vào chúng để có thông tin thời gian thực chính xác.

Những nỗ lực của chúng tôi cho đến nay đã định vị chúng tôi là công cụ tìm kiếm nhanh nhất, hoạt động hiệu quả nhất có thể truy cập thông qua API. Nhưng thậm chí còn cần nhiều đổi mới đầy tham vọng hơn để chúng tôi cung cấp năng lượng cho chương tiếp theo của AI. Làm thế nào để chúng tôi mở rộng quy mô các hệ thống này một cách hiệu quả khi đối mặt với nhu cầu ngày càng tăng? Làm thế nào các hệ thống tìm kiếm này có thể được tối ưu hóa trước các phương pháp tiếp cận tiểu thuyết đối với kỹ thuật ngữ cảnh và đào tạo sau? Và làm thế nào để chúng tôi điều hướng sự căng thẳng luôn hiện hữu giữa tính toàn diện, tính gần đây và độ trễ? Đây là những câu hỏi mở mà Perplexity, với sự kết hợp giữa dấu chân sản phẩm, quy mô và tài năng kỹ thuật, có vị thế độc đáo để giải quyết.

Trích dẫn

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}
}