Einbettung in Ergebnismenge einfügen
Sendet für jeden Datensatz in der Ergebnismenge Daten aus einem Quellfeld an ein Einbettungsmodell und fügt die zurückgegebene Vektordarstellung in ein Zielfeld ein.
Optionen
-
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.
-
Quellfeld ist das Textfeld oder Containerfeld, dessen Werte dieser Scriptschritt an das Modell zur Konvertierung in Einbettungsvektoren sendet. Wenn das Feld leer ist, wird nichts an das Modell gesendet und das Zielfeld wird nicht verändert.
-
Zielfeld gibt das Feld an, in das die zurückgegebenen Einbettungsvektoren eingefügt werden sollen. Wenn Sie ein Textfeld angeben, werden die zurückgegebenen Daten als Text gespeichert. Wenn Sie ein Containerfeld angeben, werden die zurückgegebenen Daten als Binärdaten gespeichert, die kleiner sein können als bei der Speicherung als Text und die weitere Verarbeitung mit den Einbettungsvektoren verbessern können.
-
Zielinhalte ersetzen ersetzt den Inhalt des Zielfelds, falls vorhanden. Wenn diese Option ausgeschaltet ist, werden Einbettungsdaten nur dann zum Zielfeld hinzugefügt, wenn das Feld leer ist; andernfalls wird das Feld unverändert gelassen. Die Aktivierung dieser Option ist nützlich, wenn sich der Inhalt von Quellfeld häufig ändert.
-
Parameter ist ein Textausdruck für ein JSON-Objekt, das Grenzen für die Größe, Anzahl und Häufigkeit der an das Modell gesendeten Abfragen angibt. Verwenden Sie diese, um Ihr Script in Abhängigkeit von der Datenmenge, dem verwendeten Modell, den Token-Grenzen des Modellanbieters und den technischen Spezifikationen (Kerne, RAM usw.) des Rechners, auf dem das Modell läuft, zu optimieren. Einzelheiten finden Sie in der Beschreibung.
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
Für jeden Datensatz in der aktuellen Ergebnismenge sendet dieser Scriptschritt den Wert in Quellfeld an das angegebene Modell zur Konvertierung in Einbettungsvektoren, die in Zielfeld gespeichert sind.
Ein Beispiel für die Verwendung von Einbettungsvektoren ist der Scriptschritt „Semantische Suche durchführen“, der die von diesem Scriptschritt oder dem Scriptschritt „Einbettung einfügen“ erzeugten Vektordaten abfragen kann.
Für Bild- und Text-Einbettungsvektoren können Sie die Modelle verwenden, die vom Open-Source-Modell-Server unterstützt werden, der separat mit FileMaker Pro bereitgestellt oder mit FileMaker Server installiert wird. Siehe Claris Engineering Blog.
Für die Option Parameter können Sie die folgenden Schlüssel und Werte in einem JSON-Objekt verwenden, um das Verhalten dieses Scriptschritts bei Bedarf anzupassen. Wenn kein Schlüssel angegeben oder die Option Parameter nicht verwendet wird, werden die Standardwerte verwendet.
Parameterschlüssel |
Beschreibung |
Datentyp1 |
Standardwert |
Bereich von Werten |
Nur OpenAI |
|
Maximale Anzahl von Datensätzen, die bei jedem API-Aufruf verarbeitet werden |
|
20 |
1 bis 500 |
— |
|
Maximale Anzahl von Wiederholungsversuchen bei fehlgeschlagenem API-Aufruf |
|
5 |
1 bis 100 |
— |
|
Maximale Wartezeit zwischen OpenAI API-Aufrufen (in Millisekunden). Dies wird nur verwendet, wenn OpenAI zu viele Anfragen pro Minute erhält. In diesem Fall wartet dieser Scriptschritt bis zu |
|
60.000 |
20 bis 3.600.000 |
Ja |
|
Anzahl der Token, die bei eingeschalteter Funktion |
|
8.185 |
0 bis 100.000 |
Ja |
|
1 (wahr) schneidet die Eingabe von Quellfeld bis Hinweis Die Funktion „Semantische Suche“ liefert möglicherweise weniger genaue Ergebnisse, wenn die Eingabe abgeschnitten wird. |
|
1 |
0 oder 1 |
Ja |
-
Wenn Sie die Funktion „JSONSetElement“ zur Erstellung des JSON-Objekts verwenden, benutzen Sie die angegebene Konstante für den Parameter
Typ
.
Dieses JSON-Objekt legt z. B. alle Schlüssel in der Option Parameter fest:
{
"MaxRecPerCall" : 40,
"MaxRetryPerWorker" : 10,
"MaxWaitPerRetry" : 300000,
"TruncateTokenLimit" : 4000,
"TruncateEnabled" : 1
}
Hinweise
-
Um die Aktualisierung von Einbettungsvektoren in einer bereitgestellten FileMaker Pro-Datei regelmäßig zu automatisieren, können Sie einen Zeitplan auf dem Host einrichten, um Ihr FileMaker-Script ohne Benutzerinteraktion auszuführen. Siehe „FileMaker-Script-Zeitpläne“ in der FileMaker Server Hilfe oder der FileMaker Cloud Hilfe.
Beispiel 1
Konfiguriert ein KI-Konto, wechselt zum Layout „Meetingdetails“, zeigt alle Datensätze an, ruft dann Einbettungsvektoren für den Text im Feld „Meetings::Notiz“ ab und speichert sie als Binärdaten im Containerfeld „Meetings::Notiz_Einbettung“. Da die Option Zielinhalte ersetzen aktiviert ist, wird „Meetings::Notiz_Einbettung“ aktualisiert, auch wenn dort bereits Daten enthalten sind.
KI-Konto konfigurieren [ Kontoname: "mein-Konto" ; Modellanbieter: OpenAI ; API-Schlüssel: "sk-RZCtpWT..." ]
Gehe zu Layout [ "Meetingdetails" (Meetings) ; Animation: Keine ]
Alle Datensätze anzeigen
Einbettung in Ergebnismenge einfügen [ Kontoname: "mein-Konto" ; Einbettungsmodell: "Text-Einbettung-3-klein" ; Quellfeld: Meetings::Notiz ; Zielfeld: Meetings::Notiz_Einbettung ; Zielinhalte ersetzen ]
Beispiel 2
Konfiguriert ein KI-Konto, wechselt zum Layout „Meetingdetails“ und sucht dann die Datensätze, in denen das Feld „Meetings::Titel“ den Eintrag „Status“ enthält. Ruft für diese Ergebnismenge Einbettungsvektoren für den Text im Feld „Meetings::Notiz“ ab und speichert sie als Binärdaten im Containerfeld „Meetings::Notiz_Einbettung“, wenn noch keine Daten vorhanden sind (Zielinhalte ersetzen ist ausgeschaltet). Setzt auch die Option Parameter, um die Datensätze pro Aufruf, die Anzahl der Wiederholungen und die Zeit zwischen den Wiederholungen zu erhöhen und die Tokengrenze zu senken.
KI-Konto konfigurieren [ Kontoname: "mein-Konto" ; Modellanbieter: OpenAI ; API-Schlüssel: "sk-RZCtpWT..." ]
Gehe zu Layout [ "Meetingdetails" (Meetings) ; Animation: Keine ]
Suchenmodus aktivieren [ Pause: Aus ]
Feldwert setzen [ Meetings::Status ; "Erledigt" ]
Ergebnismenge suchen [ ]
Einbettung in Ergebnismenge einfügen [ Kontoname: "mein-Konto" ; Einbettungsmodell: "Text-Einbettung-3-klein" ; Quellfeld: Meetings::Notiz ; Zielfeld: Meetings::Notiz_Einbettung ;
Parameter: JSONSetElement ( "" ;
["MaxRecPerCall" ; 40 ; JSONNumber] ;
["MaxRetryPerWorker" ; 10 ; JSONNumber] ;
["MaxWaitPerRetry" ; 300000 ; JSONNumber] ;
["TruncateTokenLimit" ; 4000 ; JSONNumber] ;
["TruncateEnabled" ; 1 ; JSONNumber]
) ]
Beispiel 3
Konfiguriert ein KI-Konto für einen benutzerdefinierten Modellanbieter, wechselt zum Layout „Meetingdetails“, zeigt alle Datensätze an und verwendet dann für jeden Datensatz ein Bild-Einbettungsmodell, um Einbettungsvektoren für das Bild im Containerfeld „Meetings::Bild“ abzurufen und als Binärdaten im Containerfeld „Meetings::Bild_Einbettung“ zu speichern.
KI-Konto konfigurieren [ Kontoname: "mein-Konto" ; Modellanbieter: Benutzerdefiniert ; Endpunkt: "https://mein-server.beispiel.com:8080/" ; SSL-Zertifikate verifizieren ; API-Schlüssel: Global::API_Schlüssel ]
Gehe zu Layout [ "Meetingdetails" (Meetings) ; Animation: Keine ]
Alle Datensätze anzeigen
Einbettung in Ergebnismenge einfügen [ Kontoname: "mein-Konto" ; Einbettungsmodell: "clip-ViT-L-14" ; Quellfeld: Meetings::Bild ; Zielfeld: Meetings::Bild_Einbettung ; Zielinhalte ersetzen ]