본문으로 건너뛰기

난해함 Tool

그만큼@mastra/perplexity패키지는혼란 검색 APIMastra 호환 Tool로 사용됩니다. 다음으로 생성된 Tool을 반환하는 팩토리 함수를 노출합니다.createTool()그리고 전체 Zod 입력/출력 스키마.

Perplexity 기반 채팅 완성 또는 Agent Workflow에는 Mastra에 내장된 Perplexity Model Provider 또는 Perplexity Agent Provider를 사용하세요. 이들은 이 검색 Tool과 별개입니다.

설치
설치에 대한 직접 링크

Zod와 함께 패키지를 설치합니다.

npm install @mastra/perplexity zod

사용예
사용예에 대한 직접 링크

다음 예에서는 기본 구성으로 검색 Tool을 생성합니다. 기본적으로 Tool은 환경에서 PERPLEXITY_API_KEY를 읽고, 이 값이 없으면 PPLX_API_KEY를 사용합니다. 재정의하려면 { apiKey }를 명시적으로 전달하세요.

src/mastra/tools/index.ts
import { createPerplexitySearchTool } from '@mastra/perplexity'

const searchTool = createPerplexitySearchTool()

API 키를 명시적으로 전달하려면 다음 안내를 따르세요.

src/mastra/tools/index.ts
import { createPerplexitySearchTool } from '@mastra/perplexity'

const searchTool = createPerplexitySearchTool({ apiKey: 'pplx-...' })

구성
구성에 대한 직접 링크

모든 공장 ​​기능은PerplexityClientOptions object:

apiKey?:

string
Perplexity API 키입니다. PERPLEXITY_API_KEY, 그다음 PPLX_API_KEY 환경 변수 순으로 대체합니다.

baseUrl?:

string
= 'https://api.perplexity.ai'
API 기본 URL을 재정의합니다.

fetch?:

typeof fetch
사용자 정의 fetch 구현입니다. 테스트, 재시도 또는 계측에 유용합니다.

행동 양식
행동 양식에 대한 직접 링크

공장 기능
공장 기능에 대한 직접 링크

createPerplexityTools(config?)
createperplexitytoolsconfig에 대한 직접 링크

제공된 구성을 공유하는 모든 Perplexity Tool이 포함된 개체를 반환합니다.

import { createPerplexityTools } from '@mastra/perplexity'

const tools = createPerplexityTools({ apiKey: 'pplx-...' })
// tools.perplexitySearch

보고:{ perplexitySearch }

createPerplexitySearchTool(config?)
createperplexitysearchtoolconfig에 대한 직접 링크

Perplexity Search API를 사용하여 웹을 검색하는 Tool을 만듭니다. 제목, URL, 스니펫 및 선택적 게시 날짜와 함께 순위가 매겨진 결과를 반환합니다.

Tool은 ID로 등록됩니다perplexity-search.

import { createPerplexitySearchTool } from '@mastra/perplexity'

const searchTool = createPerplexitySearchTool()
입력
입력에 대한 직접 링크

query:

string
검색 쿼리입니다.

maxResults?:

number
반환할 최대 결과 수입니다(1~20).

searchDomainFilter?:

string[]
도메인별로 결과를 제한하거나 제외합니다. 제외하려면 도메인 앞에 -를 붙이세요(예: -pinterest.com). 같은 호출에 허용 목록과 차단 목록 항목을 함께 사용하지 마세요.

searchRecencyFilter?:

'hour' | 'day' | 'week' | 'month' | 'year'
지정된 최신성 기간 내의 결과만 반환합니다.

searchAfterDateFilter?:

string
이 날짜 이후 또는 당일에 게시된 결과만 반환합니다. 형식: m/d/yyyy.

searchBeforeDateFilter?:

string
이 날짜 이전 또는 당일에 게시된 결과만 반환합니다. 형식: m/d/yyyy.
산출
산출에 대한 직접 링크

query:

string
원래 검색 쿼리입니다.

results:

SearchResult[]
검색 결과 배열입니다.
SearchResult

title:

string
Result title.

url:

string
Result URL.

snippet:

string
Content snippet.

date?:

string
Publication date when available.

Agent 예시
Agent 예시에 대한 직접 링크

다음 예에서는 응답하기 전에 새로운 웹 결과를 가져올 수 있도록 Agent에 검색 Tool을 등록합니다.

src/mastra/agents/index.ts
import { Agent } from '@mastra/core/agent'
import { createPerplexitySearchTool } from '@mastra/perplexity'

const agent = new Agent({
id: 'research-agent',
name: 'Research Agent',
model: 'anthropic/claude-sonnet-4-6',
instructions:
'You are a research assistant. Use the perplexity-search tool to find up-to-date information from the web before answering.',
tools: {
search: createPerplexitySearchTool(),
},
})

환경변수
환경변수에 대한 직접 링크

변수설명
PERPLEXITY_API_KEYPerplexity API 키입니다. 팩터리 함수에 apiKey를 전달하지 않았을 때 기본값으로 사용됩니다.
PPLX_API_KEYPERPLEXITY_API_KEY가 설정되지 않았을 때 사용하는 대체 값입니다.