Apidog

올인원 협업 API 개발 플랫폼

API 설계

API 문서

API 디버깅

API 모킹

API 자동화 테스트

Perplexity AI API를 Pro 계정으로 사용하거나 사용하지 않는 방법

Young-jae

Young-jae

Updated on April 17, 2025

Perplexity AI는 대화형 AI 기능으로 상당한 인기를 얻고 있으며, 특히 실시간 웹 검색을 통합하여 최신 정보를 제공하고 출처를 명시한 답변을 제공하는 강점이 있습니다. 이러한 강력한 모델을 자신의 애플리케이션에서 활용하고자 하는 개발자와 기업을 위해 Perplexity는 애플리케이션 프로그래밍 인터페이스(API)를 제공합니다.

Perplexity AI API는 Perplexity의 대규모 언어 모델(LLM)에 프로그래밍적으로 접근할 수 있게 해줍니다. 여기에는 웹을 탐색하여 쿼리에 답변할 수 있는 온라인 모델(sonar-small-onlinesonar-medium-online)과 오프라인 채팅 모델(sonar-small-chatsonar-medium-chat)이 포함됩니다.

이 튜토리얼에서는 Perplexity AI API 생태계와 상호작용하는 두 가지 주요 경로를 탐색합니다:

  1. 공식 Perplexity API 키를 사용한 직접 액세스: 이는 Perplexity에서 제공하는 표준 방법입니다. 매우 제한적인 무료 체험이나 소개 크레딧이 있을 수 있지만, 지속적이거나 대량으로 사용하는 경우 일반적으로 충분한 크레딧을 가진 API 키를 얻고 활용하기 위해 Perplexity Pro 구독이나 특정 기업 계약이 필요합니다.
  2. 제3자 서비스(OpenRouter)를 통한 간접 액세스: OpenRouter와 같은 플랫폼은 집계기 역할을 하여 Perplexity의 모델을 포함한 다양한 LLM에 대한 접근을 제공하는 자체 API 인프라를 통해 이를 가능하게 합니다. 별도의 직접적인 Perplexity Pro 구독이 필요하지 않을 수 있지만, 여전히 제3자 제공업체를 통해 비용이 발생합니다.

또한 Groq라는 또 다른 인기 있는 추론 플랫폼과 Perplexity의 독점 모델과의 관계(혹은 관계 부족)에 대한 상황을 명확히 하겠습니다.


Pro 계정을 사용한 공식 Perplexity AI API 액세스

이 섹션에서는 Perplexity에서 직접 제공하는 공식 API를 사용하는 방법에 대해 설명합니다. 이 방법은 일반적으로 가장 직접적인 접근을 제공하며 최신 기능이나 모델을 제공할 수 있지만, 일반적으로 초기 탐색을 넘어서는 의미 있는 사용을 위해 유료 Perplexity 구독(Pro)이 필요합니다.

전제 조건:

  • Perplexity 계정.
  • 퍼플렉시 프로 구독(일반적으로 상당한 API 접근 및 키 생성을 위해 필요).
  • REST API와 HTTP 요청-making에 대한 기본 이해(예: curl과 같은 도구 또는 Python과 같은 프로그래밍 언어 사용).

1단계: 공식 Perplexity AI API 키 받기

  1. Perplexity에 로그인: Perplexity 웹사이트(perplexity.ai)에 가서 계정에 로그인합니다. API 키 생성/사용을 위해 필요한 경우 Pro로 업그레이드 되었는지 확인합니다.
  2. 결제 방법 설정: Perplexity 대시보드에서 계정 설정, 프로필 옵션 또는 전용 'API' 섹션을 찾습니다. 정확한 위치는 변경될 수 있지만 일반적으로 계정 관리 영역 아래에 있습니다.

3. API 키 생성: API 설정 내에서 새 API 키를 생성할 수 있는 옵션을 찾을 수 있습니다. 이 버튼을 클릭합니다.

4. 키 복사 및 안전하게 보관: Perplexity가 고유한 영숫자 문자열을 생성합니다. 이것이 당신의 API 키입니다. 이 키를 비밀번호처럼 취급하십시오. 공개적으로 공유하지 말고 코드 저장소에 직접 커밋하지 마십시오. 환경 변수나 비밀 관리 시스템을 사용하여 안전하게 보관하십시오.

