Semantische Suche durchführen

Führt eine semantische Suche im angegebenen Feld durch und beschränkt die angegebene Datensatzmenge für den angegebenen Suchtext und das zu verwendende Modell oder für die angegebenen Einbettungsvektoren.

Optionen 

  • Abfrage nach gibt an, ob die Abfrage Natürliche Sprache (Text) oder Einbettung von Vektordaten aufweist.

  • Datensatzmenge gibt an, ob Alle Datensätze oder Aktuelle Ergebnismenge gesucht werden sollen.

  • Zielfeld gibt ein Text- oder Containerfeld an, in dem gesucht werden soll. Der Inhalt des Felds muss Einbettungsvektoren enthalten, entweder als JSON-Array, wenn es sich um ein Textfeld handelt, oder als Binärdaten, wenn es sich um ein Containerfeld handelt.

  • Anzahl der Rückgaben ist ein numerischer Ausdruck für die Anzahl der semantisch ähnlichen Datensätze, die als Ergebnismenge zurückgegeben werden sollen. Wenn nichts angegeben wird, ist die Standardeinstellung maximal 10 Datensätze.

  • Die Bedingung für Cosinus-Ähnlichkeit gibt an, wie die Cosinus-Ähnlichkeit der Daten mit dem Wert für Cosinus-Ähnlichkeit verglichen wird. Wenn nicht angegeben, wird die Ergebnismenge nicht durch eine Bedingung für Cosinus-Ähnlichkeit eingeschränkt.

  • Wert für Cosinus-Ähnlichkeit ist der Schwellenwert, der zusammen mit der Bedingung für Cosinus-Ähnlichkeit verwendet wird, um festzustellen, ob die Daten semantisch ähnlich oder unähnlich sind. Dieser numerische Ausdruck muss einen Wert zwischen -1 (unähnlich) und 1 (ähnlich) aufweisen.

Die Optionen sind nur verfügbar, wenn für Abfrage nach die Option Natürliche Sprache festgelegt ist:

  • Kontoname ist ein Textausdruck des KI-Kontos, das für diesen Scriptschritt verwendet werden soll. Verwenden Sie in der aktuellen Datei den Scriptschritt „KI-Konto konfigurieren“, um das Konto einzurichten und ihm diesen Namen zuzuweisen, bevor dieser Scriptschritt ausgeführt wird.

  • Einbettungsmodell ist der Name des Modells zur Generierung von Einbettungsvektoren. Geben Sie den Modellnamen als Textausdruck an, der beim Modellanbieter verfügbar ist.

  • Text ist ein Textausdruck für den zu suchenden Text. Dieser Text wird an das Modell gesendet, um ihn mit den Einbettungsvektoren im Zielfeld auf Ähnlichkeit zu vergleichen.

Die Optionen sind nur verfügbar, wenn für Abfrage nach die Option Vektordaten festgelegt ist:

  • Die Einbettungsvektoren, die den zu suchenden Text darstellen. Dies ist ein Ausdruck, der Containerdaten zurückgibt, z. B. einen Verweis auf ein Containerfeld. Die Ergebnisse werden dem Text, den diese Vektordaten darstellen, semantisch ähnlich sein.

Kompatibilität 

Produkt Unterstützt
FileMaker Pro Ja
FileMaker Go Ja
FileMaker WebDirect Ja
FileMaker Server Ja
FileMaker Cloud Ja
FileMaker Data API Ja
Custom Web Publishing Ja

Ursprung in Version 

21.0

Beschreibung 

Dieser Scriptschritt sucht nach Datensätzen, in denen der Inhalt des Zielfelds der Abfrage semantisch ähnlich ist, anstatt nach wörtlichen Schlüsselwortübereinstimmungen zu suchen, wie beim Scriptschritt „Ergebnismenge suchen“.

Dieser Scriptschritt hat zwei Betriebsmodi, die durch die Option Abfrage nach bestimmt werden:

  • Bei der Einstellung Natürliche Sprache geben Sie die Abfrage als Text in natürlicher Sprache in der Option Text an. Dieser Scriptschritt sendet diesen Abfragetext an das angegebene Modell zur Umwandlung in Einbettungsvektoren. Aus diesem Grund erfordert dieser Modus einen KI-Kontonamen und ein Einbettungsmodell.

  • Bei der Einstellung Vektordaten stellen Sie die Einbettungsvektoren als Containerdaten für die Abfrage bereit. Wenn Sie bestimmte Abfragen häufig verwenden, kann es effizienter sein, die Einbettungsvektoren für diese Abfragen einmal abzurufen und zu speichern, als sie häufig aus dem Modell abzurufen.

