Points clés
Ce que ça fait : L’appel de fonction permet aux modèles d’IA d’interagir avec des outils externes et des API, d’exécuter des tâches spécifiques et d’accéder à des données en temps réel pour les opérations système et les workflows automatisés.
Modèles pris en charge : DeepSeek V3 series, GPT series, Gemma 2, et Mistral Nemo.
Comment l’implémenter ? Vous pouvez installer l’API via Novita AI et l’apprendre dans la Docs.
L’appel de fonction améliore les grands modèles de langage (LLM) en permettant d’interagir avec le monde extérieur. Au-delà de la génération de texte, les LLM peuvent exécuter des tâches, accéder à des données en temps réel et réaliser des opérations complexes. Agissant comme un pont entre les connaissances de l’IA et les tâches actionnables, l’appel de fonction permet aux agents IA ou aux chatbots d’interagir avec des outils et des services externes. DeepSeek V3, un modèle open-source puissant, se distingue par ses performances et son efficacité.
Qu’est-ce que l’appel de fonction ?
L’appel de fonction améliore les grands modèles de langage (LLM) en permettant d’interagir avec le monde extérieur. Au-delà de la génération de texte, les LLM peuvent exécuter des tâches, accéder à des données en temps réel et réaliser des opérations complexes. Agissant comme un pont entre les connaissances de l’IA et les tâches actionnables, l’appel de fonction permet aux agents IA ou aux chatbots d’interagir avec des outils et des services externes. DeepSeek V3, un modèle open-source puissant, se distingue par ses performances et son efficacité.
Comment fonctionne l’appel de fonction ?

d’après Google Cloud
- Déclaration de fonction : Définissez des blocs de code réutilisables (fonctions) avec des descriptions claires de leurs capacités, entrées et sorties.
- Soumission de l’invite : Fournissez au LLM une invite et un ensemble de déclarations de fonctions pour l’informer des outils disponibles.
- Analyse du modèle : Le LLM évalue l’invite et détermine si certaines des fonctions fournies doivent être invoquées pour répondre à la requête.
- Sortie structurée : Si un appel de fonction est nécessaire, le LLM génère une sortie structurée au format JSON, spécifiant le nom de la fonction et les valeurs des paramètres.
- Invocation de la fonction : L’application ou le système utilise la sortie structurée pour appeler la fonction spécifiée en transmettant les paramètres requis.
- Exécution de la fonction : Le service externe ou l’API exécute la fonction selon les paramètres fournis.
- Réponse en sortie : Le service externe renvoie le résultat ou la confirmation à l’IA.
- Réponse du modèle : Le LLM utilise la sortie reçue pour créer une réponse en langage naturel pour l’utilisateur ou pour un traitement ultérieur.
Quels problèmes l’appel de fonction peut-il résoudre ?
Accès à l’information en temps réel
- Mise à jour des cours boursiers
- Récupération des données météorologiques actuelles
- Accès aux dernières nouvelles
Interactions système
- Envoi d’e-mails
- Publication sur les réseaux sociaux
- Interrogation et écriture dans des bases de données
Automatisation des workflows
- Extraction et traitement de données
- Exécution de tâches en plusieurs étapes
- Automatisation d’analyses complexes
Exactitude des données
- Garantie de l’actualité des informations
- Obtention de résultats de requêtes précis
- Réduction des erreurs dues à des données obsolètes
Capacités améliorées de l’IA
- Intégration dynamique d’API
- Exécution contextuelle de tâches
- Exécution d’actions dans le monde réel
Amélioration de l’expérience utilisateur
- Réponses personnalisées
- Réalisation des tâches sans quitter la conversation
- Intégration transparente de services externes
Comment utiliser l’appel de fonction de DeepSeek V3 via Novita AI
Ce guide montre comment utiliser l’appel de fonction pour récupérer les informations météorologiques actuelles d’un lieu spécifié par l’utilisateur. Nous allons parcourir un exemple complet de code Python. Pour le format spécifique de l’API d’appel de fonction, veuillez consulter la référence API Create Chat Completion.

Obtenez 20 $ de crédits chez Novita AI dès maintenant !
- Initialiser le client
Tout d’abord, vous devez initialiser le client avec votre clé API Novita.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# Obtenez la clé API Novita AI depuis : https://novita.ai/settings/key-management.
api_key="<Votre clé API Novita AI>",
)
model = "deepseek/deepseek_v3"
- Définir la fonction à appeler
Ensuite, définissez la fonction Python que le modèle peut appeler. Dans cet exemple, il s’agit d’une fonction pour obtenir les informations météorologiques.
# Exemple de fonction pour simuler la récupération de données météo.
def get_weather(location):
"""Récupère la météo actuelle pour un lieu donné."""
print("Appel de la fonction get_weather avec le lieu : ", location)
# Dans une application réelle, vous appelleriez une API météo externe ici.
# Ceci est un exemple simplifié renvoyant des données codées en dur.
return json.dumps({"location": location, "temperature": "60 degrés Fahrenheit"})
- Construire la requête API avec les outils et le message utilisateur
Créez maintenant la requête API vers le point de terminaison Novita. Cette requête inclut le paramètre tools, définissant les fonctions que le modèle peut utiliser, ainsi que le message de l’utilisateur.
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obtenir la météo d’un lieu, l’utilisateur doit d’abord fournir un lieu",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "La ville et l’état, ex. San Francisco, CA"
}
},
"required": ["location"]
},
}
},
]
messages = [
{
"role": "user",
"content": "Quel temps fait-il à San Francisco ?"
}
]
# Envoyons la requête et affichons la réponse.
response = client.chat.completions.create(
model=model,
messages=messages,
tools=tools,
)
# Vérifiez si la réponse contient des tool_calls en production.
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())
- Sortie
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
- Répondre avec le résultat de l’appel de fonction et obtenir la réponse finale
L’étape suivante consiste à traiter l’appel de fonction, exécuter la fonction get_weather et renvoyer le résultat au modèle pour générer la réponse finale à l’utilisateur.
# Assurez-vous que tool_call est défini depuis l’étape précédente
if tool_call:
# Étendez l’historique de la conversation avec le message de tool_call de l’assistant
messages.append(response.choices[0].message)
function_name = tool_call.function.name
if function_name == "get_weather":
function_args = json.loads(tool_call.function.arguments)
# Exécutez la fonction et obtenez la réponse
function_response = get_weather(
location=function_args.get("location"))
# Ajoutez la réponse de la fonction aux messages
messages.append(
{
"tool_call_id": tool_call.id,
"role": "tool",
"content": function_response,
}
)
# Obtenez la réponse finale du modèle, maintenant avec le résultat de la fonction
answer_response = client.chat.completions.create(
model=model,
messages=messages,
# Remarque : n’incluez pas le paramètre tools ici.
)
print(answer_response.choices[0].message)
- Sortie
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
Problèmes courants et bonnes pratiques pour l’appel de fonction
L’appel de fonction dans les modèles d’IA présente à la fois des défis et des opportunités. Voici une comparaison des problèmes courants et des bonnes pratiques correspondantes :
- Interprétation inexacte et invites claires
Problème : Les modèles peuvent interpréter de manière inexacte les intentions des utilisateurs, conduisant à des appels de fonction inutiles ou incorrects.
Bonne pratique : Fournissez des invites système claires et concises décrivant le but du chatbot et les fonctions disponibles. Utilisez des tours multi-exemples pour montrer à la fois des réponses directes et des appels de fonction appropriés.
- Gestion de workflows complexes
Problème : Difficulté à gérer des workflows complexes avec plusieurs étapes interdépendantes.
Bonne pratique : Commencez par l’ingénierie des invites avant de passer à des méthodes plus complexes. Privilégiez la qualité à la quantité lors du fine-tuning, en commençant par un petit ensemble d’exemples de haute qualité.
- Prise de décision nuancée
Problème : Difficultés à interpréter les sorties des fonctions et les données externes pour une prise de décision nuancée.
Bonne pratique : Utilisez la génération augmentée par récupération (RAG) pour injecter du contexte si nécessaire. Combinez des techniques comme le fine-tuning et le RAG pour équilibrer leurs forces et faiblesses respectives.
- Complexité des structures de données
Problème : Limitations dans le traitement de structures de données évolutives et complexes comme les graphes et les objets imbriqués.
Bonne pratique : Choisissez le bon niveau d’abstraction, en équilibrant code propre et performances. Gardez les fonctions légères et ciblées pour améliorer l’efficacité et la lisibilité.
- Intégration de systèmes existants
Problème : Difficultés d’intégration avec des systèmes existants désordonnés et ambigus.
Bonne pratique : Optimisez les fonctions les plus fréquemment appelées ou les points chauds identifiés par profilage. Envisagez le traitement par lots pour réduire les frais généraux lors de l’interaction avec des systèmes existants.
- Problèmes de sécurité
Problème : Problèmes de sécurité lors de l’exécution de fonctions privilégiées sans jugement sophistiqué.
Bonne pratique : Implémentez des mécanismes robustes de gestion des erreurs pour gérer les réponses API inattendues. Assurez des mesures de protection des données solides et la conformité réglementaire pour protéger la confiance des utilisateurs et les informations sensibles.
- Scalabilité et performances
Problème : Fiabilité non prouvée pour répondre aux exigences rigoureuses de scalabilité, de disponibilité et de performance des systèmes critiques.
Bonne pratique : Tirez parti des optimisations du compilateur et utilisez des réglages de température bas pour des sorties plus ciblées et déterministes. Profilez et optimisez les points chauds pour obtenir les gains de performance les plus significatifs.
- Dépendance excessive aux appels de fonction
Problème : Les modèles peuvent appeler des fonctions inutilement ou de manière inappropriée, même lorsque ce n’est pas nécessaire.
Bonne pratique : Gérez soigneusement l’implémentation des appels de fonction. Assurez la mise en place de mécanismes de repli et de gestion des erreurs appropriés pour maintenir la fiabilité du système, même lorsque les services externes sont indisponibles.
- Problèmes de confidentialité et de transparence
Problème : Préoccupations éthiques concernant la transparence et le consentement de l’utilisateur lorsque les LLM prennent des décisions ou agissent au nom des utilisateurs.
Bonne pratique : Implémentez une documentation claire et des mécanismes de consentement de l’utilisateur. Assurez une gestion responsable des données et la conformité aux réglementations sur la vie privée telles que le RGPD ou la HIPAA.
En conclusion, l’appel de fonction marque une avancée majeure pour les LLM, permettant une interaction transparente avec les données et systèmes d’entreprise et donnant aux développeurs les moyens de créer des applications plus dynamiques et fonctionnelles. En s’intégrant sans effort aux applications, systèmes et API externes, les LLM deviennent très polyvalents, capables de gérer un large éventail de tâches avec efficacité. Des modèles comme DeepSeek V3 mènent la charge, offrant un accès simplifié à cette technologie transformatrice et débloquant des possibilités infinies pour l’innovation en IA.
Questions fréquentes
Qu’est-ce que l’appel de fonction dans le contexte des LLM ?
L’appel de fonction est une technique qui permet aux grands modèles de langage de reconnaître quand une tâche spécifique nécessite une fonction ou un outil externe et de générer des données structurées pour exécuter cette fonction.
Quels sont les principaux avantages de l’utilisation de l’appel de fonction ?
Les avantages clés incluent une efficacité accrue dans le traitement des tâches, une flexibilité améliorée pour les développeurs afin de mettre à jour les fonctions facilement, une évolutivité pour ajouter de nouvelles fonctionnalités sans modifications approfondies, et des interactions utilisateur personnalisées.
Novita AI est la plateforme cloud tout-en-un qui propulse vos ambitions en matière d’IA. API intégrées, serverless, instances GPU — les outils rentables dont vous avez besoin. Éliminez l’infrastructure, commencez gratuitement et faites de votre vision IA une réalité.
