ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment gouverner les appels d'outils LangChain avec audit et politique
Tutoriel

Comment gouverner les appels d'outils LangChain avec audit et politique

Ajoutez la journalisation d'audit et l'application de politiques aux appels d'outils LangChain afin que chaque recherche Scavio soit journalisée, mise sur liste blanche et limitée en débit par agent.

Obtenez une clé API gratuiteDocumentation API

Les déploiements LangChain en entreprise en 2026 nécessitent des journaux d'audit et l'application de politiques sur chaque appel d'outil. Ce tutoriel enveloppe l'outil Scavio LangChain avec une couche de gouvernance : des limites de débit par agent, des listes blanches de requêtes et des journaux d'audit structurés alimentant un SIEM.

Prérequis

  • Python 3.10+
  • LangChain 0.2+
  • Une clé API Scavio
  • Une destination de journal (Loki, Datadog, CloudWatch)

Parcours

Étape 1: Envelopper l'outil Scavio

Sous-classer l'outil LangChain avec des hooks de politique.

Python
from langchain.tools import Tool
import os, requests, json, time

def scavio_raw(query):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
        json={'query': query})
    return r.json()

Étape 2: Ajouter la journalisation d'audit

Chaque appel enregistre agent_id, la requête et le nombre de résultats.

Python
def audit(agent_id, query, result):
    print(json.dumps({'ts': time.time(), 'agent': agent_id, 'query': query, 'results': len(result.get('organic_results', []))}))

Étape 3: Appliquer la liste blanche

Bloquer les requêtes contenant des motifs interdits.

Python
BLOCKED = ['ssn', 'credit card']
def allowed(query):
    return not any(b in query.lower() for b in BLOCKED)

Étape 4: Appliquer des limites de débit

Seau à jetons par agent.

Python
from collections import defaultdict
from time import time
BUCKET = defaultdict(list)
def under_limit(agent_id, limit=100, window=3600):
    now = time()
    BUCKET[agent_id] = [t for t in BUCKET[agent_id] if t > now - window]
    if len(BUCKET[agent_id]) >= limit: return False
    BUCKET[agent_id].append(now); return True

Étape 5: Enregistrer l'outil gouverné

Les agents utilisent le wrapper gouverné, pas celui brut.

Python
def governed(agent_id, query):
    if not allowed(query): return {'error': 'policy_block'}
    if not under_limit(agent_id): return {'error': 'rate_limit'}
    result = scavio_raw(query)
    audit(agent_id, query, result)
    return result

tool = Tool.from_function(lambda q: governed('agent-1', q), name='search', description='Governed web search')

Exemple Python

Python
import os, requests, json, time

API_KEY = os.environ['SCAVIO_API_KEY']

def governed_search(agent_id, query):
    if 'ssn' in query.lower(): return {'error': 'policy'}
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': query})
    print(json.dumps({'ts': time.time(), 'agent': agent_id, 'query': query}))
    return r.json()

print(governed_search('agent-42', 'best serp api'))

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const BLOCKED = ['ssn', 'credit card'];
export async function governedSearch(agentId, query) {
  if (BLOCKED.some(b => query.toLowerCase().includes(b))) return { error: 'policy' };
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query })
  });
  const d = await r.json();
  console.log(JSON.stringify({ ts: Date.now(), agent: agentId, query }));
  return d;
}

Sortie attendue

JSON
Structured audit log per call, policy blocks for sensitive queries, per-agent rate limit enforcement. Ready for SOC 2 evidence collection.

Tutoriels associés

  • Comment ajouter une recherche en temps réel à LangChain avec langchain-scavio
  • Comment sécuriser les points de terminaison MCP avec des contrôles DLP
  • Comment connecter MCP à votre base de connaissances d'entreprise

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.10+. LangChain 0.2+. Une clé API Scavio. Une destination de journal (Loki, Datadog, CloudWatch). 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

Meilleures solutions de gouvernance d'outils LangChain en 2026

Read more
Solution

Appliquer des politiques d'exécution sur les outils LangChain

Read more
Use Case

Audit d'exécution des outils LangChain

Read more
Best Of

Meilleure API de recherche pour LangChain en 2026

Read more
Solution

Migrer les scrapers LangChain vers l'API de recherche

Read more
Use Case

Sécurité du déploiement MCP en entreprise

Read more

Commencer

Ajoutez la journalisation d'audit et l'application de politiques aux appels d'outils LangChain afin que chaque recherche Scavio soit journalisée, mise sur liste blanche et limitée en débit par agent.

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é