Skip to main content

Hướng dẫn toàn diện về Perplexity AI API!

Perplexity AI API mở ra cánh cửa để bạn tích hợp sức mạnh tìm kiếm và trả lời thông minh, theo thời gian thực vào ứng dụng của mình. Dựa trên các mô hình ngôn ngữ lớn tiên tiến nhất (LLMs) và công nghệ tìm kiếm độc quyền, Perplexity API cung cấp khả năng trả lời câu hỏi phức tạp, nghiên cứu sâu rộng và trích dẫn nguồn tin cậy – tất cả đều thông qua một giao diện API đơn giản và mạnh mẽ.

Hướng dẫn này sẽ cung cấp cho bạn mọi thứ bạn cần để bắt đầu và khai thác tối đa tiềm năng của Perplexity AI API, từ thiết lập ban đầu, lựa chọn mô hình phù hợp, tối ưu hóa prompt, cho đến quản lý hạn mức và chi phí.

Mục lục

  1. Bắt đầu nhanh: Thiết lập tài khoản và thực hiện yêu cầu API đầu tiên
  2. Khám phá các mô hình Perplexity AI: Sonar, Sonar Pro và các mô hình Legacy
  3. Làm chủ Prompt Engineering: Hướng dẫn tạo System Prompt và User Prompt hiệu quả
  4. Khai thác đầu ra có cấu trúc: JSON Schema và Regex để định dạng dữ liệu đầu ra
  5. Quản lý hạn mức và bậc sử dụng: Hiểu rõ về Rate Limits và Usage Tiers
  6. Tối ưu chi phí sử dụng: Phân tích chi tiết về giá và cách sử dụng hiệu quả
  7. PerplexityBot: Tìm hiểu về trình thu thập dữ liệu web của Perplexity và cách tùy chỉnh quyền truy cập
  8. Câu hỏi thường gặp (FAQ) và Khắc phục sự cố
  9. Luôn cập nhật: Theo dõi các thay đổi và cải tiến mới nhất của API
  10. Kết luận: Tổng kết và các bước tiếp theo

1. Bắt đầu nhanh: Thiết lập tài khoản và thực hiện yêu cầu API đầu tiên

Việc bắt đầu với Perplexity AI API rất nhanh chóng và dễ dàng. Hãy làm theo các bước sau để thiết lập tài khoản và thực hiện yêu cầu API đầu tiên của bạn:

1.1. Đăng ký tài khoản

  • Truy cập trang API Settings page.
  • Nhấp vào nút "Sign up" hoặc "Get API Key".
  • Làm theo hướng dẫn để tạo tài khoản Perplexity AI.
  • Thêm thông tin thanh toán: Bạn sẽ cần đăng ký thẻ tín dụng để sử dụng API. Lưu ý: Bước này chỉ để lưu thông tin thanh toán cho việc sử dụng API sau này, bạn sẽ không bị tính phí ngay lập tức.

1.2. Tạo API Key

  • Sau khi đăng ký và đăng nhập, bạn sẽ được chuyển đến trang API Settings.
  • Tìm phần "API Keys" và nhấp vào "Generate API Key".
  • Đặt tên cho API Key của bạn (ví dụ: "My First API Key") và nhấp vào "Create".
  • Sao chép API Key: API Key sẽ được hiển thị một lần duy nhất. Hãy sao chép và lưu trữ nó ở nơi an toàn. API Key này giống như mật khẩu của bạn để truy cập API.

Lưu ý quan trọng về API Key:

  • API Key là mã thông báo truy cập dài hạn. Bạn có thể sử dụng nó cho đến khi bạn tự làm mới hoặc xóa nó.
  • Bảo mật API Key: Không chia sẻ API Key của bạn với bất kỳ ai. Nếu API Key bị lộ, người khác có thể sử dụng tài khoản API của bạn.
  • Quản lý tín dụng: Khi bạn hết tín dụng, API Key của bạn sẽ bị chặn cho đến khi bạn nạp thêm tín dụng. Để tránh gián đoạn dịch vụ, hãy cấu hình "Automatic Top Up" để tự động nạp tiền khi số dư của bạn xuống dưới $2.

1.3. Thực hiện yêu cầu API đầu tiên

Perplexity AI API tương thích với thư viện OpenAI, giúp bạn dễ dàng tích hợp nếu bạn đã quen thuộc với OpenAI API. Dưới đây là ví dụ về cách thực hiện yêu cầu API đầu tiên bằng cURL và Python:

Ví dụ 1: Sử dụng cURL

Mở terminal hoặc command prompt và chạy lệnh sau (thay {API_KEY} bằng API Key bạn đã sao chép):

curl --location 'https://api.perplexity.ai/chat/completions' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer {API_KEY}' \
--data '{
"model": "sonar-pro",
"messages": [
{
"role": "system",
"content": "Hãy trả lời chính xác và ngắn gọn."
},
{
"role": "user",
"content": "Có bao nhiêu ngôi sao trong thiên hà của chúng ta?"
}
]
}'

