Création d'outils personnalisés

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

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 indique à GitBook Assistant d'appeler des API, d'effectuer des actions produit, d'ouvrir d'autres outils, et plus.

circle-info

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 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 en tant que props lors de l'utilisation du package NPM/composants React.

Regardons un exemple :

window.GitBook("configure", {
  tools: [
    {
      // Enregistrer 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: {
            icon: 'check',
            text: `Created ticket #${ticket.id} for ${ticket_issue}`
          },
        };
      },
    },
  ],
});

Comment ça marche

Tous les outils fournis à GitBook Assistant lors de sa configuration seront disponibles via l'IA — ce qui signifie que l'assistant est capable d'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

name

Identifiant unique de l'outil.

description

Permet à GitBook Assistant de connaître le contexte pour savoir quand utiliser l'outil défini.

inputSchema

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

confirmation

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

execute

La fonction asynchrone qui s'exécute lorsque l'outil est appelé. Doit renvoyer { output: any, summary: string }. Le output est fourni à l'IA pour continuer à travailler avec (non affiché à 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 ?