Remarque : cette intégration utilise encore la version v0 de l’API Firecrawl. Vous pouvez installer la version 0.0.20 du SDK Python ou la 0.0.36 du SDK Node.
Installation
pip install firecrawl-py==0.0.20 llama_index llama-index llama-index-readers-web
Utilisation
Utiliser Firecrawl pour collecter l’intégralité d’un site
from llama_index.readers.web import FireCrawlWebReader
from llama_index.core import SummaryIndex
import os
# Initialiser FireCrawlWebReader pour explorer un site web
firecrawl_reader = FireCrawlWebReader(
api_key="<your_api_key>", # Remplacez par votre clé API depuis https://www.firecrawl.dev/
mode="scrape", # Choisissez entre « crawl » et « scrape » pour l’extraction d’une page unique
params={"additional": "parameters"} # Paramètres supplémentaires optionnels
)
# Définir la variable d’environnement pour la clé virtuelle
os.environ["OPENAI_API_KEY"] = "<OPENAI_API_KEY>"
# Charger des documents à partir de l’URL d’une page unique
documents = firecrawl_reader.load_data(url="http://paulgraham.com/")
index = SummaryIndex.from_documents(documents)
# Régler la journalisation sur DEBUG pour obtenir des sorties plus détaillées
query_engine = index.as_query_engine()
response = query_engine.query("Qu’a fait l’auteur pendant son enfance ?")
display(Markdown(f"<b>{response}</b>"))
Utiliser Firecrawl pour récupérer une seule page
from llama_index.readers.web import FireCrawlWebReader
# Initialisez FireCrawlWebReader avec votre clé API et le mode souhaité
firecrawl_reader = FireCrawlWebReader(
api_key="<your_api_key>", # Remplacez par votre clé API obtenue sur https://www.firecrawl.dev/
mode="scrape", # Choisissez entre « crawl » et « scrape »
params={"additional": "parameters"} # Paramètres supplémentaires facultatifs
)
# Chargez des documents à partir d’une URL spécifiée
documents = firecrawl_reader.load_data(url="http://paulgraham.com/worked.html")
index = SummaryIndex.from_documents(documents)
# Réglez le niveau de journalisation sur DEBUG pour obtenir des sorties plus détaillées
query_engine = index.as_query_engine()
response = query_engine.query("Que faisait l’auteur en grandissant ?")
display(Markdown(f"<b>{response}</b>"))