Ví dụ 2: Sử dụng Python

Đảm bảo bạn đã cài đặt thư viện openai (nếu chưa, hãy chạy pip install openai). Sau đó, chạy đoạn mã Python sau (thay "INSERT API KEY HERE" bằng API Key của bạn):

from openai import OpenAI

YOUR_API_KEY = "INSERT API KEY HERE"

messages = [
{
"role": "system",
"content": (
"Bạn là một trợ lý AI hữu ích và bạn cần "
"tham gia vào một cuộc trò chuyện hữu ích, chi tiết và lịch sự với người dùng."
),
},
{
"role": "user",
"content": (
"Có bao nhiêu ngôi sao trong vũ trụ?"
),
},
]

client = OpenAI(api_key=YOUR_API_KEY, base_url="https://api.perplexity.ai")

# Hoàn thành trò chuyện mà không có streaming
response = client.chat.completions.create(
model="sonar-pro",
messages=messages,
)
print(response)

# Hoàn thành trò chuyện với streaming
response_stream = client.chat.completions.create(
model="sonar-pro",
messages=messages,
stream=True,
)
for response in response_stream:
print(response)

Giải thích ví dụ:

  • api_key=YOUR_API_KEY, base_url="https://api.perplexity.ai": Khởi tạo client OpenAI, chỉ định API Key và base URL của Perplexity AI.
  • model="sonar-pro": Chọn mô hình sonar-pro để sử dụng.
  • messages: Danh sách các tin nhắn trong cuộc trò chuyện.
    • role: "system": Tin nhắn hệ thống, thường được sử dụng để đặt hướng dẫn về phong cách, giọng điệu hoặc quy tắc cho mô hình.
    • role: "user": Tin nhắn người dùng, chứa câu hỏi hoặc yêu cầu của người dùng.
  • client.chat.completions.create(...): Gọi API endpoint /chat/completions để tạo phản hồi từ mô hình.
  • stream=True/False: Chỉ định liệu bạn muốn nhận phản hồi dưới dạng luồng (streaming) hay một lần duy nhất (non-streaming). Streaming hữu ích cho việc hiển thị phản hồi theo thời gian thực.

Sau khi chạy các ví dụ trên, bạn sẽ nhận được phản hồi từ Perplexity AI API. Xin chúc mừng, bạn đã thực hiện thành công yêu cầu API đầu tiên của mình!


2. Khám phá các mô hình Perplexity AI: Sonar, Sonar Pro và các mô hình Legacy

Perplexity AI API cung cấp một số mô hình ngôn ngữ lớn khác nhau, mỗi mô hình được thiết kế cho các mục đích và hiệu suất khác nhau. Hiện tại, các mô hình chính được khuyến nghị sử dụng là SonarSonar Pro.

2.1. Mô hình SonarSonar Pro

Mô hìnhĐộ dài ngữ cảnhLoại mô hìnhMô tả
sonar-pro200kChat CompletionMạnh mẽ nhất, cho câu hỏi phức tạp: Xử lý các câu hỏi phức tạp đòi hỏi nghiên cứu sâu hơn, cung cấp nhiều nguồn trích dẫn hơn và câu trả lời chi tiết hơn. Phù hợp với các ứng dụng yêu cầu độ chính xác và chiều sâu thông tin cao.
sonar127kChat CompletionNhanh chóng, cho câu trả lời trực tiếp: Cung cấp câu trả lời nhanh chóng và trực tiếp cho các câu hỏi thông thường. Hiệu quả về chi phí và tốc độ phản hồi nhanh. Phù hợp với các ứng dụng cần tốc độ và hiệu quả chi phí.

Lưu ý quan trọng:

  • Độ dài ngữ cảnh: Độ dài ngữ cảnh (Context Length) quyết định lượng thông tin tối đa mà mô hình có thể ghi nhớ từ cuộc trò chuyện trước đó hoặc từ prompt đầu vào. Mô hình sonar-pro có độ dài ngữ cảnh lớn hơn, cho phép xử lý các cuộc hội thoại dài hơn và phức tạp hơn.
  • Loại mô hình: Chat Completion: Cả hai mô hình sonarsonar-pro đều thuộc loại "Chat Completion", được thiết kế để tạo phản hồi cho các cuộc trò chuyện.
  • Giới hạn token đầu ra: sonar-pro có giới hạn token đầu ra tối đa là 8k.

Khi nào nên sử dụng mô hình nào?

  • sonar-pro: Sử dụng khi bạn cần câu trả lời chi tiết, chính xác cao, và dựa trên nhiều nguồn tin cậy cho các câu hỏi phức tạp, nghiên cứu chuyên sâu, hoặc phân tích thông tin. Ví dụ: Nghiên cứu thị trường, phân tích kỹ thuật, tư vấn chuyên môn.
  • sonar: Sử dụng khi bạn cần câu trả lời nhanh chóng, trực tiếp và hiệu quả chi phí cho các câu hỏi thông thường, hỗ trợ khách hàng, hoặc các ứng dụng cần tốc độ phản hồi nhanh. Ví dụ: Chatbot hỗ trợ cơ bản, trả lời câu hỏi thường gặp, tìm kiếm thông tin đơn giản.

