난해함 Tool
그만큼@mastra/perplexity패키지는혼란 검색 APIMastra 호환 Tool로 사용됩니다. 다음으로 생성된 Tool을 반환하는 팩토리 함수를 노출합니다.createTool()그리고 전체 Zod 입력/출력 스키마.
Perplexity 기반 채팅 완성 또는 Agent Workflow에는 Mastra에 내장된 Perplexity Model Provider 또는 Perplexity Agent Provider를 사용하세요. 이들은 이 검색 Tool과 별개입니다.
설치설치에 대한 직접 링크
Zod와 함께 패키지를 설치합니다.
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/perplexity zod
pnpm add @mastra/perplexity zod
yarn add @mastra/perplexity zod
bun add @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_KEY | Perplexity API 키입니다. 팩터리 함수에 apiKey를 전달하지 않았을 때 기본값으로 사용됩니다. |
PPLX_API_KEY | PERPLEXITY_API_KEY가 설정되지 않았을 때 사용하는 대체 값입니다. |