Creating custom tools

Ajoutez des outils personnalisés à GitBook Assistant pour lui permettre d’interagir avec votre produit, site web, et plus encore

Les outils personnalisés dans l’intégration Docs vous permettent de laisser l’Assistant dispatcher intelligemment des actions dans votre produit ou sur le web. Par exemple, vous pouvez créer un outil personnalisé qui demande à GitBook Assistant d’appeler des API, d’exécuter des actions produit, d’ouvrir d’autres outils, et plus encore.

En plus des outils personnalisés que vous définissez dans la configuration de votre intégration Docs, l’Assistant aura toujours accès à tout serveurs MCP que vous définissez dans les paramètres d’IA de votre site.

Les outils peuvent être définis via la méthode configure lors de l’utilisation de l’implémentation par script ou comme props lors de l’utilisation du paquet NPM/composants React.

Voyons un exemple :

window.GitBook("configure", {
  tools: [
    {
      // Enregistrez l’outil avec un nom et une description.
      name: "create_ticket",
      description:
        "Créer un ticket pour l’utilisateur. Vous DEVEZ remplir le champ ticket_issue.",

      // Le schéma d’entrée est les données accessibles dans la fonction execute.
      inputSchema: {
        type: "object",
        properties: {
          ticket_issue: {
            type: "string",
            description:
              "Le problème pour lequel créer le ticket. Si inconnu, demandez d’abord à l’utilisateur.",
          },
        },
        required: ["ticket_issue"],
      },

      // Un bouton de confirmation optionnel qui s’affiche avant l’exécution de la fonction execute.
      confirmation: { icon: "circle-question", label: "Créer un ticket de support ?" },

      // La fonction execute est la fonction qui sera appelée lorsque l’outil est utilisé.
      execute: async (input) => {
        const { ticket_issue } = input;

        // Créer un ticket avec le problème de l’utilisateur
        const ticket = await fetch("/api/tickets", {
          method: "POST",
          body: JSON.stringify({ issue: ticket_issue }),
        }).then((r) => r.json());

        return {
          // La sortie est renvoyée à l’IA.
          output: {
            ticketId: ticket.id,
            status: "success",
          },
          // Le résumé est affiché à l’utilisateur.
          summary: `Created ticket #${ticket.id} for ${ticket_issue}`,
        };
      },
    },
  ],
});

Comment cela fonctionne

Tous les outils fournis à GitBook Assistant lors de sa configuration seront disponibles via l’IA — ce qui signifie que l’assistant peut exécuter intelligemment vos outils lorsque cela correspond au contexte.

Dans l’exemple ci‑dessus, lorsque l’Assistant identifie que l’utilisateur a besoin de créer un ticket de support, il demande à l’utilisateur quel est le problème, puis exécute une fonction qui enregistre un ticket.

Clé
Description

nom

Identifiant unique de l’outil.

description

Permet à GitBook Assistant de connaître le contexte dans lequel utiliser l’outil défini.

inputSchema

Schéma JSON définissant les paramètres d’entrée de l’outil. Peut être accessible dans input l’argument dans la appel execute .

confirmation

Un bouton de confirmation optionnel qui vous permet de spécifier une interaction utilisateur avant de lancer la fonction execute. Format : { icon?: string, label: string }.

appel execute

La fonction asynchrone qui s’exécute lorsque l’outil est appelé. Doit retourner { output: any, summary: string }. Le output est fourni à l’IA pour qu’elle continue à travailler avec (non montré à l’utilisateur). Le summary est le résumé visuel affiché dans la fenêtre de chat de l’utilisateur.

Mis à jour

Ce contenu vous a-t-il été utile ?