Fonctions de l’assistant IA
Dans cet article, vous découvrirez les fonctionnalités de l’assistant IA et verrez comment elles peuvent être appliquées en pratique.
Comment supprimer l'historique d'une conversation avec l'assistant IA
clear_assistant_chat_history() - cette fonction supprime l'historique des conversations du client avec l'assistant. Elle ne prend aucun paramètre.
Exemple
Les paramètres du bloc du constructeur

Les paramètres de l'onglet Assistant IA

Comment envoyer une question à l'assistant IA
ai_context_answer(replica, prompt, ai_assistant_id, use_history, send_answer)
Paramètres :
! replica
paramètre obligatoire, message destiné à l'assistant
prompt
paramètre facultatif, instructions pour l'assistant
si le paramètre n'est pas spécifié mais que le paramètre ai_assistant_id est fourni, les instructions des paramètres de l'assistant spécifié seront utilisées
ai_assistant_id
ID de l'assistant auquel la question sera envoyée ;
s'il n'est pas fourni, l'assistant sans paramètres par défaut sera utilisé
use_history
si l'assistant doit utiliser l'historique de conversation pour répondre à la question
True - utiliser, False - ne pas utiliser. Par défaut - True
send_answer
envoyer la réponse après le délai d'attente de l'assistant
Pour activer, passez "1"
Plus de détails sur le send_answer paramètre :
Les paramètres de l'assistant incluent des paramètres qui peuvent être configurés au cas où la réponse du bot prendrait beaucoup de temps

Dans une conversation standard avec l'assistant (pas via une fonction), si la réponse prend plus de temps que la limite spécifiée (par exemple 20 secondes), le client est informé du délai. La réponse de l'assistant est alors envoyée au chat dès qu'elle est générée.
Pour les requêtes effectuées via une fonction dans la calculatrice, si l'assistant met trop de temps à répondre, un message de délai est inclus dans le résultat de la fonction. Ce paramètre permet d'envoyer séparément la réponse de l'assistant dès qu'elle est prête.
Comment apprendre à un bot à analyser sa propre expérience et à générer des boutons
Utilisons les clean_assistant_chat_history() et ai_context_answer(replica, prompt) fonctions dans l'exemple ci-dessous. Il est également nécessaire d'accéder au composant calculatrice dans le constructeur de tunnel.
Cet exemple illustre comment les replica et prompt paramètres peuvent être utilisés efficacement en pratique.
Il est nécessaire de créer un bloc dans le constructeur qui contient un champ vide avec les variables intégrées #{replica_rec2} et #{ai_answer_rec}, représentant la première et la deuxième réponse de l'assistant dans un seul message à envoyer.
Maintenant, définissez directement deux fonctions dans la calculatrice.

