ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ajouter la recherche à un workflow d'IA contractuelle
Tutoriel

Comment ajouter la recherche à un workflow d'IA contractuelle

Ancrer l'IA d'analyse contractuelle avec des données de recherche en direct. Extraire les mises à jour réglementaires, les précédents et le contexte de l'entreprise pour une meilleure révision des contrats.

Obtenez une clé API gratuiteDocumentation API

Ajoutez un ancrage de recherche à un workflow d'IA contractuelle en interrogeant les mises à jour réglementaires, le contexte de l'entreprise et les précédents spécifiques au secteur avant ou pendant l'analyse du contrat. Les outils d'IA de révision de contrats fonctionnent souvent avec des données d'entraînement statiques qui ignorent les changements réglementaires récents, les risques spécifiques à l'entreprise et les conditions actuelles du marché. Une étape d'enrichissement par recherche exécutée avant l'analyse donne à l'IA un contexte actuel sur la contrepartie, les réglementations pertinentes et les actions récentes d'exécution, produisant des évaluations de risque plus précises.

Prérequis

  • Python 3.8+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Un texte de contrat ou des clauses clés à analyser

Parcours

Étape 1: Extraire les entités clés du contrat

Identifier les noms d'entreprises, les juridictions et les types de clauses nécessitant un enrichissement par recherche.

Python
import os, requests, re

API_KEY = os.environ['SCAVIO_API_KEY']

def extract_entities(contract_text: str) -> dict:
    """Extract searchable entities from contract text."""
    entities = {
        'companies': [],
        'jurisdictions': [],
        'clause_types': [],
    }
    # Simple company name extraction (between quotes or after 'between')
    company_patterns = re.findall(r'"([A-Z][^"]{2,50})"', contract_text)
    entities['companies'] = list(set(company_patterns))[:5]
    # Jurisdiction extraction
    jurisdiction_keywords = ['governed by the laws of', 'jurisdiction of', 'state of', 'courts of']
    for kw in jurisdiction_keywords:
        match = re.search(kw + r'\s+([A-Z][\w\s]{2,30})', contract_text)
        if match:
            entities['jurisdictions'].append(match.group(1).strip())
    # Clause type detection
    clause_keywords = {'indemnification': 'indemnif', 'non-compete': 'non-compete',
                       'termination': 'terminat', 'liability': 'liabilit', 'confidentiality': 'confidential'}
    for clause, keyword in clause_keywords.items():
        if keyword in contract_text.lower():
            entities['clause_types'].append(clause)
    return entities

sample = 'Agreement between "Acme Corp" and "Beta LLC" governed by the laws of Delaware. Includes indemnification and non-compete clauses.'
entities = extract_entities(sample)
print(f"Companies: {entities['companies']}")
print(f"Jurisdictions: {entities['jurisdictions']}")
print(f"Clauses: {entities['clause_types']}")

Étape 2: Rechercher des signaux de risque d'entreprise

Rechercher chaque contrepartie pour les procès, les actions d'exécution et les actualités récentes.

Python
def search_company_risk(company: str) -> dict:
    queries = [
        f'{company} lawsuit 2026',
        f'{company} SEC enforcement',
        f'{company} bankruptcy risk',
    ]
    risk_signals = {'company': company, 'lawsuits': [], 'enforcement': [], 'news': []}
    for query in queries:
        resp = requests.post('https://api.scavio.dev/api/v1/search',
            headers={'x-api-key': API_KEY},
            json={'platform': 'google', 'query': query}, timeout=15)
        results = resp.json().get('organic_results', [])
        for r in results[:3]:
            title = r.get('title', '')
            if any(w in title.lower() for w in ['lawsuit', 'sued', 'settlement', 'verdict']):
                risk_signals['lawsuits'].append(title)
            elif any(w in title.lower() for w in ['sec', 'enforcement', 'fine', 'penalty']):
                risk_signals['enforcement'].append(title)
            else:
                risk_signals['news'].append(title)
    return risk_signals

risk = search_company_risk('Acme Corp')
print(f"Lawsuits: {len(risk['lawsuits'])}")
print(f"Enforcement: {len(risk['enforcement'])}")

Étape 3: Rechercher les mises à jour réglementaires

Extraire les changements réglementaires récents pertinents pour la juridiction du contrat et les types de clauses.