Ausgehend von entweder allen Datensätzen in der aktuellen Tabelle oder nur den Datensätzen in der aktuellen Ergebnismenge (festgelegt durch die Option Datensatzmenge), vergleicht dieser Scriptschritt die Daten in Zielfeld mit der Abfrage auf semantische Ähnlichkeit (oder Unähnlichkeit). Das Ergebnis ist eine eingeschränkte Ergebnismenge von nicht mehr als Anzahl der Rückgaben Datensätzen, die die Bedingungen für Cosinus-Ähnlichkeit erfüllen. Die resultierende Ergebnismenge wird nach absteigender Cosinus-Ähnlichkeit sortiert, sodass die relevantesten Datensätze an erster Stelle stehen.

Beispiel 1 

Konfiguriert ein KI-Konto, geht zum Layout „Meetingdetails“ und führt dann in allen Datensätzen eine semantische Suche nach Text (als natürliche Sprache) im Containerfeld „Meetings::Notiz_Einbettung“ durch, das Einbettungsvektoren für den Inhalt des Felds „Besprechung::Notiz“ enthält (siehe Beispiel 1 in Einbettung in Ergebnismenge einfügen). Um nützlichere Ergebnisse zu erhalten, ist die Anzahl der Rückgaben auf 10 begrenzt und die Cosinus-Ähnlichkeit zwischen Text und dem Inhalt des Felds „Meetings::Notiz_Einbettung“ muss größer als 0,4 sein. Die Ergebnismenge wird so sortiert, dass die relevantesten Datensätze an erster Stelle stehen.

Kopieren
KI-Konto konfigurieren [ Kontoname: "mein-Konto" ; Modellanbieter: OpenAI ; API-Schlüssel: "sk-RZCtpWT..." ]

Gehe zu Layout [ "Meetingdetails" (Meetings) ; Animation: Keine ]

Semantische Suche durchführen [ Abfrage nach: Natürliche Sprache ; Kontoname: "mein-Konto" ; Einbettungsmodell: "Text-Einbettung-3-klein" ; Text: "Rekrutierung, Stellenbeschreibung, Schulungsplan" ; Datensatzmenge: Alle Datensätze ; Zielfeld: Meetings::Notiz_Einbettung ; Anzahl der Rückgaben: 10 ; Bedingung für Cosinus-Ähnlichkeit: ist größer als ; Wert für Cosinus-Ähnlichkeit: .4 ]

Beispiel 2 

Konfiguriert ein KI-Konto, wechselt zum Layout „Meetingdetails“ und fragt den Benutzer dann nach dem zu suchenden Text. Die Funktion „GetEmbedding“ sendet diesen Text an das Modell, dann speichert „Feldwert setzen“ die Einbettungsvektoren im globalen Containerfeld „Meetings::Eingabe“. Angenommen, das Containerfeld „Meetings::Notiz_Einbettung“ enthält Einbettungsvektoren für den Inhalt des Felds „Meetings::Notiz“ (siehe Beispiel 1 in Einbettung in Ergebnismenge einfügen). Dann vergleicht „Semantische Suche durchführen“ die Vektordaten in „Meetings::Eingabe“ mit „Meetings::Notiz_Einbettung“ in allen Datensätzen und liefert eine Ergebnismenge, die die Anzahl der Rückgaben und die Ähnlichkeitskriterien erfüllt.

Kopieren
KI-Konto konfigurieren [ Kontoname: "mein-Konto" ; Modellanbieter: OpenAI ; API-Schlüssel: "sk-RZCtpWT..." ]

Gehe zu Layout [ "Meetingdetails" (Meetings) ; Animation: Keine ]

Eigenes Dialogfeld anzeigen [ "Meetings suchen mit Notizen zu:" ; $Eingabe ]
Feldwert setzen [ Meetings::Eingabe ; GetEmbedding ( "mein-Konto" ; "text-einbettung-3-klein" ; $Eingabe ) ]

Semantische Suche durchführen [ Abfrage nach: Vektordaten ; Meetings::Eingabe ; Datensatzmenge: Alle Datensätze ; Zielfeld: Meetings::Notiz_Einbettung ; Anzahl der Rückgaben: 10 ; Bedingung für Cosinus-Ähnlichkeit: ist größer als ; Wert für Cosinus-Ähnlichkeit: .4 ]