2단계: Perplexity AI API 엔드포인트 이해하기

Perplexity의 채팅 모델과 상호작용하는 주요 엔드포인트는 다음과 같습니다:

https://api.perplexity.ai/chat/completions

이 엔드포인트는 OpenAI의 API와 유사한 구조를 갖추고 있어, 다른 LLM API를 사용해 본 개발자들에게 상대적으로 익숙합니다.

3단계: Perplexity AI API 모델 선택하기

Perplexity는 API를 통해 여러 모델을 제공합니다. API 요청에서 사용할 모델을 지정해야 합니다. 일반적인 모델에는 다음이 포함됩니다:

온라인 모델(웹 검색 포함):

  • sonar-small-online
  • sonar-medium-online
  • (이전의 pplx-7b-online, pplx-70b-online - 현재 문서를 확인하여 사용 가능한 모델 확인)

채팅 모델(웹 검색 없음):

  • sonar-small-chat
  • sonar-medium-chat
  • (이전의 pplx-7b-chat, pplx-70b-chat - 현재 문서를 확인)
  • 기타 전문화된 또는 이전 모델도 사용 가능할 수 있습니다. 모델과 그 기능에 대한 최신 목록은 항상 공식 Perplexity API 문서를 참조하십시오.

4단계: 첫 번째 Perplexity AI API 요청하기

여러 가지 도구나 프로그래밍 언어를 사용해 API와 상호작용할 수 있습니다. 다음은 curl(명령줄 도구)와 Python(requests 라이브러리)을 사용하는 예입니다.

curl 사용하기:

curl -X POST <https://api.perplexity.ai/chat/completions> \\\\
     -H "Authorization: Bearer YOUR_PERPLEXITY_API_KEY" \\\\
     -H "Content-Type: application/json" \\\\
     -d '{
       "model": "sonar-medium-online",
       "messages": [
         {
           "role": "system",
           "content": "정확하고 간결하게 대답하세요."
         },
         {
           "role": "user",
           "content": "Perplexity AI API를 사용함으로써 얻게 되는 주요 이점은 무엇인가요?"
         }
       ],
       "max_tokens": 500,
       "temperature": 0.7
     }'

설명:

  • curl -X POST ...: 지정된 엔드포인트로 HTTP POST 요청을 만듭니다.
  • H "Authorization: Bearer YOUR_PERPLEXITY_API_KEY": 이 헤더는 인증 자격 증명을 제공합니다. YOUR_PERPLEXITY_API_KEY를 생성한 키로 바꿉니다.
  • H "Content-Type: application/json": 요청 본문이 JSON 형식임을 서버에 알립니다.
  • d '{...}': 전송되는 JSON 페이로드(데이터)를 명시합니다.
  • "model": 사용할 특정 Perplexity 모델(예: sonar-medium-online)입니다.
  • "messages": 대화 기록을 정의하는 메시지 객체의 리스트입니다.
  • "role": "system" (AI의 행동을 설정), "user" (사용자 입력) 또는 "assistant" (이전 AI 응답)의 역할일 수 있습니다.
  • "content": 메시지의 텍스트입니다.
  • "max_tokens" (선택적): 응답에서 생성할 최대 토큰 수입니다.
  • "temperature" (선택적): 무작위성을 제어합니다 (0 = 결정론적, 높을수록 더 창의적/무작위적입니다).

Python(requests 라이브러리) 사용하기:

우선, requests 라이브러리를 설치했는지 확인합니다: pip install requests

import requests
import json
import os

# API 키를 안전하게 로드합니다(예: 환경 변수에서)
api_key = os.environ.get("PERPLEXITY_API_KEY")
# 또는 주석을 제거하고 직접 대체합니다(프로덕션에는 덜 안전함):
# api_key = "YOUR_PERPLEXITY_API_KEY"

if not api_key:
    print("오류: PERPLEXITY_API_KEY 환경 변수가 설정되지 않았습니다.")