2.2. Mô hình Legacy (Mô hình cũ) - Sẽ ngừng hoạt động

Các mô hình sau đây thuộc nhóm "Legacy Models" và sẽ ngừng hoạt động sau ngày 22/02/2025. Bạn nên chuyển sang sử dụng mô hình sonar hoặc sonar-pro để đảm bảo ứng dụng của bạn không bị gián đoạn.

Mô hìnhĐộ dài ngữ cảnhLoại mô hình
llama-3.1-sonar-small-128k-online127kChat Completion
llama-3.1-sonar-large-128k-online127kChat Completion
llama-3.1-sonar-huge-128k-online127kChat Completion

Lưu ý về việc ngừng hoạt động của mô hình cũ:

  • Cập nhật ứng dụng: Nếu bạn đang sử dụng bất kỳ mô hình Legacy nào trong ứng dụng của mình, hãy cập nhật mã để chuyển sang sử dụng sonar hoặc sonar-pro trước ngày 22/02/2025.
  • Ưu điểm của mô hình mới: Mô hình sonarsonar-pro là các mô hình mới nhất và cải tiến nhất của Perplexity AI, mang lại hiệu suất tốt hơn, chi phí hiệu quả hơn và nhiều tính năng mới.

3. Làm chủ Prompt Engineering: Hướng dẫn tạo System Prompt và User Prompt hiệu quả

Prompt Engineering là quá trình thiết kế và tối ưu hóa prompt (lời nhắc) để nhận được phản hồi tốt nhất từ mô hình ngôn ngữ lớn. Với Perplexity AI API, việc tạo prompt hiệu quả là chìa khóa để khai thác tối đa sức mạnh của các mô hình sonarsonar-pro.

Có hai loại prompt chính trong Perplexity AI API: System PromptUser Prompt.

3.1. System Prompt (Lời nhắc hệ thống)

System Prompt được sử dụng để cung cấp hướng dẫn chung về phong cách, giọng điệu, vai trò hoặc quy tắc cho mô hình. Nó giúp định hình hành vi của mô hình trong suốt cuộc trò chuyện.

Lưu ý quan trọng:

  • Tìm kiếm thời gian thực không phản hồi System Prompt: Thành phần tìm kiếm thời gian thực của mô hình Perplexity AI không xem xét System Prompt. System Prompt chỉ ảnh hưởng đến quá trình tạo văn bản phản hồi sau khi thông tin tìm kiếm đã được thu thập.
  • Sử dụng System Prompt để:
    • Xác định vai trò của AI: Ví dụ: "Bạn là một trợ lý AI hữu ích", "Bạn là chuyên gia tư vấn tài chính".
    • Đặt giọng điệu và phong cách: Ví dụ: "Hãy trả lời một cách ngắn gọn và chính xác", "Hãy trả lời một cách thân thiện và dễ hiểu".
    • Đặt quy tắc: Ví dụ: "Chỉ cung cấp câu trả lời cuối cùng, không giải thích các bước", "Luôn trích dẫn nguồn thông tin".
    • Hướng dẫn định dạng đầu ra: Ví dụ: "Trả lời dưới dạng danh sách", "Trả lời bằng tiếng Việt".

Ví dụ System Prompt:

Bạn là một trợ lý AI hữu ích.

Quy tắc:
1. Chỉ cung cấp câu trả lời cuối cùng. Điều quan trọng là bạn không bao gồm bất kỳ giải thích nào về các bước dưới đây.
2. Không hiển thị thông tin các bước trung gian.

Các bước:
1. Quyết định xem câu trả lời nên là một câu ngắn gọn hay một danh sách các gợi ý.
2. Nếu đó là một danh sách các gợi ý, trước tiên, hãy viết một phần giới thiệu ngắn gọn và tự nhiên dựa trên truy vấn ban đầu.
3. Tiếp theo là một danh sách các gợi ý, mỗi gợi ý nên được phân tách bằng hai dòng mới.

3.2. User Prompt (Lời nhắc người dùng)

User Prompt là câu hỏi hoặc yêu cầu thực tế mà bạn muốn mô hình trả lời. Đây là prompt chính được sử dụng để kích hoạt quá trình tìm kiếm web thời gian thực và tạo ra phản hồi.

Lưu ý quan trọng:

  • Tìm kiếm web thời gian thực: User Prompt được sử dụng để khởi động tìm kiếm web thời gian thực, đảm bảo câu trả lời có thông tin mới nhất và phù hợp nhất.
  • Rõ ràng và cụ thể: Hãy viết User Prompt một cách rõ ràng, cụ thể và chi tiết để mô hình hiểu rõ bạn muốn gì và cung cấp câu trả lời tốt nhất.
  • Cung cấp ngữ cảnh (nếu cần): Nếu câu hỏi của bạn phụ thuộc vào ngữ cảnh trước đó, hãy đảm bảo bao gồm đủ ngữ cảnh trong User Prompt hoặc trong lịch sử cuộc trò chuyện.

