perplexity-search

Par mkurman · zorai

Effectuez des recherches web alimentées par l'IA avec des informations en temps réel en utilisant les modèles Perplexity via LiteLLM et OpenRouter. Cette skill doit être utilisée pour effectuer des recherches web sur des informations actuelles, trouver de la littérature scientifique récente, obtenir des réponses fiables avec des citations de sources, ou accéder à des informations au-delà de la date de coupure du modèle. Fournit l'accès à plusieurs modèles Perplexity dont Sonar Pro, Sonar Pro Search (recherche agentique avancée) et Sonar Reasoning Pro via une seule clé API OpenRouter.

npx skills add https://github.com/mkurman/zorai --skill perplexity-search

Recherche Perplexity

Aperçu

Effectuez des recherches web alimentées par l'IA en utilisant les modèles Perplexity via LiteLLM et OpenRouter. Perplexity fournit des réponses en temps réel ancrées dans le web avec des citations de sources, ce qui en fait un outil idéal pour trouver des informations actuelles, la littérature scientifique récente et des faits au-delà de la date limite de formation du modèle.

Cette compétence fournit un accès à tous les modèles Perplexity via OpenRouter, ne nécessitant qu'une seule clé API (aucun compte Perplexity séparé nécessaire).

Quand utiliser cette compétence

Utilisez cette compétence pour :

  • Rechercher des informations actuelles ou des développements récents (2024 et au-delà)
  • Trouver les dernières publications scientifiques et recherches
  • Obtenir des réponses en temps réel ancrées dans des sources web
  • Vérifier les faits avec des citations de sources
  • Effectuer des recherches bibliographiques dans plusieurs domaines
  • Accéder à des informations au-delà de la date limite de connaissances du modèle
  • Effectuer des recherches spécifiques à un domaine (biomédicale, technique, clinique)
  • Comparer les approches ou technologies actuelles

Ne pas utiliser pour :

  • Les calculs simples ou les problèmes logiques (à faire directement)
  • Les tâches nécessitant l'exécution de code (utiliser les outils standard)
  • Les questions bien couvertes par les données d'entraînement du modèle (sauf si une vérification est nécessaire)

Démarrage rapide

Configuration (Une seule fois)

  1. Obtenez une clé API OpenRouter :

    • Visitez https://openrouter.ai/keys
    • Créez un compte et générez une clé API
    • Ajoutez des crédits au compte (minimum 5 $ recommandé)
  2. Configurez l'environnement :

    # Définir la clé API
    export OPENROUTER_API_KEY='sk-or-v1-your-key-here'
    
    # Ou utiliser le script de configuration
    python scripts/setup_env.py --api-key sk-or-v1-your-key-here
  3. Installez les dépendances :

    uv pip install litellm
  4. Vérifiez la configuration :

    python scripts/perplexity_search.py --check-setup

Consultez references/openrouter_setup.md pour les instructions de configuration détaillées, la résolution des problèmes et les bonnes pratiques de sécurité.

Utilisation de base

Recherche simple :

python scripts/perplexity_search.py "What are the latest developments in CRISPR gene editing?"

Enregistrer les résultats :

python scripts/perplexity_search.py "Recent CAR-T therapy clinical trials" --output results.json

Utiliser un modèle spécifique :

python scripts/perplexity_search.py "Compare mRNA and viral vector vaccines" --model sonar-pro-search

Sortie verbeux :

python scripts/perplexity_search.py "Quantum computing for drug discovery" --verbose

Modèles disponibles

Accédez aux modèles via le paramètre --model :

  • sonar-pro (par défaut) : Recherche polyvalente, meilleur équilibre entre coût et qualité
  • sonar-pro-search : Recherche agent la plus avancée avec raisonnement multi-étapes
  • sonar : Modèle de base, le plus rentable pour les requêtes simples
  • sonar-reasoning-pro : Raisonnement avancé avec analyse étape par étape
  • sonar-reasoning : Capacités de raisonnement de base

Guide de sélection des modèles :

  • Requêtes par défaut → sonar-pro
  • Analyse multi-étapes complexe → sonar-pro-search
  • Raisonnement explicite nécessaire → sonar-reasoning-pro
  • Recherches factuelles simples → sonar
  • Requêtes en masse sensibles aux coûts → sonar

Consultez references/model_comparison.md pour une comparaison détaillée, des cas d'utilisation, des tarifs et des caractéristiques de performance.

Formuler des requêtes efficaces

Soyez spécifique et détaillé

Bons exemples :

  • "What are the latest clinical trial results for CAR-T cell therapy in treating B-cell lymphoma published in 2024?"
  • "Compare the efficacy and safety profiles of mRNA vaccines versus viral vector vaccines for COVID-19"
  • "Explain AlphaFold3 improvements over AlphaFold2 with specific accuracy metrics from 2023-2024 research"

Mauvais exemples :

  • "Tell me about cancer treatment" (trop large)
  • "CRISPR" (trop vague)
  • "vaccines" (manque de spécificité)

Incluez des contraintes de temps