else:
    url = "<https://api.perplexity.ai/chat/completions>"

    payload = {
        "model": "sonar-medium-online",
        "messages": [
            {
                "role": "system",
                "content": "상세한 설명을 제공하고 출처를 인용하세요."
            },
            {
                "role": "user",
                "content": "Retrieval-Augmented Generation (RAG) 개념을 설명하세요."
            }
        ],
        "max_tokens": 800,
        "temperature": 0.5,
        # 필요에 따라 'frequency_penalty', 'presence_penalty'와 같은 다른 매개변수를 추가합니다.
    }

    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    try:
        response = requests.post(url, headers=headers, json=payload)
        response.raise_for_status() # 잘못된 상태 코드(4xx 또는 5xx)에 대해 예외 발생

        response_data = response.json()
        print(json.dumps(response_data, indent=2))

        # 어시스턴트의 응답 추출
        if response_data.get("choices"):
             assistant_message = response_data["choices"][0]["message"]["content"]
             print("\\\\n어시스턴트의 응답:\\\\n", assistant_message)

    except requests.exceptions.RequestException as e:
        print(f"오류 발생: {e}")
        if e.response is not None:
            print("오류 세부정보:", e.response.text)

5단계: APIdog로 Perplexity AI API 키 테스트하기

API 키를 애플리케이션에 통합하기 전에 올바르게 작동하는지 테스트하는 것이 현명합니다. APIdog는 API를 테스트하기 위한 사용자 친화적인 도구입니다. Perplexity 키를 테스트하는 방법은 다음과 같습니다:

APIdog 다운로드 및 열기: APIdog 애플리케이션을 실행하거나 웹 버전을 사용합니다.

button

새 요청 만들기: "+" 버튼이나 유사한 옵션을 클릭하여 새 API 요청을 만듭니다.

메서드를 POST로 설정: HTTP 메서드 드롭다운을 POST로 변경합니다.

엔드포인트 URL 입력: URL 입력란에 Perplexity 채팅 완성 엔드포인트를 붙여넣습니다: https://api.perplexity.ai/chat/completions

인증 구성:

  • URL 바 아래의 'Authorization' 탭으로 이동합니다.
  • 유형 드롭다운에서 'Bearer Token'을 선택합니다.
  • 'Token' 필드에 1단계에서 얻은 Perplexity AI API 키를 붙여넣습니다.

Content-Type 헤더 설정:

  • 'Headers' 탭으로 이동합니다.
  • 새 헤더를 추가합니다. 키를 Content-Type로 설정하고 값을 application/json으로 설정합니다.

요청 본문 구성:

  • 'Body' 탭으로 이동합니다.
  • 'raw' 옵션을 선택하고 그 옆의 드롭다운에서 'JSON'을 선택합니다.
  • 다음 JSON 구조를 텍스트 영역에 붙여넣고 "sonar-medium-online"을 테스트하고자 하는 모델로 대체하며 필요에 따라 "content"를 조정합니다:
{
  "model": "sonar-medium-online",
  "messages": [
    {
      "role": "system",
      "content": "정확하고 사실 기반으로 답하여 주십시오."
    },
    {
      "role": "user",
      "content": "화성에는 몇 개의 위성이 있나요?"
    }
  ]
}

요청 보내기: 'Send' 버튼을 클릭합니다.

응답 확인: APIdog는 Perplexity API에서의 응답을 표시합니다. 200 OK 상태 코드와 choices[0].message.content 필드에 AI의 답변이 포함된 JSON 응답을 찾으십시오. 오류(예: 401 Unauthorized 또는 403 Forbidden)가 발생하면 인증 탭에 API 키가 올바르게 붙여넣어졌는지 확인하고 Perplexity 계정/키가 필요한 권한 및 크레딧을 보유하고 있는지 다시 확인하십시오.

💡
아름다운 API 문서를 생성하는 훌륭한 API 테스트 도구가 필요하신가요?

개발팀이 최대 생산성으로 함께 작업할 수 있는 통합되고 올인원 플랫폼이 필요하신가요?

APIdog는 모든 요구 사항을 충족시키며 훨씬 더 저렴한 가격으로 Postman을 대체합니다!
button

OpenRouter를 사용하여 직접 Pro 계정 없이 Perplexity AI API 모델 사용하기

Perplexity Pro 구독이 없거나 다른 청구/액세스 모델을 선호하는 경우, 제3자 API 제공업체를 통해 Perplexity 모델을 사용할 수 있습니다. OpenRouter는 인기 있는 예입니다.

OpenRouter는 Perplexity를 포함한 다양한 제공업체의 다양한 LLM에 접근하기 위한 통합 API 엔드포인트를 제공합니다. 사용량에 따라 OpenRouter에 비용을 지불하며, 그들이 각 모델 제공업체에 대한 백엔드 호출을 처리합니다.