Ví dụ User Prompt:

Nhà hàng sushi ngon nhất thế giới hiện nay là những nhà hàng nào?

Mẹo để viết User Prompt hiệu quả:

  • Bắt đầu bằng mục tiêu rõ ràng: Bạn muốn mô hình làm gì? Trả lời câu hỏi, tóm tắt văn bản, tạo nội dung sáng tạo, v.v.?
  • Cung cấp đủ thông tin: Đảm bảo User Prompt chứa đủ thông tin để mô hình hiểu rõ câu hỏi hoặc yêu cầu của bạn.
  • Sử dụng ngôn ngữ tự nhiên: Viết prompt bằng ngôn ngữ tự nhiên, giống như cách bạn đặt câu hỏi cho một người.
  • Thử nghiệm và lặp lại: Prompt Engineering là một quá trình thử nghiệm. Hãy thử nghiệm với các prompt khác nhau và xem prompt nào cho kết quả tốt nhất.
  • Kết hợp System Prompt và User Prompt: Sử dụng kết hợp cả System Prompt và User Prompt để kiểm soát hành vi của mô hình một cách toàn diện.

4. Khai thác đầu ra có cấu trúc: JSON Schema và Regex để định dạng dữ liệu đầu ra

Perplexity AI API cung cấp tính năng đầu ra có cấu trúc (Structured Outputs), cho phép bạn yêu cầu mô hình trả về phản hồi theo một định dạng cụ thể, giúp bạn dễ dàng xử lý và tích hợp dữ liệu đầu ra vào ứng dụng của mình.

Hiện tại, Perplexity AI API hỗ trợ hai loại định dạng đầu ra có cấu trúc: JSON SchemaRegex.

Lưu ý quan trọng:

  • Tính năng Beta: Đầu ra có cấu trúc hiện đang là tính năng beta.
  • Giới hạn max_tokens: Mô hình sẽ cố gắng trả về đầu ra theo định dạng yêu cầu, trừ khi đầu ra vượt quá giới hạn max_tokens.

4.1. JSON Schema

JSON Schema cho phép bạn định nghĩa cấu trúc dữ liệu đầu ra mong muốn bằng cách sử dụng JSON Schema. Mô hình sẽ cố gắng trả về phản hồi dưới dạng JSON object tuân thủ schema bạn cung cấp.

Cách sử dụng JSON Schema:

Thêm trường response_format vào request của bạn với cấu trúc sau:

"response_format": {
"type": "json_schema",
"json_schema": {"schema": object}
}

Trong đó, object là một đối tượng JSON Schema hợp lệ mô tả cấu trúc dữ liệu bạn muốn.

Ví dụ 1: Nhận phản hồi ở định dạng JSON

Request Python:

import requests
from pydantic import BaseModel

class AnswerFormat(BaseModel):
first_name: str
last_name: str
year_of_birth: int
num_seasons_in_nba: int

url = "https://api.perplexity.ai/chat/completions"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
payload = {
"model": "sonar",
"messages": [
{"role": "system", "content": "Hãy trả lời chính xác và ngắn gọn."},
{"role": "user", "content": (
"Hãy cho tôi biết về Michael Jordan. "
"Vui lòng xuất ra một đối tượng JSON chứa các trường sau: "
"first_name, last_name, year_of_birth, num_seasons_in_nba. "
)},
],
"response_format": {
"type": "json_schema",
"json_schema": {"schema": AnswerFormat.model_json_schema()},
},
}
response = requests.post(url, headers=headers, json=payload).json()
print(response["choices"][0]["message"]["content"])

Response JSON:

{"first_name":"Michael","last_name":"Jordan","year_of_birth":1963,"num_seasons_in_nba":15}

Lưu ý: Ví dụ trên sử dụng thư viện Pydantic để tạo JSON schema từ class AnswerFormat.

JSON Schema không được hỗ trợ:

  • Recursive JSON schema: Schema JSON đệ quy không được hỗ trợ.
  • Unconstrained objects: Các đối tượng không ràng buộc cũng không được hỗ trợ. Ví dụ: dict[str, Any]

4.2. Regex (Regular Expression)

Regex cho phép bạn định nghĩa định dạng đầu ra mong muốn bằng cách sử dụng biểu thức chính quy (regular expression). Mô hình sẽ cố gắng trả về phản hồi khớp với regex bạn cung cấp.

Lưu ý: Regex hiện chỉ khả dụng cho mô hình sonar.

Cách sử dụng Regex:

Thêm trường response_format vào request của bạn với cấu trúc sau:

"response_format": {
"type": "regex",
"regex": {"regex": str}
}

Trong đó, str là một chuỗi biểu thức chính quy.

Ví dụ 2: Sử dụng regex để định dạng đầu ra

Request Python:

import requests

