ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ancrer un LLM local avec une recherche structurée
Tutoriel

Comment ancrer un LLM local avec une recherche structurée

Donnez à Ollama ou LM Studio un accès web via une API de recherche structurée. Réduisez les hallucinations avec l'ancrage de données SERP économes en tokens.

Obtenez une clé API gratuiteDocumentation API

Ancrez un LLM local (Ollama, LM Studio, vLLM) avec une recherche web en routant les requêtes via une API SERP structurée plutôt qu'en récupérant le web brut. Le JSON structuré utilise 600 à 800 tokens contre 4 000 à 8 000 pour le HTML brut, s'intégrant mieux dans les fenêtres de contexte limitées des modèles locaux.

Prérequis

  • Ollama ou LM Studio exécutés localement
  • Clé API Scavio
  • Python 3.8+
  • Un modèle prenant en charge l'appel de fonction (par exemple, llama3, mistral)

Parcours

Étape 1: Créez une fonction de recherche

Construisez un outil de recherche qui renvoie des résultats structurés.

Python
import requests, os

def web_search(query, platform='google'):
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': os.environ['SCAVIO_API_KEY'],
                 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us', 'platform': platform})
    data = resp.json()
    return [{'title': r.get('title', ''), 'snippet': r.get('snippet', ''),
             'url': r.get('link', '')}
            for r in data.get('organic_results', [])[:5]]

Étape 2: Intégrez avec Ollama

Utilisez la fonction de recherche comme outil dans les conversations Ollama.

Python
import ollama

def grounded_query(question):
    search_results = web_search(question)
    context = '\n'.join([f"- {r['title']}: {r['snippet']}" for r in search_results])
    response = ollama.chat(model='llama3', messages=[{
        'role': 'user',
        'content': f'Based on these search results:\n{context}\n\nAnswer: {question}'
    }])
    return response['message']['content']

answer = grounded_query('What is the latest Next.js version?')
print(answer)

Exemple Python

Python
import requests, os, ollama

def web_search(query):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': os.environ['SCAVIO_API_KEY'],
                 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'}).json()
    return [{'title': r.get('title', ''), 'snippet': r.get('snippet', '')}
            for r in r.get('organic_results', [])[:5]]

def grounded_chat(question, model='llama3'):
    results = web_search(question)
    context = '\n'.join([f'- {r["title"]}: {r["snippet"]}' for r in results])
    response = ollama.chat(model=model, messages=[{
        'role': 'system',
        'content': 'Answer based on the provided search results. Cite sources.'
    }, {
        'role': 'user',
        'content': f'Search results:\n{context}\n\nQuestion: {question}'
    }])
    return response['message']['content']

print(grounded_chat('What is the current Stripe API version?'))

Exemple JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function webSearch(query) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({query, country_code: 'us'})
  }).then(r => r.json());
  return (r.organic_results || []).slice(0, 5).map(r => ({
    title: r.title, snippet: r.snippet || ''
  }));
}

async function groundedChat(question) {
  const results = await webSearch(question);
  const context = results.map(r => `- ${r.title}: ${r.snippet}`).join('\n');
  // Pass context + question to your local LLM via its API
  console.log(`Grounding context (${context.length} chars) for: ${question}`);
  return context;
}
groundedChat('What is the current Next.js version?');

Sortie attendue

JSON
Local LLM responses grounded in current web data. The model cites search results instead of relying on potentially outdated training data.

Tutoriels associés

  • Comment ajouter la recherche MCP à Claude Code
  • Comment créer un brief de contenu basé sur les SERP avec l'API

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.

Ollama ou LM Studio exécutés localement. Clé API Scavio. Python 3.8+. Un modèle prenant en charge l'appel de fonction (par exemple, llama3, mistral). 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

Use Case

Ancrage de recherche pour LLM local via API

Read more
Best Of

Meilleure API de recherche Web pour LLM locaux en 2026

Read more
Use Case

Recherche Web Agent pour LLM local

Read more
Best Of

Meilleures API pour les piles d'outils de recherche locaux en 2026

Read more
Solution

Recherche LLM locale après le paywall Google

Read more
Workflow

Contextualisation quotidienne par recherche pour l'assistant Ollama

Read more

Commencer

Donnez à Ollama ou LM Studio un accès web via une API de recherche structurée. Réduisez les hallucinations avec l'ancrage de données SERP économes en tokens.

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é