tavily-best-practices

Par tavily-ai · skills

Créez des intégrations Tavily prêtes pour la production avec les bonnes pratiques intégrées. Documentation de référence pour les développeurs utilisant des assistants de code (Claude Code, Cursor, etc.) afin d'implémenter la recherche web, l'extraction de contenu, le crawling et la recherche dans des workflows agentiques, des systèmes RAG ou des agents autonomes.

npx skills add https://github.com/tavily-ai/skills --skill tavily-best-practices

Tavily

Tavily est une API de recherche conçue pour les LLM, permettant aux applications IA d'accéder à des données web en temps réel.

Installation

Python :

pip install tavily-python

JavaScript :

npm install @tavily/core

Consultez references/sdk.md pour la référence complète du SDK.

Initialisation du client

from tavily import TavilyClient

# Utilise la variable d'env TAVILY_API_KEY (recommandé)
client = TavilyClient()

# Avec suivi de projet (pour l'organisation de l'utilisation)
client = TavilyClient(project_id="your-project-id")

# Client asynchrone pour les requêtes parallèles
from tavily import AsyncTavilyClient
async_client = AsyncTavilyClient()

Choisir la bonne méthode

Pour les agents/workflows personnalisés :

Besoin Méthode
Résultats de recherche web search()
Contenu d'URL spécifiques extract()
Contenu de tout un site crawl()
Découverte d'URL depuis un site map()

Pour la recherche prête à l'emploi :

Besoin Méthode
Recherche complète avec synthèse IA research()

Référence rapide

search() - Recherche web

response = client.search(
    query="quantum computing breakthroughs",  # Rester sous 400 caractères
    max_results=10,
    search_depth="advanced"
)
print(response)

Paramètres clés : query, max_results, search_depth (ultra-fast/fast/basic/advanced), include_domains, exclude_domains, time_range

Consultez references/search.md pour la référence complète de recherche.

extract() - Extraction de contenu d'URL

# Extraction simple en une étape
response = client.extract(
    urls=["https://docs.example.com"],
    extract_depth="advanced"
)
print(response)

Paramètres clés : urls (max 20), extract_depth, query, chunks_per_source (1-5)

Consultez references/extract.md pour la référence complète d'extraction.

crawl() - Extraction au niveau du site

response = client.crawl(
    url="https://docs.example.com",
    instructions="Find API documentation pages",  # Focus sémantique
    extract_depth="advanced"
)
print(response)

Paramètres clés : url, max_depth, max_breadth, limit, instructions, chunks_per_source, select_paths, exclude_paths

Consultez references/crawl.md pour la référence complète de crawl.

map() - Découverte d'URL

response = client.map(
    url="https://docs.example.com"
)
print(response)

research() - Recherche avec IA

import time

# Pour une recherche multi-thèmes complète
result = client.research(
    input="Analyze competitive landscape for X in SMB market",
    model="pro"  # ou "mini" pour les requêtes ciblées, "auto" en cas de doute
)
request_id = result["request_id"]

# Interroger jusqu'à terminer
response = client.get_research(request_id)
while response["status"] not in ["completed", "failed"]:
    time.sleep(10)
    response = client.get_research(request_id)

print(response["content"])  # Le rapport de recherche

Paramètres clés : input, model ("mini"/"pro"/"auto"), stream, output_schema, citation_format

Consultez references/research.md pour la référence complète de recherche.

Guides détaillés

Pour les paramètres complets, les champs de réponse, les patterns et les exemples :

  • references/sdk.md - Référence SDK Python & JavaScript, patterns asynchrones, Hybrid RAG
  • references/search.md - Optimisation de requête, sélection de profondeur de recherche, filtrage par domaine, patterns asynchrones, post-filtrage
  • references/extract.md - Extraction en une ou deux étapes, query/chunks pour le ciblage, mode avancé
  • references/crawl.md - Crawl vs Map, instructions pour le focus sémantique, cas d'usage, pattern Map-then-Extract
  • references/research.md - Bonnes pratiques de prompting, sélection de modèle, streaming, schémas de sortie structurés
  • references/integrations.md - LangChain, LlamaIndex, CrewAI, Vercel AI SDK, et intégrations de frameworks

Skills similaires