url = "https://api.perplexity.ai/chat/completions"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
payload = {
"model": "sonar",
"messages": [
{"role": "system", "content": "Hãy trả lời chính xác và ngắn gọn."},
{"role": "user", "content": "Địa chỉ IPv4 của máy chủ OpenDNS DNS là gì?"},
],
"response_format": {
"type": "regex",
"regex": {"regex": r"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"},
},
}
response = requests.post(url, headers=headers, json=payload).json()
print(response["choices"][0]["message"]["content"])

Response Regex:

208.67.222.222

Regex được hỗ trợ:

  • Ký tự: \d, \w, \s , .
  • Lớp ký tự: [0-9A-Fa-f] , [^x]
  • Định lượng: *, ? , +, {3}, {2,4} , {3,}
  • Thay thế: |
  • Nhóm: ( ... )
  • Nhóm không bắt: (?: ... )
  • Lookahead dương: (?= ... )
  • Lookahead âm: (?! ... )

Regex không được hỗ trợ:

  • Nội dung nhóm: \1
  • Neo: ^, $, \b
  • Lookbehind dương: (?<= ... )
  • Lookbehind âm: (?<! ... )
  • Đệ quy: (?R)

Mẹo sử dụng đầu ra có cấu trúc:

  • Cung cấp gợi ý trong prompt: Hướng dẫn mô hình trong System Prompt hoặc User Prompt về định dạng đầu ra mong muốn (ví dụ: "Trả lời dưới dạng JSON object với các trường...", "Trả lời bằng địa chỉ IPv4").
  • Kiểm tra và xử lý lỗi: Mặc dù mô hình cố gắng tuân thủ định dạng, nhưng đôi khi có thể xảy ra lỗi. Hãy kiểm tra đầu ra và xử lý các trường hợp không mong muốn một cách phù hợp.
  • Thử nghiệm và điều chỉnh: Tương tự như Prompt Engineering, hãy thử nghiệm với các schema JSON hoặc regex khác nhau để đạt được định dạng đầu ra tốt nhất cho ứng dụng của bạn.

5. Quản lý hạn mức và bậc sử dụng: Hiểu rõ về Rate Limits và Usage Tiers

Perplexity AI API sử dụng hệ thống bậc sử dụng (Usage Tiers) để quản lý hạn mức yêu cầu (Rate Limits) và cung cấp quyền truy cập vào các tính năng beta. Bậc sử dụng của bạn được xác định bởi tổng số tiền bạn đã mua tín dụng API.

Bảng bậc sử dụng:

BậcMua tín dụng (tổng cộng)Yêu cầu mỗi phút (RPM)Tính năng Beta
Tier 0-50-
Tier 1$50150-
Tier 2$250500Hình ảnh, câu hỏi liên quan
Tier 3$5001000Bộ lọc miền tìm kiếm, đầu ra có cấu trúc

Giải thích:

  • Bậc dựa trên tổng mua: Bậc sử dụng được xác định dựa trên tổng số tiền bạn đã mua tín dụng API cho tài khoản của mình.
  • Tăng bậc, tăng RPM và tính năng: Khi bạn mua nhiều tín dụng hơn và đạt đến bậc cao hơn, bạn sẽ được hưởng hạn mức yêu cầu cao hơn (RPM - Requests Per Minute) và quyền truy cập vào các tính năng beta.
  • Tính năng beta tích lũy: Các tính năng beta được tích lũy khi bạn tiến lên các bậc cao hơn. Ví dụ, ở Tier 2 bạn có quyền truy cập vào "hình ảnh, câu hỏi liên quan", và ở Tier 3 bạn có thêm "bộ lọc miền tìm kiếm, đầu ra có cấu trúc".
  • Kiểm tra bậc sử dụng: Bạn có thể kiểm tra bậc sử dụng hiện tại của mình trên trang API settings page.

Quản lý hạn mức:

  • Theo dõi mức sử dụng: Theo dõi mức sử dụng API của bạn để đảm bảo bạn không vượt quá hạn mức yêu cầu.
  • Tối ưu hóa yêu cầu: Tối ưu hóa ứng dụng của bạn để giảm số lượng yêu cầu API cần thiết (ví dụ: sử dụng bộ nhớ cache, xử lý hàng loạt yêu cầu).
  • Yêu cầu tăng hạn mức: Nếu bạn cần hạn mức yêu cầu cao hơn bậc hiện tại, bạn có thể liên hệ với đội ngũ Perplexity AI để yêu cầu tăng hạn mức (có thể yêu cầu xem xét và phê duyệt).
  • Xử lý lỗi 429 (Too Many Requests): Nếu bạn vượt quá hạn mức yêu cầu, API sẽ trả về lỗi 429. Ứng dụng của bạn cần được thiết kế để xử lý lỗi này một cách thích hợp (ví dụ: tạm dừng và thử lại sau).

6. Tối ưu chi phí sử dụng: Phân tích chi tiết về giá và cách sử dụng hiệu quả

Hiểu rõ về cấu trúc giá của Perplexity AI API là rất quan trọng để quản lý chi phí sử dụng và tối ưu hóa hiệu quả kinh tế.