Les recherches Perplexity explorent les données web en temps réel :

  • "What papers were published in Nature Medicine in 2024 about long COVID?"
  • "What are the latest developments (past 6 months) in large language model efficiency?"
  • "What was announced at NeurIPS 2023 regarding AI safety?"

Spécifiez le domaine et les sources

Pour des résultats de haute qualité, mentionnez les préférences de sources :

  • "According to peer-reviewed publications in high-impact journals..."
  • "Based on FDA-approved treatments..."
  • "From clinical trial registries like clinicaltrials.gov..."

Structurez les requêtes complexes

Divisez les questions complexes en composants clairs :

  1. Sujet : Sujet principal
  2. Portée : Aspect spécifique d'intérêt
  3. Contexte : Délai, domaine, contraintes
  4. Résultat : Format ou type de réponse souhaité

Exemple : "What improvements does AlphaFold3 offer over AlphaFold2 for protein structure prediction, according to research published between 2023 and 2024? Include specific accuracy metrics and benchmarks."

Consultez references/search_strategies.md pour des conseils complets sur la conception de requêtes, les modèles spécifiques au domaine et les techniques avancées.

Cas d'utilisation courants

Recherche de littérature scientifique

python scripts/perplexity_search.py \
  "What does recent research (2023-2024) say about the role of gut microbiome in Parkinson's disease? Focus on peer-reviewed studies and include specific bacterial species identified." \
  --model sonar-pro

Documentation technique

python scripts/perplexity_search.py \
  "How to implement real-time data streaming from Kafka to PostgreSQL using Python? Include considerations for handling backpressure and ensuring exactly-once semantics." \
  --model sonar-reasoning-pro

Analyse comparative

python scripts/perplexity_search.py \
  "Compare PyTorch versus TensorFlow for implementing transformer models in terms of ease of use, performance, and ecosystem support. Include benchmarks from recent studies." \
  --model sonar-pro-search

Recherche clinique

python scripts/perplexity_search.py \
  "What is the evidence for intermittent fasting in managing type 2 diabetes in adults? Focus on randomized controlled trials and report HbA1c changes and weight loss outcomes." \
  --model sonar-pro

Analyse de tendances

python scripts/perplexity_search.py \
  "What are the key trends in single-cell RNA sequencing technology over the past 5 years? Highlight improvements in throughput, cost, and resolution, with specific examples." \
  --model sonar-pro

Travailler avec les résultats

Accès programmatique

Utilisez perplexity_search.py comme un module :

from scripts.perplexity_search import search_with_perplexity

result = search_with_perplexity(
    query="What are the latest CRISPR developments?",
    model="openrouter/perplexity/sonar-pro",
    max_tokens=4000,
    temperature=0.2,
    verbose=False
)

if result["success"]:
    print(result["answer"])
    print(f"Tokens used: {result['usage']['total_tokens']}")
else:
    print(f"Error: {result['error']}")

Enregistrer et traiter les résultats

# Enregistrer en JSON
python scripts/perplexity_search.py "query" --output results.json

# Traiter avec jq
cat results.json | jq '.answer'
cat results.json | jq '.usage'

Traitement par lots

Créez un script pour plusieurs requêtes :

#!/bin/bash
queries=(
  "CRISPR developments 2024"
  "mRNA vaccine technology advances"
  "AlphaFold3 accuracy improvements"
)

for query in "${queries[@]}"; do
  echo "Searching: $query"
  python scripts/perplexity_search.py "$query" --output "results_$(echo $query | tr ' ' '_').json"
  sleep 2  # Rate limiting
done

Gestion des coûts

Les modèles Perplexity ont différents niveaux de tarification :

Coûts approximatifs par requête :

  • Sonar : 0,001-0,002 $ (le plus rentable)
  • Sonar Pro : 0,002-0,005 $ (recommandé par défaut)
  • Sonar Reasoning Pro : 0,005-0,010 $
  • Sonar Pro Search : 0,020-0,050 $+ (le plus complet)

Stratégies d'optimisation des coûts :

  1. Utilisez sonar pour les recherches factuelles simples
  2. Utilisez par défaut sonar-pro pour la plupart des requêtes
  3. Réservez sonar-pro-search pour les analyses complexes
  4. Définissez --max-tokens pour limiter la longueur de la réponse
  5. Surveillez l'utilisation sur https://openrouter.ai/activity
  6. Définissez des limites de dépenses dans le tableau de bord OpenRouter

Résolution des problèmes

Clé API non définie

Erreur : "OpenRouter API key not configured"

Solution :

export OPENROUTER_API_KEY='sk-or-v1-your-key-here'
# Ou exécutez le script de configuration
python scripts/setup_env.py --api-key sk-or-v1-your-key-here

LiteLLM non installé

Erreur : "LiteLLM not installed"

Solution :

uv pip install litellm

Limite de débit dépassée

Erreur : "Rate limit exceeded"

Solutions :

  • Attendez quelques secondes avant de réessayer
  • Augmentez la limite de débit sur https://openrouter.ai/keys
  • Ajoutez des délais entre les requêtes dans le traitement par lots

Crédits insuffisants

Erreur : "Insufficient credits"

Solution :

Consultez references/openrouter_setup.md pour un guide complet de résolution des problèmes.

