ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ajouter un ancrage de recherche à Hermes Agent
Tutoriel

Comment ajouter un ancrage de recherche à Hermes Agent

Intégrez la recherche web en temps réel dans Hermes Agent via l'API Scavio. Ancrez les réponses avec des données en direct au lieu de vous fier aux connaissances de la date de coupure d'entraînement.

Obtenez une clé API gratuiteDocumentation API

Hermes est une série de modèles finement ajustés populaire pour les cas d'usage agentiques, mais comme tous les LLM, elle hallucine lorsqu'on l'interroge sur des événements postérieurs à sa date de coupure d'entraînement. L'ajout d'un ancrage de recherche via l'API Scavio donne à Hermes accès à des données web en temps réel pendant l'inférence. Ce tutoriel intègre un outil de recherche dans la boucle d'utilisation d'outils de Hermes Agent, afin que l'agent puisse décider de manière autonome quand chercher et incorporer les résultats dans ses réponses. Chaque recherche coûte 0,005 $.

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio provenant de scavio.dev
  • Modèle Hermes fonctionnant via Ollama, vLLM ou similaire

Parcours

Étape 1: Construire la fonction d'ancrage de recherche

Créez une fonction de recherche qui renvoie des résultats formatés adaptés à l'inclusion dans la fenêtre de contexte d'Hermes.

Python
import os, requests, json

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
H = {'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'}
URL = 'https://api.scavio.dev/api/v1/search'

def grounded_search(query: str, num: int = 5) -> str:
    """Search the web and format results for LLM context."""
    resp = requests.post(URL, headers=H,
        json={'query': query, 'country_code': 'us', 'num_results': num})
    resp.raise_for_status()
    results = resp.json().get('organic_results', [])
    if not results:
        return 'No search results found.'
    formatted = []
    for i, r in enumerate(results, 1):
        formatted.append(f'[{i}] {r["title"]}')
        if r.get('snippet'):
            formatted.append(f'    {r["snippet"]}')
        formatted.append(f'    Source: {r["link"]}')
    return '\n'.join(formatted)

results = grounded_search('Hermes 3 model capabilities 2026')
print(results[:400])

Étape 2: Définir le schéma de l'outil pour Hermes

Hermes utilise le format d'utilisation d'outils ChatML. Définissez l'outil de recherche avec un schéma approprié pour qu'Hermes sache quand et comment l'appeler.

Python
HERMES_TOOLS = [
    {
        'type': 'function',
        'function': {
            'name': 'web_search',
            'description': 'Search the web for current information. Use this tool when you need up-to-date data, facts about recent events, or information beyond your training cutoff.',
            'parameters': {
                'type': 'object',
                'properties': {
                    'query': {
                        'type': 'string',
                        'description': 'The search query. Be specific and include the year 2026 for recent information.'
                    }
                },
                'required': ['query']
            }
        }
    }
]

def format_tools_for_hermes(tools: list) -> str:
    """Format tools for Hermes ChatML system prompt."""
    tool_descriptions = []
    for t in tools:
        fn = t['function']
        tool_descriptions.append(
            f'Tool: {fn["name"]}\n'
            f'Description: {fn["description"]}\n'
            f'Parameters: {json.dumps(fn["parameters"], indent=2)}'
        )
    return '\n\n'.join(tool_descriptions)

print(format_tools_for_hermes(HERMES_TOOLS))

Étape 3: Intégrer la recherche dans la boucle d'inférence d'Hermes

Intégrez l'outil de recherche dans la boucle de conversation d'Hermes. Lorsqu'Hermes émet un appel d'outil, exécutez la recherche et renvoyez les résultats.

Python
import ollama

def run_hermes_with_search(prompt: str, model: str = 'hermes3') -> str:
    messages = [{'role': 'user', 'content': prompt}]
    response = ollama.chat(model=model, messages=messages, tools=HERMES_TOOLS)
    # Check if Hermes wants to use tools
    if response.message.tool_calls:
        for tc in response.message.tool_calls:
            if tc.function.name == 'web_search':
                query = tc.function.arguments.get('query', prompt)
                search_results = grounded_search(query)
                print(f'Hermes searched: "{query}"')
                # Feed results back
                messages.append(response.message)
                messages.append({'role': 'tool', 'content': search_results})
                final = ollama.chat(model=model, messages=messages)
                return final.message.content
    return response.message.content

result = run_hermes_with_search('What are the latest developments in AI regulation in 2026?')
print(f'\nHermes response:\n{result[:500]}')

Exemple Python

Python
import os, requests

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

def grounded_search(query, num=5):
    resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'query': query, 'country_code': 'us', 'num_results': num})
    results = resp.json().get('organic_results', [])
    return '\n'.join(f'[{i+1}] {r["title"]}: {r.get("snippet", "")}' for i, r in enumerate(results))

def hermes_search(prompt):
    # Simulate Hermes deciding to search
    results = grounded_search(prompt)
    print(f'Search grounding for Hermes:')
    print(results[:400])
    print(f'\nCost: $0.005')

hermes_search('AI regulation developments 2026')

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function groundedSearch(query) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us', num_results: 5 })
  });
  const data = await resp.json();
  return (data.organic_results || []).map((r, i) => `[${i + 1}] ${r.title}: ${r.snippet || ''}`).join('\n');
}

async function hermesSearch(prompt) {
  const results = await groundedSearch(prompt);
  console.log('Search grounding for Hermes:');
  console.log(results.slice(0, 400));
  console.log('Cost: $0.005');
}

hermesSearch('AI regulation 2026');

Sortie attendue

JSON
Hermes searched: "AI regulation developments 2026"

[1] EU AI Act Enforcement Begins: What Companies Need to Know
    The EU AI Act officially entered enforcement in March 2026...
    Source: https://reuters.com/technology/eu-ai-act-enforcement
[2] US Congress Passes Bipartisan AI Safety Bill
    The American AI Safety Act of 2026 introduces mandatory...
    Source: https://nytimes.com/2026/04/us-ai-safety-bill
[3] China Updates AI Governance Framework
    China's Cyberspace Administration released updated guidelines...
    Source: https://scmp.com/tech/china-ai-governance

Cost: $0.005

Tutoriels associés

  • Comment ajouter la recherche à Ollama après l'arrêt de Google CSE
  • Comment connecter Scavio MCP aux LLM locaux

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.9+ installé. bibliothèque requests installée. Une clé API Scavio provenant de scavio.dev. Modèle Hermes fonctionnant via Ollama, vLLM ou similaire. 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

Intégration de la recherche web pour Pi Coding Agent

Read more
Use Case

Fiabilité de l'API Hermes Agent Search

Read more
Solution

Ancrer Hermes Agent avec une recherche en direct

Read more
Glossary

Intégration de la recherche dans Hermes Agent

Read more

Commencer

Intégrez la recherche web en temps réel dans Hermes Agent via l'API Scavio. Ancrez les réponses avec des données en direct au lieu de vous fier aux connaissances de la date de coupure d'entraînement.

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é