Python
def search_regulatory(jurisdiction: str, clause_types: list) -> list:
    updates = []
    for clause in clause_types:
        query = f'{clause} clause regulation {jurisdiction} 2026'
        resp = requests.post('https://api.scavio.dev/api/v1/search',
            headers={'x-api-key': API_KEY},
            json={'platform': 'google', 'query': query}, timeout=15)
        results = resp.json().get('organic_results', [])
        for r in results[:2]:
            updates.append({
                'clause': clause,
                'title': r.get('title', ''),
                'snippet': r.get('snippet', '')[:150],
                'url': r.get('link', ''),
            })
    return updates

updates = search_regulatory('Delaware', ['indemnification', 'non-compete'])
for u in updates:
    print(f"[{u['clause']}] {u['title'][:60]}")

Étape 4: Construire le contexte d'enrichissement

Combiner tous les résultats de recherche dans un bloc de contexte structuré pour l'IA contractuelle.

Python
def build_contract_context(entities: dict) -> dict:
    context = {'companies': {}, 'regulatory': [], 'risk_level': 'low'}
    for company in entities.get('companies', []):
        risk = search_company_risk(company)
        context['companies'][company] = risk
        if risk['lawsuits'] or risk['enforcement']:
            context['risk_level'] = 'high' if risk['enforcement'] else 'medium'
    for jurisdiction in entities.get('jurisdictions', []):
        updates = search_regulatory(jurisdiction, entities.get('clause_types', []))
        context['regulatory'].extend(updates)
    return context

context = build_contract_context(entities)
print(f"Risk level: {context['risk_level']}")
print(f"Regulatory updates: {len(context['regulatory'])}")

Étape 5: Générer une invite d'analyse enrichie

Formater le contexte de recherche en une section d'invite pour l'IA de révision de contrats.

Python
def format_analysis_prompt(contract_text: str, context: dict) -> str:
    parts = ['ENRICHMENT CONTEXT (from live search):', '']
    if context.get('risk_level') != 'low':
        parts.append(f"RISK LEVEL: {context['risk_level'].upper()}")
    for company, risk in context.get('companies', {}).items():
        parts.append(f'\nCounterparty: {company}')
        if risk['lawsuits']:
            parts.append(f"  Active litigation: {'; '.join(risk['lawsuits'][:2])}")
        if risk['enforcement']:
            parts.append(f"  Enforcement actions: {'; '.join(risk['enforcement'][:2])}")
    if context.get('regulatory'):
        parts.append('\nRecent regulatory updates:')
        for u in context['regulatory'][:3]:
            parts.append(f"  [{u['clause']}] {u['title'][:60]}")
    parts.append('')
    parts.append('CONTRACT TEXT:')
    parts.append(contract_text[:1000])
    return '\n'.join(parts)

prompt = format_analysis_prompt(sample, context)
print(prompt[:500])

Exemple Python

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def contract_context(company, clause):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': f'{company} {clause} lawsuit 2026'}).json()
    return [r.get('title', '')[:60] for r in data.get('organic_results', [])[:3]]

print(contract_context('Acme Corp', 'indemnification'))

Exemple JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function contractContext(company, clause) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({platform: 'google', query: `${company} ${clause} lawsuit 2026`})
  });
  return ((await r.json()).organic_results || []).slice(0, 3).map(r => (r.title || '').slice(0, 60));
}
contractContext('Acme Corp', 'indemnification').then(console.log);

Sortie attendue

JSON
A contract AI workflow enriched with live search data including counterparty risk signals, regulatory updates, and enforcement actions for more accurate contract review.

Tutoriels associés

  • Comment améliorer la précision de recherche des agents IA avec la recherche
  • Comment ajouter le contexte CRM à un agent de recherche MCP

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+ installé. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Un texte de contrat ou des clauses clés à analyser. 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

Workflow d'enrichissement de recherche n8n

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Best Of

Meilleures API de recherche pour la recherche contractuelle et juridique en 2026

Read more
Best Of

Meilleures API de recherche économiques pour agents IA sous 10 $/mois (2026)

Read more
Use Case

Ancrage de recherche pour LLM local via API

Read more
Workflow

Enrichir les clauses contractuelles avec des précédents de recherche

Read more

Commencer

Ancrer l'IA d'analyse contractuelle avec des données de recherche en direct. Extraire les mises à jour réglementaires, les précédents et le contexte de l'entreprise pour une meilleure révision des contrats.

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é