ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un pipeline de recherche Hermes en utilisant l'API de recherche
Tutoriel

Comment construire un pipeline de recherche Hermes en utilisant l'API de recherche

Construire un pipeline de recherche automatisé pour l'agent Hermes en utilisant l'API de recherche. Recherche en plusieurs étapes avec vérification des sources.

Obtenez une clé API gratuiteDocumentation API

Les agents Hermes peuvent rechercher des sujets mais ont besoin d'une recherche structurée pour bien le faire. Ce tutoriel construit un pipeline de recherche en plusieurs étapes où l'agent recherche, rassemble des sources, vérifie les faits à travers les résultats et produit un brief de recherche sourcé. Chaque tâche de recherche utilise 3-5 recherches pour un total de $0.015-0.025.

Prérequis

  • Python 3.8+
  • bibliothèque requests
  • Une clé API Scavio provenant de scavio.dev
  • Framework d'agent Hermes

Parcours

Étape 1: Construire l'outil de recherche

Créer une fonction de recherche optimisée pour les tâches de recherche avec extraction de sources.

Python
import os, requests, json
from datetime import datetime
from collections import defaultdict

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

def research_search(query, depth='standard'):
    """Search optimized for research. Returns structured sources."""
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': query, 'country_code': 'us'}, timeout=10).json()
    sources = []
    for r in data.get('organic_results', []):
        source = {
            'title': r.get('title', ''),
            'url': r.get('link', ''),
            'snippet': r.get('snippet', ''),
            'domain': r.get('displayed_link', '').split('/')[0],
            'position': r.get('position', 0),
        }
        sources.append(source)
    related = [q.get('question', '') for q in data.get('people_also_ask', [])]
    featured = data.get('featured_snippet', {})
    return {
        'query': query,
        'sources': sources,
        'related_questions': related,
        'featured_answer': featured.get('snippet', ''),
        'source_count': len(sources),
    }

# Test
result = research_search('what is model context protocol mcp 2026')
print(f'Query: {result["query"]}')
print(f'Sources: {result["source_count"]}')
print(f'Featured answer: {result["featured_answer"][:80]}...' if result['featured_answer'] else 'No featured answer')
for s in result['sources'][:3]:
    print(f'  [{s["domain"]:20}] {s["title"][:50]}')

Étape 2: Construire un pipeline de recherche en plusieurs étapes

Enchaîner les recherches pour explorer un sujet sous plusieurs angles.

Python
def research_pipeline(topic, angles=None):
    """Multi-step research pipeline for Hermes agent."""
    if not angles:
        angles = [
            f'{topic}',
            f'{topic} comparison alternatives',
            f'{topic} tutorial getting started',
        ]
    all_sources = []
    all_facts = []
    print(f'\n=== Researching: {topic} ===')
    for i, angle in enumerate(angles, 1):
        print(f'\n  Step {i}: "{angle[:50]}"')
        result = research_search(angle)
        all_sources.extend(result['sources'])
        if result['featured_answer']:
            all_facts.append({'fact': result['featured_answer'][:150], 'query': angle})
        print(f'    Sources: {result["source_count"]} | Featured: {"yes" if result["featured_answer"] else "no"}')
        # Use related questions for deeper research
        if result['related_questions'] and i == 1:
            for rq in result['related_questions'][:2]:
                angles.append(rq)
                print(f'    Added follow-up: {rq[:50]}')
    # Deduplicate sources by domain
    seen = set()
    unique_sources = []
    for s in all_sources:
        if s['domain'] not in seen:
            seen.add(s['domain'])
            unique_sources.append(s)
    return {
        'topic': topic,
        'queries': len(angles),
        'unique_sources': unique_sources,
        'facts': all_facts,
        'cost': len(angles) * 0.005,
    }

research = research_pipeline('model context protocol MCP')
print(f'\n  Queries: {research["queries"]} | Unique sources: {len(research["unique_sources"])}')
print(f'  Facts found: {len(research["facts"])}')
print(f'  Cost: ${research["cost"]:.3f}')