Cấu trúc giá cho mô hình Sonar Pro:

Thành phầnĐơn vị tínhGiá (mỗi đơn vị)
Token đầu vào (Input)1 triệu token$3
Token đầu ra (Output)1 triệu token$15
Yêu cầu tìm kiếm (Search)1000 yêu cầu tìm kiếm$5

Giải thích chi tiết về giá Sonar Pro:

  • Token đầu vào (Input Tokens):
    • Giá: $3 cho mỗi 1 triệu token đầu vào.
    • Bao gồm:
      • Prompt tokens: Token từ User Prompt và System Prompt.
      • Citation tokens: Token đã xử lý từ kết quả tìm kiếm (thông tin trích dẫn).
  • Yêu cầu tìm kiếm (Search Queries):
    • Giá: $5 cho mỗi 1000 yêu cầu tìm kiếm.
    • Sonar Pro thực hiện nhiều lượt tìm kiếm (multiple searches) trên truy vấn của người dùng để thu thập thông tin đầy đủ và chi tiết hơn.
    • Ví dụ: Một yêu cầu API có thể thực hiện 3 lượt tìm kiếm, chi phí cho bước này là $0.015 (3 lượt tìm kiếm / 1000 lượt tìm kiếm * $5).
  • Token đầu ra (Output Tokens):
    • Giá: $15 cho mỗi 1 triệu token đầu ra.
    • Bao gồm: Token từ văn bản phản hồi (Completion tokens) do mô hình tạo ra.
  • Tổng chi phí: Tổng chi phí cho mỗi yêu cầu API là tổng của chi phí token đầu vào, chi phí tìm kiếm và chi phí token đầu ra.

Cấu trúc giá cho mô hình Sonar:

Thành phầnĐơn vị tínhGiá (mỗi đơn vị)
Token đầu vào (Input)1 triệu token$1
Token đầu ra (Output)1 triệu token$1
Yêu cầu tìm kiếm (Search)1000 yêu cầu tìm kiếm$5

Giải thích chi tiết về giá Sonar:

  • Cấu trúc giá tương tự như Sonar Pro, nhưng giá token đầu vào và đầu ra rẻ hơn đáng kể ($1/triệu token so với $3 và $15 của Sonar Pro).
  • Sonar thực hiện một lượt tìm kiếm (single search) cho mỗi yêu cầu, trong khi Sonar Pro thực hiện nhiều lượt tìm kiếm.

Cấu trúc giá cho mô hình Legacy (sẽ ngừng hoạt động):

Mô hìnhToken đầu vào (mỗi triệu token)Token đầu ra (mỗi triệu token)Giá mỗi 1000 yêu cầu
llama-3.1-sonar-small-128k-online$0.2$0.2$5
llama-3.1-sonar-large-128k-online$1$1$5
llama-3.1-sonar-huge-128k-online$5$5$5

Mẹo tối ưu chi phí:

  • Chọn mô hình phù hợp: Sử dụng sonar cho các câu hỏi đơn giản và sonar-pro cho các câu hỏi phức tạp để tránh lãng phí chi phí khi không cần thiết.
  • Tối ưu hóa prompt: Viết prompt ngắn gọn và hiệu quả để giảm số lượng token đầu vào.
  • Giới hạn max_tokens đầu ra: Đặt giới hạn max_tokens phù hợp để kiểm soát độ dài phản hồi và chi phí token đầu ra.
  • Sử dụng bộ nhớ cache: Lưu trữ kết quả của các yêu cầu API lặp lại để tránh gửi cùng một yêu cầu nhiều lần.
  • Theo dõi mức sử dụng và chi phí: Theo dõi mức sử dụng API và chi phí thường xuyên trên trang API settings page để quản lý ngân sách hiệu quả.

7. PerplexityBot: Tìm hiểu về trình thu thập dữ liệu web của Perplexity và cách tùy chỉnh quyền truy cập

Perplexity AI sử dụng trình thu thập dữ liệu web PerplexityBot để thu thập thông tin từ internet và xây dựng chỉ mục tìm kiếm của mình. Nếu bạn sở hữu một trang web, bạn có thể tùy chỉnh cách PerplexityBot truy cập và thu thập dữ liệu từ trang web của bạn.

Nhận dạng PerplexityBot:

Bạn có thể nhận dạng PerplexityBot bằng user agent sau:

User agent token: PerplexityBot
Full user agent: User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)

Tùy chỉnh quyền truy cập PerplexityBot:

Bạn có thể sử dụng file robots.txt trên trang web của mình để tùy chỉnh quyền truy cập của PerplexityBot, tương tự như cách bạn tùy chỉnh quyền truy cập cho Googlebot hoặc các trình thu thập dữ liệu web khác.

7.1. Chặn PerplexityBot hoàn toàn

Để ngăn PerplexityBot truy cập dữ liệu trang web của bạn, hãy thêm bản ghi sau vào file robots.txt của trang web:

User-Agent: PerplexityBot
Disallow: /

