Effectuer une recherche sémantique

Effectue une recherche sémantique dans la rubrique spécifiée et contraint le jeu d'enregistrements spécifié pour le texte de recherche et le modèle à utiliser ou pour les vecteurs d'intégration donnés.

Options 

  • Requête par indique si la requête est de type Langage naturel (texte) ou Intégration Données vectorielles.

  • Jeu d'enregistrements sélectionne s'il faut effectuer une recherche dans Tous les enregistrements ou dans le Jeu trouvé actuel.

  • Rubrique cible spécifie une rubrique Texte ou Conteneur dans laquelle effectuer la recherche. La rubrique doit contenir des vecteurs d'intégration, soit sous forme de tableau JSON pour une rubrique Texte, soit sous forme de données binaires pour une rubrique Conteneur.

  • Nombre de retours est une expression numérique spécifiant le nombre d'enregistrements sémantiquement similaires à renvoyer en tant que jeu trouvé. Si elle n'est pas spécifiée, la valeur par défaut est de 10 enregistrements maximum.

  • Condition de similarité cosinus spécifie comment la similarité cosinus des données est comparée à la Valeur de similarité cosinus. Si cette option n'est pas spécifiée, le jeu trouvé n'est pas limité par une condition de similarité cosinus.

  • Valeur de similarité cosinus définit le seuil utilisé avec la Condition de similarité cosinus pour déterminer si les données sont sémantiquement similaires ou opposées. La valeur de cette expression numérique doit être comprise entre -1 (opposé) et 1 (similaire).

Options disponibles uniquement lorsque Requête par est défini sur Langage naturel :

  • 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 d'intégration correspond au nom du modèle utilisé pour générer des vecteurs d'intégration. Spécifiez le nom du modèle en tant qu'expression de type texte, disponible auprès du fournisseur de modèles.

  • Texte contient une expression de type texte liée au texte à rechercher. Ce texte est envoyé au modèle pour le comparer aux vecteurs d'intégration dans la Rubrique cible en termes de similarité.

Options disponibles uniquement lorsque Requête par est défini sur Données vectorielles :

  • Les vecteurs d'intégration représentant le texte à rechercher. Il s'agit d'une expression qui renvoie des données de Conteneur, telles qu'une référence à une rubrique Conteneur. Les résultats sont sémantiquement similaires au texte que ces données vectorielles représentent.

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 

21.0

Description 

Cette action de script recherche les enregistrements dans lesquels le contenu de la Rubrique cible est sémantiquement similaire à la requête, au lieu de rechercher des correspondances de mots littérales comme le fait l'action de script Exécuter la recherche.

Cette action de script a deux modes de fonctionnement, déterminés par l'option Requête par :

  • Si définie sur Langage naturel, la requête est fournie en tant que texte en langage naturel dans l'option Texte. L'action de script envoie ce texte de requête au modèle spécifié pour conversion en vecteurs d'intégration. C'est pourquoi ce mode nécessite un nom de compte d'IA et un modèle d'intégration.

  • Si définie sur Données vectorielles, les vecteurs d'intégration sont fournis en tant que données de conteneur pour la requête. Si vous utilisez couramment certaines requêtes, il peut s'avérer plus efficace d'obtenir des vecteurs d'intégration pour ces requêtes une fois et de les stocker, plutôt que de les obtenir plusieurs fois à partir du modèle.

En commençant par tous les enregistrements de la table active ou seulement les enregistrements du jeu trouvé actuel (en fonction de l'option Jeu d'enregistrements), cette action de script compare les données de la Rubrique cible avec la requête de similarité (ou de dissimilarité) sémantique. Le résultat est un jeu trouvé restreint (réduit) d'un maximum de Nombre de retours d'enregistrements qui répondent aux conditions de similarité cosinus. Le jeu trouvé résultant est classé par ordre de similarité cosinus descendante, de sorte que les enregistrements les plus pertinents soient les premiers.

Exemple 1 

Configure un compte IA, active le modèle Détails de la réunion puis, dans tous les enregistrements, effectue une recherche sémantique pour Texte (langage naturel) dans la rubrique Conteneur Meetings::Note_Embedding, qui contient des vecteurs d'intégration pour le contenu de la rubrique Meetings::Note (consultez l'Exemple 1 dans Insérer l'intégration dans le jeu trouvé). Pour obtenir des résultats plus utiles, le nombre de retours est limité à 10 et la similarité cosinus entre Texte et le contenu de la rubrique Meetings::Note_Embedding doit être supérieure à 0,4. Le jeu trouvé résultant est d'abord trié en fonction des enregistrements les plus pertinents.

Copier
Configurer le compte IA [ Nom de compte: "mon-compte" ; Fournisseur de modèles: OpenAI ; Clé API : "sk-RZCtpWT..." ]

Activer modèle [ "Détails de la réunion" (Meetings) ; Animation: Aucune ]

Effectuer une recherche sémantique [ Requête par: Langage naturel ; Nom de compte: "mon-compte" ; Modèle d'intégration : "text-embedding-3-small" ; Texte: "Recrutement, définition du poste, plan de formation" ; Jeu d'enregistrements: Tous les enregistrements ; Rubrique cible: Meetings::Note_Embedding ; Nombre de retours: 10 ; Condition de similarité cosinus: est supérieur à ;  Valeur de similarité cosinus: ,4 ]

Exemple 2 

Configure un compte IA, active le modèle Détails de la réunion, puis demande à l'utilisateur quel texte rechercher. La fonction GetEmbedding envoie ce texte au modèle, puis Définir rubrique stocke les vecteurs d'intégration dans la rubrique Conteneur globale Meetings::Input. En supposant que la rubrique Conteneur Meetings::Note_Embedding contienne des vecteurs d'intégration pour le contenu de Meetings::Note (consultez l'Exemple 1 dans Insérer l'intégration dans le jeu trouvé), la fonction Effectuer une recherche sémantique compare les données vectorielles dans Meetings::Input avec Meetings::Note_Embedding dans tous les enregistrements et renvoie un jeu trouvé qui répond aux critères de nombre de retours et de similarité.

Copier
Configurer le compte IA [ Nom de compte: "mon-compte" ; Fournisseur de modèles: OpenAI ; Clé API : "sk-RZCtpWT..." ]

Activer le modèle [ "Détails de la réunion" (Meetings) ; Animation: Aucune ]

Ouvrir boîte dial. person. [ "Trouver des réunions avec des remarques sur:" ; $Input ]
Définir rubrique [ Meetings::Input ; GetEmbedding ( "mon-compte" ; "text-embedding-3-small" ; $Input ) ]

Effectuer une recherche sémantique [ Requête par: Données vectorielles ; Meetings::Input ; Jeu d'enregistrements: Tous les enregistrements ; Rubrique cible: Meetings::Note_Embedding ; Nombre de retours: 10 ; Condition de similarité cosinus: est supérieur à ; Valeur de similarité cosinus: ,4 ]