Intégration avec d'autres compétences

Cette compétence complète d'autres compétences scientifiques :

Revue de littérature

Utilisez avec la compétence literature-review :

  1. Utilisez Perplexity pour trouver les articles et prépublications récents
  2. Complétez les recherches PubMed par des résultats web en temps réel
  3. Vérifiez les citations et trouvez les travaux connexes
  4. Découvrez les derniers développements après l'indexation de la base de données

Rédaction scientifique

Utilisez avec la compétence scientific-writing :

  1. Trouvez des références récentes pour introduction/discussion
  2. Vérifiez l'état de l'art actuel
  3. Consultez la terminologie et les conventions les plus récentes
  4. Identifiez les approches actuelles concurrentes

Génération d'hypothèses

Utilisez avec la compétence hypothesis-generation :

  1. Recherchez les derniers résultats de recherche
  2. Identifiez les lacunes actuelles dans les connaissances
  3. Trouvez les avancées méthodologiques récentes
  4. Découvrez les nouvelles directions de recherche

Pensée critique

Utilisez avec la compétence scientific-critical-thinking :

  1. Trouvez des preuves pour et contre les hypothèses
  2. Localisez les critiques méthodologiques
  3. Identifiez les controverses dans le domaine
  4. Vérifiez les affirmations avec les preuves actuelles

Bonnes pratiques

Conception de requêtes

  1. Soyez spécifique : Incluez le domaine, le délai et les contraintes
  2. Utilisez la terminologie : Mots-clés et phrases appropriés au domaine
  3. Spécifiez les sources : Mentionnez les types de publications ou les journaux préférés
  4. Structurez les questions : Composants clairs avec contexte explicite
  5. Itérez : Affinez en fonction des résultats initiaux

Sélection des modèles

  1. Commencez par sonar-pro : Bon défaut pour la plupart des requêtes
  2. Augmentez la complexité : Utilisez sonar-pro-search pour l'analyse multi-étapes
  3. Réduisez la complexité : Utilisez sonar pour les faits de base
  4. Utilisez les modèles de raisonnement : Quand une analyse étape par étape est nécessaire

Optimisation des coûts

  1. Choisissez les modèles appropriés : Adaptez le modèle à la complexité de la requête
  2. Définissez les limites de token : Utilisez --max-tokens pour contrôler les coûts
  3. Surveillez l'utilisation : Consultez régulièrement le tableau de bord OpenRouter
  4. Traitement efficace par lots : Combinez les requêtes simples connexes si possible
  5. Mettez en cache les résultats : Enregistrez et réutilisez les résultats pour les requêtes répétées

Sécurité

  1. Protégez les clés API : Ne validez jamais dans le contrôle de version
  2. Utilisez les variables d'environnement : Gardez les clés séparées du code
  3. Définissez les limites de dépenses : Configurez dans le tableau de bord OpenRouter
  4. Surveillez l'utilisation : Recherchez les activités inattendues
  5. Changez les clés régulièrement : Modifiez les clés périodiquement

Ressources

Ressources groupées

Scripts :

  • scripts/perplexity_search.py : Script de recherche principal avec interface CLI
  • scripts/setup_env.py : Assistant de configuration et de validation d'environnement

Références :

  • references/search_strategies.md : Guide complet de conception de requêtes
  • references/model_comparison.md : Guide détaillé de comparaison et de sélection des modèles
  • references/openrouter_setup.md : Guide complet de configuration, résolution des problèmes et sécurité

Ressources :

  • assets/.env.example : Modèle de fichier d'environnement exemple

Ressources externes

OpenRouter :

LiteLLM :

Perplexity :

Dépendances

Obligatoires

# LiteLLM pour l'accès API
uv pip install litellm

Optionnels

# Pour la prise en charge des fichiers .env
uv pip install python-dotenv

# Pour le traitement JSON (généralement pré-installé)
uv pip install jq

Variables d'environnement

Obligatoires :

  • OPENROUTER_API_KEY : Votre clé API OpenRouter

Optionnels :

  • DEFAULT_MODEL : Modèle par défaut à utiliser (par défaut : sonar-pro)
  • DEFAULT_MAX_TOKENS : Tokens max par défaut (par défaut : 4000)
  • DEFAULT_TEMPERATURE : Température par défaut (par défaut : 0,2)

Résumé

Cette compétence fournit :

  1. Recherche web en temps réel : Accédez aux informations actuelles au-delà de la date limite de formation
  2. Modèles multiples : Du Sonar rentable au Sonar Pro Search avancé
  3. Configuration simple : Une seule clé API OpenRouter, aucun compte Perplexity séparé
  4. Guidance complète : Références détaillées pour la conception de requêtes et la sélection de modèles
  5. Rentable : Tarification à l'utilisation avec surveillance de l'utilisation
  6. Axée sur la science : Optimisée pour la recherche, la recherche bibliographique et les requêtes techniques
  7. Intégration facile : Fonctionne parfaitement avec d'autres compétences scientifiques

Effectuez des recherches web alimentées par l'IA pour trouver des informations actuelles, des recherches récentes et des réponses ancrées dans des citations de sources.

Skills similaires