Aller au contenu principal

Tools Perplexity

Le package @mastra/perplexity encapsule l’API Perplexity Search sous forme de Tool compatible avec Mastra. Il expose une fonction de fabrique qui renvoie un Tool créé avec createTool() et doté de schémas Zod complets pour les entrées et les sorties.

Pour les complétions de chat ou les Workflows agentiques propulsés par Perplexity, utilisez le Provider de modèles Perplexity ou le Provider Perplexity Agent intégrés à Mastra. Ils sont distincts de ce Tool Search.

Installation
Lien direct vers Installation

Installez le package avec Zod :

npm install @mastra/perplexity zod

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

L’exemple suivant crée le Tool de recherche avec la configuration par défaut. Par défaut, le Tool lit PERPLEXITY_API_KEY dans l’environnement, avec PPLX_API_KEY comme solution de remplacement. Transmettez explicitement { apiKey } pour remplacer cette valeur.

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

const searchTool = createPerplexitySearchTool()

Pour transmettre explicitement une clé d’API :

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

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

Configuration
Lien direct vers Configuration

Toutes les fonctions de fabrique acceptent un objet PerplexityClientOptions :

apiKey?:

string
Clé d’API Perplexity. Utilise par défaut les variables d’environnement PERPLEXITY_API_KEY, puis PPLX_API_KEY.

baseUrl?:

string
= 'https://api.perplexity.ai'
Remplace l’URL de base de l’API.

fetch?:

typeof fetch
Implémentation personnalisée de fetch. Utile pour les tests, les nouvelles tentatives ou l’instrumentation.

Méthodes
Lien direct vers Méthodes

Fonctions de fabrique
Lien direct vers Fonctions de fabrique

createPerplexityTools(config?)
Lien direct vers createperplexitytoolsconfig

Renvoie un objet contenant tous les Tools Perplexity qui partagent la configuration fournie.

import { createPerplexityTools } from '@mastra/perplexity'

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

Renvoie : { perplexitySearch }

createPerplexitySearchTool(config?)
Lien direct vers createperplexitysearchtoolconfig

Crée un Tool qui effectue des recherches sur le Web au moyen de l’API Perplexity Search. Renvoie des résultats classés comprenant des titres, des URL, des extraits et, éventuellement, des dates de publication.

Le Tool est enregistré avec l’ID perplexity-search.

import { createPerplexitySearchTool } from '@mastra/perplexity'

const searchTool = createPerplexitySearchTool()
Entrée
Lien direct vers Entrée

query:

string
Requête de recherche.

maxResults?:

number
Nombre maximal de résultats à renvoyer (1 à 20).

searchDomainFilter?:

string[]
Limite ou exclut les résultats selon le domaine. Préfixez un domaine avec - pour l’exclure (par exemple, -pinterest.com). Ne mélangez pas les entrées de liste d’autorisation et de liste d’exclusion dans un même appel.

searchRecencyFilter?:

'hour' | 'day' | 'week' | 'month' | 'year'
Renvoie uniquement les résultats compris dans l’intervalle de récence indiqué.

searchAfterDateFilter?:

string
Renvoie uniquement les résultats publiés à cette date ou après celle-ci. Format : m/d/yyyy.

searchBeforeDateFilter?:

string
Renvoie uniquement les résultats publiés à cette date ou avant celle-ci. Format : m/d/yyyy.
Sortie
Lien direct vers Sortie

query:

string
Requête de recherche d’origine.

results:

SearchResult[]
Tableau des résultats de recherche.
SearchResult

title:

string
Titre du résultat.

url:

string
URL du résultat.

snippet:

string
Extrait du contenu.

date?:

string
Date de publication lorsqu’elle est disponible.

Exemple d’Agent
Lien direct vers Exemple d’Agent

L’exemple suivant enregistre le Tool de recherche auprès d’un Agent afin qu’il puisse récupérer des résultats Web récents avant de répondre.

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(),
},
})

Variables d’environnement
Lien direct vers Variables d’environnement

VariableDescription
PERPLEXITY_API_KEYVotre clé d’API Perplexity. Utilisée par défaut lorsque apiKey n’est pas transmis à une fonction de fabrique.
PPLX_API_KEYSolution de remplacement utilisée lorsque PERPLEXITY_API_KEY n’est pas défini.