7.2. Tùy chỉnh quy tắc truy cập

Bạn cũng có thể tùy chỉnh quyền truy cập, chỉ chặn PerplexityBot thu thập dữ liệu từ các đường dẫn cụ thể.

Ví dụ: Cho phép truy cập thư mục /public/ và chặn thư mục /private/:

User-Agent: PerplexityBot
Allow: /public/
Disallow: /private/

Lưu ý:

  • File robots.txt phải được đặt ở thư mục gốc của trang web (ví dụ: yourwebsite.com/robots.txt).
  • Các thay đổi trong robots.txt có thể mất một thời gian để có hiệu lực đối với PerplexityBot.

8. Câu hỏi thường gặp (FAQ) và Khắc phục sự cố

Dưới đây là một số câu hỏi thường gặp và cách khắc phục sự cố khi sử dụng Perplexity AI API:

1. Tại sao kết quả từ API khác với UI?

  • Cấu hình tìm kiếm khác nhau: API và UI sử dụng cùng hệ thống tìm kiếm nhưng có thể có cấu hình khác nhau.
  • Mô hình AI khác nhau: Mô hình AI cơ bản có thể khác nhau giữa API và UI cho cùng một truy vấn.
  • Tham số sampling tùy chỉnh: API cho phép người dùng điều chỉnh tham số sampling (ví dụ: presence_penalty, top_p), trong khi UI có thể sử dụng cài đặt mặc định tối ưu hóa. Khuyến nghị: Không nên cung cấp tham số sampling rõ ràng trong yêu cầu API, hãy sử dụng cài đặt mặc định được tối ưu hóa.

2. Dữ liệu người dùng gửi qua API có được sử dụng để đào tạo mô hình không?

  • Không. Perplexity AI không sử dụng dữ liệu API của bạn để đào tạo mô hình. Thông tin của bạn vẫn là của bạn.
  • Dữ liệu thu thập: Perplexity AI thu thập các loại thông tin sau:
    • Dữ liệu sử dụng API: Metadata về mức sử dụng (số lượng yêu cầu, token), được hiển thị trong Perplexity API dashboard.
    • Thông tin tài khoản người dùng: Tên, email, thông tin liên hệ khi bạn tạo tài khoản.

3. API có hỗ trợ duyệt web không?

  • Có. Các Mô hình Sonar sử dụng thông tin từ chỉ mục tìm kiếm của Perplexity và internet công cộng.

4. Hạn chế về số lượng cuộc gọi API là gì?

5. Cách tốt nhất để cập nhật thông tin về các bản cập nhật API là gì?

  • Perplexity AI gửi email cho người dùng về các phát triển mới và đăng thông tin trong [changelog].

6. Làm cách nào để xử lý lỗi 401: Authorization errors?

  • Lỗi 401 cho biết API Key không hợp lệ, đã bị xóa hoặc tài khoản hết tín dụng.
  • Giải pháp:
    • Kiểm tra lại API Key.
    • Đảm bảo tài khoản có đủ tín dụng. Mua thêm tín dụng trong Perplexity API dashboard.
    • Cấu hình "Automatic Top Up" để tránh hết tín dụng.

7. Perplexity AI có hỗ trợ tinh chỉnh mô hình (fine-tuning) không?

  • Hiện tại, không hỗ trợ fine-tuning.

8. Tôi có câu hỏi khác hoặc gặp sự cố.

9. Perplexity AI có cung cấp đảm bảo chất lượng dịch vụ (QoS) như thời gian hoạt động, tần suất lỗi và thời gian khôi phục mục tiêu không?

  • Hiện tại, không có đảm bảo QoS chính thức. Kiểm tra Application Status để biết trạng thái dịch vụ.

9. Luôn cập nhật: Theo dõi các thay đổi và cải tiến mới nhất của API

Perplexity AI liên tục cải tiến và cập nhật API của mình. Để đảm bảo bạn luôn sử dụng phiên bản mới nhất và tận dụng các tính năng mới, hãy theo dõi các kênh thông tin sau:

  • Changelog: Trang [changelog] ghi lại tất cả các thay đổi, cập nhật và thông báo quan trọng về API. Hãy thường xuyên kiểm tra trang này để nắm bắt thông tin mới nhất.
  • Email thông báo: Perplexity AI sẽ gửi email thông báo cho người dùng về các phát triển mới, bản cập nhật mô hình, thay đổi giá, và các thông tin quan trọng khác. Đảm bảo bạn đã đăng ký nhận email thông báo từ Perplexity AI.
  • Diễn đàn thảo luận (Forum): Tham gia discussion forum để thảo luận với cộng đồng người dùng API khác, đặt câu hỏi, chia sẻ kinh nghiệm và nhận thông tin từ đội ngũ Perplexity AI.
  • Trạng thái ứng dụng (Application Status): Kiểm tra Application Status để theo dõi trạng thái dịch vụ API, thông báo về sự cố hoặc bảo trì (nếu có).

