Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Tool Use / Function Calling

ia

Définition

Le Tool Use (utilisation d'outils) ou Function Calling est la capacite d'un LLM a identifier quand appeler une fonction ou un outil externe, a generer les arguments corrects pour cet appel, et a utiliser le resultat pour formuler sa reponse finale. C'est la fondation des agents IA qui peuvent interagir avec des APIs, des bases de donnees, des calculatrices, et tout systeme informatique externe. Le mecanisme : le developpeur fournie au LLM un schema JSON des outils disponibles (nom, description, parametres et types). Le LLM analyse la requete utilisateur, decide si un ou plusieurs outils doivent etre appeles, genere un objet JSON valide avec les arguments, et le systeme execute l'appel. Le resultat est retourne au LLM qui l'incorpore dans sa reponse. La specification des outils via JSON Schema est standardisee : chaque outil a un name (identifiant), description (explication pour le LLM, critique pour la qualite du routing), et parameters (schema JSON des arguments avec types, required, et descriptions). La qualite des descriptions determine directement la precision avec laquelle le LLM choisit et utilise les outils. Les frameworks Tool Use modernes : OpenAI API (tools parameter avec model='gpt-4o'), Anthropic API (tools parameter), Gemini API (function declarations), LangChain Tools, LlamaIndex Tools. Tous suivent une structure similaire mais avec des differences de format. Le standard MCP (Model Context Protocol) d'Anthropic vise a unifier les definitions d'outils entre providers. Les types d'outils courants : recherche web (Tavily, SerpAPI), calculatrice et interpréteur Python (code execution), base de donnees (SQL query), APIs REST (weather, finance, calendar), operations fichiers (read/write), et outils metier specialises (ERP, CRM). Les agents les plus capables combinent plusieurs types d'outils pour accomplir des workflows complexes.

Tool Use avec l'API Anthropic

import anthropic

client = anthropic.Anthropic()

tools = [{
    'name': 'get_security_cve',
    'description': 'Recuperer les details d une CVE depuis le NVD (NIST)',
    'input_schema': {
        'type': 'object',
        'properties': {
            'cve_id': {'type': 'string', 'description': 'ID de la CVE (ex: CVE-2024-12345)'},
            'include_cvss': {'type': 'boolean', 'description': 'Inclure le score CVSS', 'default': True}
        },
        'required': ['cve_id']
    }
}]

response = client.messages.create(
    model='claude-3-5-sonnet-20241022', max_tokens=1024, tools=tools,
    messages=[{'role': 'user', 'content': 'Quel est le score de CVE-2024-1234 ?'}]
)
# Si tool_use, extraire et executer l'outil
if response.stop_reason == 'tool_use':
    tool_call = next(b for b in response.content if b.type == 'tool_use')
    print(f'Appel: {tool_call.name}({tool_call.input})')

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis