Function calling & outils
Albert API permet au modèle de chat de proposer des appels d’outils (tool_calls) décrits dans le corps de la requête. Le flux est le même que sur l’API OpenAI : le modèle émet une complétion avec des appels ; le client exécute la logique métier ; une réponse au rôle tool est renvoyée dans messages ; le modèle produit alors une réponse utilisateur finale.
Déclarer des outils
Le champ tools est une liste d’objets. Chaque outil de type fonction comporte au minimum :
un nom ;
une description ;
des paramètres au format JSON Schema (
parameters) décrivant les arguments attendus.
Le détail des schémas suit la convention Chat Completions OpenAI. Consultez le schéma CreateChatCompletion dans la page de l’endpoint Chat.
tool_choice
none— pas d’appel d’outil (comportement par défaut lorsqu’aucun outil n’est fourni).auto— le modèle choisit entre répondre en texte ou appeler un ou plusieurs outils (défaut lorsque des outils sont présents).required— le modèle doit invoquer au moins un outil.Sélection ciblée — forcer un outil précis via un objet du type
{"type": "function", "function": {"name": "nom_fonction"}}.
Enchaînement typique
Requête initiale —
messages+tools+tool_choiceadéquat.Réponse assistant — peut contenir
tool_callsavec desargumentsJSON à parser.Exécution — votre code appelle bases de données, HTTP internes, etc.
Message
tool— vous ajoutez un message avecrole: "tool", letool_call_idcorrespondant et le résultat (souvent une chaîne JSON).Nouvelle requête — vous renvoyez toute l’historique mis à jour pour obtenir la réponse finale de l’assistant.
Erreurs et robustesse
Validez et sandboxez les arguments produits par le modèle avant toute action sensible.
Limitez la profondeur des enchaînements d’outils pour éviter boucles et surcoûts tokens.
Last updated
Was this helpful?