Các thay đổi và thông báo quan trọng gần đây (dựa trên Changelog):

  • Ngừng hoạt động của mô hình Legacy: Các mô hình llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-huge-128k-online sẽ ngừng hoạt động vào tháng 1 năm 2025 (thông báo tháng 1 năm 2025).
  • Mô hình Sonar và Sonar Pro mới: Ra mắt các mô hình SonarSonar Pro hiệu quả hơn và tiết kiệm chi phí hơn (tháng 1 năm 2025).
  • Trích dẫn nguồn công khai: Tính năng trích dẫn nguồn (citations) được phát hành công khai và bật mặc định cho tất cả người dùng API (tháng 11 năm 2024).
  • Tăng hạn mức mặc định: Tăng hạn mức yêu cầu mặc định cho các mô hình sonar online lên 50 yêu cầu/phút (tháng 11 năm 2024).
  • Mô hình Sonar mới và cải tiến: Ra mắt các mô hình llama-3.1-sonar-small-128k-online, llama-3.1-sonar-large-128k-online, llama-3.1-sonar-small-128k-chat, llama-3.1-sonar-large-128k-chat (tháng 7 năm 2024).
  • Ngừng hoạt động của nhiều mô hình cũ: Thông báo ngừng hoạt động của nhiều mô hình vào tháng 8 năm 2024 và tháng 5 năm 2024.
  • Giá token đầu ra rẻ hơn: Giá token đầu ra được giảm xuống bằng giá token đầu vào (tháng 2 năm 2024).
  • Mô hình mới sonar-small-chatsonar-medium-chat: Ra mắt các mô hình mới và các phiên bản search-enhanced sonar-small-onlinesonar-medium-online (tháng 2 năm 2024).
  • Mở rộng cửa sổ ngữ cảnh: Độ dài cửa sổ ngữ cảnh được tăng gấp đôi cho một số mô hình (tháng 2 năm 2024).
  • Tăng hạn mức công khai: Tăng hạn mức yêu cầu công khai cho tất cả các mô hình (tháng 2 năm 2024).
  • Truy cập trích dẫn và tăng hạn mức: Cung cấp quyền truy cập trích dẫn URL cho người dùng được phê duyệt và cho phép yêu cầu tăng hạn mức (tháng 2 năm 2024).
  • Mô hình mới mixtral-8x7b-instruct: Ra mắt mô hình mixtral-8x7b-instruct (tháng 1 năm 2024).
  • Mô hình Online LLMs và GA: Ra mắt mô hình pplx-7b-onlinepplx-70b-online tích hợp tìm kiếm và thông báo API chính thức đã sẵn sàng (General Availability) (tháng 12 năm 2023).

10. Kết luận: Tổng kết và các bước tiếp theo

Chúc mừng bạn đã hoàn thành hướng dẫn toàn diện về Perplexity AI API! Bây giờ bạn đã có kiến thức và công cụ cần thiết để bắt đầu tích hợp sức mạnh của Perplexity AI vào ứng dụng của mình.

Tóm tắt các điểm chính:

  • Mô hình SonarSonar Pro: Lựa chọn mô hình phù hợp với nhu cầu của bạn: sonar cho tốc độ và hiệu quả chi phí, sonar-pro cho độ chính xác và chiều sâu thông tin.
  • Prompt Engineering: Làm chủ System Prompt và User Prompt để điều khiển hành vi của mô hình và nhận được kết quả tốt nhất.
  • Đầu ra có cấu trúc: Sử dụng JSON Schema và Regex để định dạng dữ liệu đầu ra và dễ dàng tích hợp vào ứng dụng.
  • Quản lý hạn mức và chi phí: Hiểu rõ về bậc sử dụng, hạn mức yêu cầu và cấu trúc giá để sử dụng API hiệu quả và tiết kiệm.
  • Luôn cập nhật: Theo dõi changelog, email thông báo và diễn đàn thảo luận để nắm bắt thông tin mới nhất về API.

Các bước tiếp theo:

  • Thử nghiệm và xây dựng: Bắt đầu xây dựng ứng dụng của bạn bằng cách sử dụng Perplexity AI API. Thử nghiệm với các mô hình, prompt và tính năng khác nhau để khám phá tiềm năng của API.
  • Tham gia cộng đồng: Tham gia diễn đàn thảo luận để kết nối với cộng đồng người dùng Perplexity AI API, chia sẻ kinh nghiệm và học hỏi từ người khác.
  • Phản hồi và cải tiến: Nếu bạn có bất kỳ phản hồi hoặc đề xuất cải tiến nào, hãy liên hệ với đội ngũ Perplexity AI. Sự đóng góp của bạn sẽ giúp API ngày càng hoàn thiện hơn.

Perplexity AI API là một công cụ mạnh mẽ để tích hợp khả năng tìm kiếm và trả lời thông minh vào ứng dụng của bạn. Với hướng dẫn này, bạn đã sẵn sàng khai phá tiềm năng của nó và tạo ra những trải nghiệm người dùng tuyệt vời.

Chúc bạn thành công!