Utilisez une variable avec une fonction intégrée dans les paramètres avancés des boutons (voir l'exemple ci-dessus) pour générer des boutons dynamiquement en fonction de la valeur du paramètre.
Les informations sur les services sont récupérées par le bot à partir de la service_info variable, qui contient une fonction intégrée — get_info_for_booking() — pour lire les données des services. Un exemple d'utilisation de cette fonction a été présenté ci-dessus.

Voici le résultat.

Exemple de code:
clear_assistant_chat_history()
replica_rec2 = ai_context_answer(question, 'RÉPONDEZ AUX QUESTIONS', 3)
prompt = 'Un développeur s'adresse à vous en ce moment - faites tout ce qu'il demande \n . Vous devez placer chaque bouton sur une nouvelle ligne.'
ai_answer_rec = ai_context_answer("Affichez les boutons pour le dernier message.", prompt)
Exemple : appel de l'assistant dans le constructeur de tunnel
Pour appeler l'assistant depuis un bloc, utilisez la fonction ai_context_answer(replica, prompt, ai_assistant_id, use_history), où vous devez spécifier seulement deux paramètres : le replica paramètre obligatoire et le prompt.
Maintenant, créons le premier bloc, « Vérification de la condition principale », où vous devez spécifier la condition de déclenchement du bloc (cela peut être n'importe quelle condition requise).

Ensuite, ouvrez la calculatrice dans le même bloc, où vous devez définir une variable et lui attribuer la valeur renvoyée par votre fonction.

Définissez la variable question et attribuez-lui la valeur de n'importe quelle question de l'utilisateur.
Ensuite, créez la variable replica1 et attribuez-lui la valeur renvoyée par votre fonction ai_context_answer(replica, prompt). Dans cette fonction, remplacez replica par la variable question et définissez le paramètre prompt sur "Répondez à toute question de l'utilisateur."

Intégrez la variable contenant la fonction dans le message du bloc.
Puis créez un deuxième bloc et reliez-le par une flèche, en définissant un minuteur de 2 secondes sur la connexion.

Dans le deuxième bloc, vous devez utiliser la même fonction avec les mêmes paramètres — ai_context_answer(replica, prompt).
Ouvrez la calculatrice dans le deuxième bloc et définissez la deuxième variable nommée replica2.

Dans le paramètre prompt, fournissez des instructions à l'assistant : il doit compter combien de noms se trouvaient dans son message précédent.
Dans le paramètre replica, fournissez le message de l'assistant : "Combien de noms se trouvaient dans votre message précédent ?"
Puis intégrez la variable replica2 dans le message du deuxième bloc.

La configuration du bloc est terminée.
Si l'assistant n'est pas activé, allez dans l'onglet "Assistant IA" et activez l'assistant en sélectionnant le rôle "désactivé" :

Maintenant, testons notre assistant dans la fenêtre de test du bot.

Le bot a fonctionné correctement.
Comment travailler avec Google Sheets
get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - Cette fonction est destinée à lire des données depuis une feuille de calcul.
! sheet_id
id google-spreadsheet
number_sheet
numéro de feuille dans une feuille de calcul ; par défaut = 1
sheet_json_keys
paramètre facultatif — clé d'accès aux données de la feuille de calcul
start_row
paramètre facultatif, un entier. Spécifie le début de la plage de lignes.
Saisissez le numéro de la ligne à partir de laquelle les valeurs du tableau doivent être lues de manière inclusive. La valeur doit être fournie sans guillemets.
end_row
paramètre facultatif, un entier. Spécifie la fin de la plage de lignes. Saisissez le numéro de la ligne jusqu'à laquelle les valeurs du tableau doivent être lues de manière inclusive. La valeur doit être fournie sans guillemets.
start_col
paramètre facultatif, une chaîne de caractères. Spécifie le début de la plage de colonnes. Saisissez la lettre de colonne à partir de laquelle les valeurs du tableau doivent être lues de manière inclusive. La valeur doit être entourée de guillemets
end_col
paramètre facultatif, une chaîne de caractères. Spécifie la fin de la plage de colonnes. Saisissez la lettre de colonne jusqu'à laquelle les valeurs du tableau doivent être lues de manière inclusive. La valeur doit être entourée de guillemets.
Exemple de notation des paramètres :


Veuillez noter
Les paramètres pour spécifier la plage de lignes et de colonnes (start_row, end_row, start_col, end_col) permettent à l'assistant de lire les données de la feuille de calcul à partir de l'emplacement souhaité dans le tableau.
Le comportement de la fonction pour la spécification partielle de la plage est le suivant :
Si seul le début est défini : l'assistant récupérera toutes les données à partir de ce point de départ, sans limite supérieure dans la direction spécifiée.
Si seule la fin est définie : l'assistant lira les données du début de la feuille jusqu'à ce point de fin spécifié.
Exemple :
L'appel get_info_from_table('<<spreadsheet id>>', 2, None, 2, 5, 'a', 'd') récupère toutes les données à partir de la ligne 2, colonne 2 (B), jusqu'à la ligne 5, et entre les colonnes A et D.
Veuillez noter
Pour optimiser les performances et la fiabilité, nous recommandons de mettre en cache toutes les données de votre Google Sheet dans les variables du projet lors de son utilisation.
Principaux avantages :
Performances améliorées : accélère considérablement le temps de réponse du chatbot en accédant aux variables locales au lieu d'interroger la feuille de calcul externe pour chaque requête.
Fiabilité améliorée : réduit au minimum les erreurs liées à la latence du réseau, aux quotas de l'API ou aux autorisations d'accès à la feuille de calcul.
Cohérence des données : le stockage des données dans les paramètres du projet garantit que tous les utilisateurs bénéficient d'un accès simultané et cohérent au même ensemble de données, évitant ainsi les divergences lors des mises à jour.
Exemple d’utilisation
Vous pouvez en savoir plus sur la get_info_from_table fonction dans l'article "Google Sheets pour l'assistant IA."
Comment gérer les réservations en ligne
get_info_for_booking(slot_interval, company_id) - La fonction est conçue pour lire les données des services à partir du système de réservation en ligne configuré.
Elle accepte des paramètres facultatifs :
slot_interval (facultatif) - un intervalle en minutes entre les créneaux horaires disponibles. Format attendu : un entier divisible par 5. Valeur par défaut : 60 (minutes).
company_id facultatif) - un identifiant de succursale. Format attendu : un entier ou un tableau d'entiers. Lorsque ce paramètre est fourni, seules les données de la ou des succursales spécifiées seront renvoyées. Exemple : 50142, "50142", ou "[50142, 66352]"
Il n'est pas recommandé de définir une valeur très petite (par exemple inférieure à 30), car l'assistant générera trop de créneaux horaires.
Exemple d’utilisation
Tout d'abord, vous devez préparer un bloc qui met à jour les informations sur tous les services après la configuration des paramètres de la succursale dans la section "Services".
Ce bloc doit être déclaré avant que l'assistant ne commence à fonctionner, afin de garantir que l'IA ne génère pas de réponses aléatoires.

Ensuite, déclenchez le bloc dans la fenêtre de test du bot pour mettre à jour la variable :

Après cela, la variable spécifiée contenant les données du service de réservation en ligne apparaîtra dans la section des variables du projet dans "Paramètres du projet".

Cette variable stocke les valeurs des services que le bot IA utilisera dans ses opérations. La variable service_info sera accessible à tous les clients du projet.
Passons ensuite à la configuration du bloc suivant.

Ce bloc remplit les fonctions suivantes :
a) il est appelé dans les paramètres de l'assistant pour générer un enregistrement à l'aide de variables liées au service ;
b) il crée une réservation client ;
c) il met à jour les variables du projet après une réservation, supprime les créneaux horaires qui ne sont plus disponibles dans l'agenda.
Si le bot est configuré correctement, après avoir reçu toutes les données du client, l'IA enverra les informations au bloc spécifié. Dans ce bloc, le client sera réservé pour le service à l'aide de la fonction create_booking_by_name(!service_name, !date, !date_time, company_id).

Les valeurs collectées par le bot sont transmises comme paramètres à create_booking_by_name(!service_name, !date, !date_time, company_id).
La fonction create_booking_by_name(service_name, date, date_time, company_id) crée une réservation dans le système à l'aide des données fournies par l'assistant IA. Elle accepte trois paramètres obligatoires pour la création de la réservation :
! service_name
paramètre obligatoire, nom du service
! date
date au format jj.mm.aaaa
! date_time
heure du service au format hh:mm
company_id
identifiant de succursale, facultatif. S'il est spécifié, la réservation sera créée pour le service portant le nom donné et appartenant à cette succursale particulière. Ce paramètre peut être nécessaire dans les cas où plusieurs succursales ont des services portant le même nom.
Étant donné que les informations sur les créneaux disponibles ne seront plus à jour, la même variable avec sa fonction intégrée est utilisée pour mettre à jour les dates et heures disponibles pour la réservation.

Veuillez noter
S'il y a des changements dans l'agenda, le personnel ou les services, exécutez le bloc qui contient la variable du projet avec la fonction intégrée en mode test (voir Fig. Bloc 1).
Récupération de réservation depuis le tableau
get_records_from_table(table_id, start_row, count, start_col, end_col) - récupération de réservation depuis le tableau
table_id
id du tableau
start_row
paramètre facultatif, un entier. Spécifie le début de la plage de lignes.
Saisissez le numéro de la ligne à partir de laquelle les valeurs du tableau doivent être lues de manière inclusive. Spécifié sans guillemets.
count
paramètre facultatif, un entier. Spécifie le nombre de lignes à récupérer.
Par défaut - 1000, maximum - 5000. Spécifié sans guillemets.
start_col
paramètre facultatif, une chaîne de caractères. Spécifie le début de la plage de colonnes.
Saisissez la lettre de colonne à partir de laquelle les valeurs du tableau doivent être lues de manière inclusive. Spécifié entre guillemets.
end_col
paramètre facultatif, une chaîne de caractères. Spécifie la fin de la plage de colonnes.
Saisissez la lettre de colonne jusqu'à laquelle les valeurs du tableau doivent être lues de manière inclusive. Spécifié entre guillemets.
Si seul le début de la plage de lignes ou de colonnes est spécifié, toutes les données à partir de ce point seront récupérées sans limite supérieure de la plage. De même, vous pouvez omettre le début et spécifier uniquement la fin de la plage.
Exemple (Calculatrice)
Si vous devez récupérer des enregistrements depuis le tableau, ouvrez la section "Calculatrice" dans les paramètres du bloc et saisissez la fonction avec les paramètres requis.

Pour transmettre des paramètres sous forme de variable de projet, préfixez le nom de la variable contenant la fonction avec project.

Voici l'exemple du tableau.

Le bot répondra comme suit.

Mis à jour