여기에서 사용 가능한 Perplexity AI API를 확인할 수 있습니다:

전제 조건:

  • OpenRouter 계정(openrouter.ai).
  • OpenRouter 계정에 자금 추가 또는 청구 설정.
  • REST API에 대한 기본 이해.

1단계: OpenRouter API 키 받기

  1. 가입/로그인: openrouter.ai에 가서 계정을 만들거나 로그인합니다.
  2. 키로 이동: 계정 설정에서 '키' 또는 'API 키' 섹션을 찾습니다.
  3. 키 생성: 새 API 키를 생성합니다.
  4. 복사 및 안전하게 보관: 생성된 키를 복사하고 공식 Perplexity 키와 마찬가지로 안전하게 보관합니다.

2단계: OpenRouter에서 Perplexity AI API 모델 식별하기

OpenRouter는 자체 명명 규칙을 사용하며 일반적으로 제공업체 이름에 접두사를 붙입니다. OpenRouter에서의 Perplexity 모델은 다음과 같습니다:

  • perplexity/sonar-small-chat
  • perplexity/sonar-small-online
  • perplexity/sonar-medium-chat
  • perplexity/sonar-medium-online
  • (현재 목록 및 정확한 이름을 위해 OpenRouter의 /models 페이지를 확인하십시오)

3단계: OpenRouter 엔드포인트를 통한 Perplexity AI API 모델 요청하기

OpenRouter는 OpenAI와 호환되는 API 엔드포인트를 사용합니다:

https://openrouter.ai/api/v1/chat/completions

API 요청은 공식 Perplexity API 또는 OpenAI API와 유사하게 구조화되지만 OpenRouter 키와 OpenRouter 모델 이름을 사용합니다.

curl 사용하기:

curl -X POST <https://openrouter.ai/api/v1/chat/completions> \\\\
  -H "Authorization: Bearer YOUR_OPENROUTER_API_KEY" \\\\
  -H "Content-Type: application/json" \\\\
  -H "HTTP-Referer: YOUR_SITE_URL" \\\\ # 선택 사항이지만 OpenRouter에서 권장
  -H "X-Title: YOUR_APP_NAME" \\\\      # 선택 사항이지만 OpenRouter에서 권장
  -d '{
    "model": "perplexity/sonar-medium-online",
    "messages": [
      {"role": "user", "content": "OpenRouter는 Perplexity AI API 모델에 어떻게 접근을 제공합니까?"}
    ]
  }'

참고: OpenRouter는 응용 프로그램을 식별하기 위해 HTTP-RefererX-Title 헤더를 추가하는 것을 권장합니다. YOUR_OPENROUTER_API_KEY, YOUR_SITE_URL, YOUR_APP_NAME를 적절하게 바꾸십시오.

4단계: Perplexity AI API 모델에 대한 OpenRouter 응답 처리하기

OpenRouter의 응답 구조는 일반적으로 OpenAI/Perplexity 표준과 동일하며, choices, message, content, usage 필드를 포함합니다. 주요 차이점은 사용한 특정 Perplexity 모델에 대한 OpenRouter의 요금으로 비용이 계산된다는 것입니다.

OpenRouter 사용의 이점:

  • 직접 Perplexity Pro 구독 없이 Perplexity 모델에 접근할 수 있습니다.
  • 다양한 제공업체의 여러 LLM에 대해 통합된 청구를 제공합니다.
  • 여러 모델에 대해 단일 API 키와 엔드포인트를 사용합니다.

고려 사항:

  • 가격이 Perplexity의 직접 API 비용과 다를 수 있습니다.
  • 추가 홉으로 인해 약간의 지연이 발생할 가능성이 있습니다.
  • OpenRouter 플랫폼의 가용성과 Perplexity와의 통합에 따라 달라집니다.

결론

이 튜토리얼에서는 다양한 API 방법을 통해 Perplexity AI의 강력한 모델에 접근하는 방법에 대한 자세한 가이드를 제공합니다. 항상 Perplexity, OpenRouter의 공식 문서를 참조하여 최신 모델 이름, 엔드포인트, 가격 및 기능을 확인하십시오. API 키를 안전하게 보관하고 프로젝트 요구 사항과 예산에 가장 적합한 접근 방법을 선택하십시오.