> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Tools Perplexity Le package `@mastra/perplexity` encapsule l’[API Perplexity Search](https://docs.perplexity.ai/docs/search/quickstart) sous forme de Tool compatible avec Mastra. Il expose une fonction de fabrique qui renvoie un Tool créé avec [`createTool()`](https://mastra.zisheng.pro/fr/reference/tools/create-tool) 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](https://mastra.zisheng.pro/fr/models/providers/perplexity) ou le [Provider Perplexity Agent](https://mastra.zisheng.pro/fr/models/providers/perplexity-agent) intégrés à Mastra. Ils sont distincts de ce Tool Search. ## Installation Installez le package avec Zod : **npm**: ```sh npm install @mastra/perplexity zod ``` **pnpm**: ```sh pnpm add @mastra/perplexity zod ``` **Yarn**: ```sh yarn add @mastra/perplexity zod ``` **Bun**: ```sh bun add @mastra/perplexity zod ``` ## 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. ```typescript import { createPerplexitySearchTool } from '@mastra/perplexity' const searchTool = createPerplexitySearchTool() ``` Pour transmettre explicitement une clé d’API : ```typescript import { createPerplexitySearchTool } from '@mastra/perplexity' const searchTool = createPerplexitySearchTool({ apiKey: 'pplx-...' }) ``` ## 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`): Remplace l’URL de base de l’API. (Default: `'https://api.perplexity.ai'`) **fetch** (`typeof fetch`): Implémentation personnalisée de fetch. Utile pour les tests, les nouvelles tentatives ou l’instrumentation. ## Méthodes ### Fonctions de fabrique #### `createPerplexityTools(config?)` Renvoie un objet contenant tous les Tools Perplexity qui partagent la configuration fournie. ```typescript import { createPerplexityTools } from '@mastra/perplexity' const tools = createPerplexityTools({ apiKey: 'pplx-...' }) // tools.perplexitySearch ``` Renvoie : `{ perplexitySearch }` #### `createPerplexitySearchTool(config?)` 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`. ```typescript import { createPerplexitySearchTool } from '@mastra/perplexity' const searchTool = createPerplexitySearchTool() ``` ##### 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 **query** (`string`): Requête de recherche d’origine. **results** (`SearchResult[]`): Tableau des résultats de recherche. **results.title** (`string`): Titre du résultat. **results.url** (`string`): URL du résultat. **results.snippet** (`string`): Extrait du contenu. **results.date** (`string`): Date de publication lorsqu’elle est disponible. ## 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. ```typescript 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 | Variable | Description | | -------------------- | --------------------------------------------------------------------------------------------------------------- | | `PERPLEXITY_API_KEY` | Votre clé d’API Perplexity. Utilisée par défaut lorsque `apiKey` n’est pas transmis à une fonction de fabrique. | | `PPLX_API_KEY` | Solution de remplacement utilisée lorsque `PERPLEXITY_API_KEY` n’est pas défini. | ## Voir aussi - [`createTool()`](https://mastra.zisheng.pro/fr/reference/tools/create-tool) - [Démarrage rapide avec Perplexity Search](https://docs.perplexity.ai/docs/search/quickstart) - [Démarrage rapide avec Perplexity Agent](https://docs.perplexity.ai/docs/agent/quickstart) - [Provider de modèles Perplexity](https://mastra.zisheng.pro/fr/models/providers/perplexity) - [Provider Perplexity Agent](https://mastra.zisheng.pro/fr/models/providers/perplexity-agent)