Étape 3: Générer le brief de recherche

Compiler les recherches dans un brief structuré avec des citations.

Python
def generate_brief(research):
    print(f'\n{"=" * 60}')
    print(f'  RESEARCH BRIEF: {research["topic"]}')
    print(f'  Date: {datetime.now().strftime("%Y-%m-%d")}')
    print(f'  Queries: {research["queries"]} | Sources: {len(research["unique_sources"])}')
    print(f'{"=" * 60}')
    # Key facts
    if research['facts']:
        print(f'\n  Key Findings:')
        for i, f in enumerate(research['facts'], 1):
            print(f'    {i}. {f["fact"][:80]}')
            print(f'       Source query: "{f["query"][:40]}"')
    # Source overview
    print(f'\n  Sources ({len(research["unique_sources"])} unique):')
    for s in research['unique_sources'][:10]:
        print(f'    [{s["domain"]:25}] {s["title"][:45]}')
    # Authority breakdown
    domains = [s['domain'] for s in research['unique_sources']]
    authority = {
        'official': sum(1 for d in domains if any(w in d for w in ['github.com', '.dev', '.io'])),
        'news': sum(1 for d in domains if any(w in d for w in ['techcrunch', 'verge', 'arstechnica'])),
        'community': sum(1 for d in domains if any(w in d for w in ['reddit', 'stackoverflow', 'hackernews'])),
    }
    print(f'\n  Source Authority:')
    for cat, count in authority.items():
        print(f'    {cat:15} {count} sources')
    print(f'\n  Research cost: ${research["cost"]:.3f}')
    print(f'  Time: ~{research["queries"]}s (vs 30-60s with browser search)')

generate_brief(research)

Exemple Python

Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def research(topic):
    for angle in [topic, f'{topic} tutorial', f'{topic} alternatives']:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': angle, 'country_code': 'us'}, timeout=10).json()
        results = data.get('organic_results', [])
        print(f'{angle[:30]:30} | {len(results)} sources')

research('model context protocol')
print('Cost: $0.015')

Exemple JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
for (const angle of ['model context protocol', 'MCP tutorial', 'MCP alternatives']) {
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: SH,
    body: JSON.stringify({ query: angle, country_code: 'us' })
  }).then(r => r.json());
  console.log(`${angle}: ${(data.organic_results || []).length} sources`);
}

Sortie attendue

JSON
Query: what is model context protocol mcp 2026
Sources: 10
Featured answer: Model Context Protocol (MCP) is an open standard for connecting...
  [modelcontextprotocol] Model Context Protocol - Official Documentation
  [github.com           ] MCP Specification - GitHub Repository

=== Researching: model context protocol MCP ===
  Queries: 5 | Unique sources: 28
  Facts found: 3
  Cost: $0.025

============================================================
  RESEARCH BRIEF: model context protocol MCP
  Date: 2026-05-21
  Queries: 5 | Sources: 28
============================================================

  Research cost: $0.025
  Time: ~5s (vs 30-60s with browser search)

Tutoriels associés

  • Comment ajouter la recherche API à Hermes sans navigateur
  • Comment corriger le blocage de SearXNG par Hermes avec un repli API
  • Comment configurer l'agent Pi avec plusieurs backends de recherche

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.8+. bibliothèque requests. Une clé API Scavio provenant de scavio.dev. Framework d'agent Hermes. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleure API de recherche pour agent Hermes en 2026

Read more
Best Of

Meilleurs backends de recherche pour l'agent Hermes (mai 2026)

Read more
Use Case

Pipeline de recherche de l'agent Hermes

Read more
Use Case

Fiabilité de l'API Hermes Agent Search

Read more
Solution

Ajoutez une recherche unifiée aux systèmes multi-agents avec Scavio

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more

Commencer

Construire un pipeline de recherche automatisé pour l'agent Hermes en utilisant l'API de recherche. Recherche en plusieurs étapes avec vérification des sources.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité