Effectuer une recherche en langage naturel
Envoie un prompt en langage naturel et une liste de rubriques liée à la disposition actuelle vers un modèle, qui renvoie une requête de recherche FileMaker et effectue ladite recherche.
Voir aussi
Options
-
Nom de compte est une expression de type texte du compte IA pour cette action de script. Dans le fichier actuel, utilisez l'action de script Configurer le compte IA pour configurer le compte et lui attribuer ce nom avant l'exécution de cette action de script.
-
Modèle est le nom du modèle de génération de texte à utiliser. Spécifiez le nom du modèle en tant qu'expression de texte. Pour connaître les modèles pris en charge, consultez les caractéristiques techniques de FileMaker.
-
Prompt est une expression textuelle permettant de formuler une demande en langage naturel à envoyer au modèle.
-
Obtenir spécifie le type de réponse à récupérer à partir du modèle.
-
Jeu trouvé : exécute la requête de recherche générée par le modèle et met à jour le jeu trouvé dans la fenêtre actuelle.
-
Ensemble trouvé au format JSON : exécute la requête de recherche générée par le modèle et renvoie les données du jeu trouvé en tant qu'objet JSON. Ne modifie pas le jeu trouvé dans la fenêtre actuelle.
-
Requête de recherche au format JSON : n'effectue pas la recherche. Renvoie la requête de recherche FileMaker générée par le modèle en tant qu'objet JSON.
-
-
Nom du modèle de prompt spécifie le nom d'un modèle de prompt personnalisé, configuré à l'aide de l'action de script Configurer un modèle de prompt. Utilisez cette option pour concevoir un prompt supplémentaire afin d'obtenir une réponse optimale de la part d'un modèle d'IA.
-
Paramètres correspond à une expression de texte relative à un objet JSON qui se compose de paires clé-valeur pour des paramètres supplémentaires pris en charge par le fournisseur de modèles. Par exemple :
{"temperature": 0.7, "seed": 42}
. Consultez la documentation du fournisseur de modèles pour connaître les noms de clés des paramètres pris en charge et leurs plages de données valides.La clé
context_prompt
est un paramètre spécial qui permet d'ajouter des instructions ou un contexte supplémentaires dans le modèle avant le prompt principal. Par exemple :{"context_prompt" : "Traiter 'aujourd'hui' comme 02/07/2025"}
. -
Cible de la réponse spécifie la rubrique ou la variable dans laquelle le résultat de l'action de script doit être stocké.
Compatibilité
Produit | Prise en charge |
FileMaker Pro | Oui |
FileMaker Go | Oui |
FileMaker WebDirect | Oui |
FileMaker Server | Oui |
FileMaker Cloud | Oui |
FileMaker Data API | Oui |
Publication Web personnalisée | Oui |
Provient de la version
22.0
Description
Cette action de script permet d'exécuter des requêtes de recherche FileMaker sur vos données en langage naturel sans spécifier de critères de recherche comme avec l'action de script Exécuter la recherche. Il utilise un modèle d'IA pour interpréter un prompt en langage naturel, analyser les rubriques disponibles sur le modèle actuel et générer une requête de recherche FileMaker appropriée (et l'ordre de tri, le cas échéant).
L'interaction entre cette action de script et le modèle suit généralement les étapes suivantes :
-
Cette action de script identifie toutes les rubriques accessibles via une recherche sur le modèle actuel. Elle envoie des informations sur ces rubriques (similairement à la fonction GetFieldsOnLayout) et un prompt vers le modèle spécifié. Cela inclut les prompts fournis dans un modèle de prompt facultatif et le paramètre
context_prompt
. -
Le modèle analyse le prompt et les informations sur la rubrique du modèle, puis génère une demande de recherche et un ordre de tri FileMaker pour récupérer les enregistrements demandés.
-
Cette action de script reçoit la demande de recherche générée et l'ordre de tri.
-
L'action de script effectue une action basée sur l'option Obtenir.
L'option Obtenir détermine ce qui se passe après que le modèle a généré la demande de recherche :
Obtenir | Résultat |
---|---|
Jeu trouvés |
Exécute la demande de recherche générée sur le modèle actuel et, lors de l'étape 4, met à jour le jeu trouvé. Si le modèle a généré un ordre de tri, le jeu trouvé est également trié en conséquence. La Cible de la réponse n'est pas utilisée lorsque cette option est sélectionnée. |
Ensemble trouvé au format JSON |
Exécute la demande de recherche générée et, lors de l'étape 4, renvoie les données du jeu trouvé résultant en tant qu'objet JSON dans la Cible de la réponse. La structure JSON est la même que la réponse à une requête de recherche effectuée via la FileMaker Data API. Il comprend les données du jeu trouvé, les informations sur les données (comme le nombre trouvé et le nombre total d'enregistrements) et tous les messages (erreurs ou avertissements). Consultez l'exemple ci-dessous et celui de l'action de script Exécuter FileMaker Data API. |
Requête de recherche au format JSON |
N'effectue pas la recherche. Lors de l'étape 4, renvoie la requête de recherche et l'ordre de tri FileMaker générés en tant qu'objet JSON dans la Cible de la réponse. Cette option est principalement utile pour le débogage, afin de voir exactement quelle demande de recherche le modèle a généré. La structure JSON est similaire aux tableaux de |
Remarques
-
Seules les rubriques accessibles dans le cadre d'une recherche sur le modèle actuel sont envoyées au modèle. Pour en savoir plus sur les critères utilisés pour déterminer quelles rubriques sont accessibles, consultez la fonction GetFieldsOnLayout, qui utilise les mêmes critères que cette action de script. Les mêmes informations envoyées au modèle (nom de modèle, noms des rubriques, types et descriptions) sont renvoyées par GetFieldsOnLayout.
-
Les commentaires de rubrique que vous saisissez dans la boîte de dialogue Gérer la base de données sont inclus dans les informations de rubrique envoyées au modèle. Pour améliorer la capacité du modèle à générer des requêtes de recherche utiles, vous pouvez utiliser un commentaire pour décrire l'objectif de la rubrique. Consultez la section Définition et modification de rubriques. Pour en savoir plus sur le contrôle des commentaires de rubriques envoyés au modèle, consultez la fonction GetFieldsOnLayout.
-
Si vous spécifiez un Nom du modèle de prompt, cette action de script utilise le modèle configuré via l'action de script Configurer un modèle de prompt. Les modèles de prompt peuvent utiliser des constantes comme
:schema:
(remplacée par des informations sur la rubrique de modèle),:question:
(remplacée par Prompt) et:context:
(remplacée par le paramètrecontext_prompt
dans Paramètres). -
Cette action de script peut être utilisée pour les recherches multilingues, car les modèles d'IA peuvent prendre en charge plusieurs langues.
-
Lorsqu'aucun enregistrement pertinent n'est trouvé, un message est renvoyé dans la Cible de la réponse (si utilisée), et la fonction Obtenir ( DernièreErreur ) renvoie l'erreur 401 (« Aucun enregistrement ne correspond à cette requête »).
-
Cette action de script ne peut pas effectuer de recherches qui nécessitent des fonctions agrégées (par exemple, trouver l'enregistrement avec la valeur la plus élevée dans une rubrique). Cependant, le modèle peut renvoyer une requête de recherche qui inclut des critères de tri pour aider à identifier ces enregistrements (par exemple, trier les enregistrements en fonction de la rubrique Prix dans l'ordre décroissant).
Exemple 1
Configure un compte IA, accède au modèle Contacts, puis utilise cette action de script pour rechercher des contacts nommés « Alea » dans le modèle actuel. Cette action de script envoie les rubriques trouvables sur le modèle actuel et le prompt « Trouver des contacts nommés Alea » au modèle. Le modèle renvoie une requête de recherche (éventuellement une requête pour « Alea » dans la rubrique Nom), et cette action de script effectue la recherche, mettant à jour le jeu trouvé dans la fenêtre actuelle.
Configurer le compte IA [ Nom de compte: "mon-compte" ; Fournisseur de modèles: OpenAI ; Clé API : "sk-..." ]
Activer modèle [ "Contacts" (Contacts) ; Animation: Aucune ]
Effectuer une recherche en langage naturel [ Nom de compte: "mon-compte" ; Modèle: "gpt-4o" ; Invite: "Trouver des contacts nommés Alea" ; Obtenir: Jeu trouvé ]
Exemple 2
Configure un compte IA, envoie un prompt à l'utilisateur pour une requête, puis effectue la recherche et renvoie les données du jeu trouvé résultant au format JSON dans la variable $$DonnéesJeuTrouvé. Les requêtes sont effectuées sur le modèle actuel.
Configurer le compte IA [ Nom de compte : "mon-compte" ; Fournisseur de modèles: OpenAI ; Clé API : "sk-..." ]
Activer modèle [ "Produits" (Produits) ; Animation: Aucune ]
Ouvrir boîte dial. person. [ "Produits rechercher :" ; $$PromptUtilisateur ]
Si [ Not EstVide ( $$PromptUtilisateur ) ]
Effectuer une recherche en langage naturel [ Nom de compte: "mon-compte" ; Modèle: "gpt-4o" ; Invite: $$PromptUtilisateur ; Obtenir: Ensemble trouvé au format JSON ; Cible de la réponse: $$DonnéesJeuTrouvé ]
Ouvrir boîte dial. person. [ "Données du jeu trouvé :" ; JSONFormatElements ( $$DonnéesJeuTrouvé ) ]
Fin de si
Résultat possible stocké dans $$DonnéesJeuTrouvé (formaté à l'aide de JSONFormatElements), en supposant que le prompt était « Trouver des produits dont le prix est inférieur à 6, et les trier par ordre de prix décroissant » :
{
"messages" :
[
{
"code" : "0",
"message" : "OK"
}
],
"response" :
{
"data" :
[
{
"fieldData" :
{
"Prix" : 5.99,
"IDProduit" : 107,
"NomProduit" : "Lunettes de sécurité",
"État" : "En stock"
},
"modId" : "0",
"portalData" : {},
"recordId" : "61"
},
{
"fieldData" :
{
"Prix" : 5.5,
"IDProduit" : 122,
"NomProduit" : "Couteau à mastiquer",
"État" : "En stock"
},
"modId" : "0",
"portalData" : {},
"recordId" : "76"
}
],
"dataInfo" :
{
"database" : "Système de tri",
"foundCount" : 2,
"layout" : "Produits",
"returnedCount" : 2,
"table" : "Produits",
"totalRecordCount" : 42
}
}
}
Exemple 3
Configure un compte IA, puis configure un modèle de prompt personnalisé qui utilise le prompt prédéfini pour une requête de recherche. Le prompt prédéfini décrit le format JSON pour une requête de recherche et comprend les éléments suivants : Utilisez les informations suivantes comme contexte : \":context:\"
.
Après avoir accédé au modèle Produits et avoir défini la variable $$Aujourd'hui avec une phrase en langage naturel, à utiliser ultérieurement pour le contexte, cette action de script remplace la constante :context:
utilisée dans le modèle de prompt par la valeur de la clé context_prompt
dans Paramètres. Elle l'envoie ensuite avec le prompt « Trouver les enregistrements créés aujourd'hui, triés par nom de produit » au modèle.
Le modèle renvoie la requête de recherche au format JSON dans la variable $$RequêteRechercheJSON, que vous pouvez utiliser à des fins de débogage.
Configurer le compte IA [ Nom de compte: "mon-compte" ; Fournisseur de modèles: OpenAI ; Clé API : "sk-..." ]
Configurer un modèle de prompt [ Nom de modèle: "RechercheAujourdhui" ; Fournisseur de modèles: OpenAI ; Type de modèle: Requête de recherche ; Prompt de requête de recherche: "Générer et renvoyer uniquement une requête de modèle JSON pour effectuer une demande de recherche..." ]
Activer modèle [ "Produits" (Produits) ; Animation: Aucune ]
Définir variable [ $$Aujourd'hui ; Valeur: "Aujourd'hui est le " & Obtenir ( DateActuelle ) ]
Effectuer une recherche en langage naturel [ Nom de compte: "mon-compte" ; Modèle: "gpt-4o" ; Invite: "Trouver les enregistrements créés aujourd'hui, triés par nom de produit" ; Obtenir: Requête de recherche au format JSON ; Paramètres: JSONSetElement ( "{}" ; "context_prompt" ; $$Aujourd'hui ; JSONString ) ; Cible de la réponse: $$RequêteRechercheJSON ]
Ouvrir boîte dial. person. [ "Requête de recherche générée" ; JSONFormatElements ( $$RequêteRechercheJSON ) ]
Résultat possible stocké dans $$RequêteRechercheJSON (formaté à l'aide de JSONFormatElements), en supposant que la date actuelle soit 02/07/2025 et que le modèle dispose des rubriques Date de création et Nom du produit :
{
"layouts" : "Produits",
"query" :
[
{
"Produits::Date de création" : "02/07/2025"
}
],
"sort" :
[
{
"fieldName" : "Produits::Nom du produit",
"sortOrder" : "ascendant"
}
]
}