Einbettung in Ergebnismenge einfügen

Fügt in jedem Datensatz der Ergebnismenge einen Wert in ein Feld ein, und zwar mit der Vektordarstellung der Inhalte eines angegebenen Feldes.

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, 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 bleibt unverä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 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

MaxRecPerCall

Maximale Anzahl von Datensätzen, die bei jedem API-Aufruf verarbeitet werden

JSONNumber

20

1 bis 500

MaxRetryPerWorker

Maximale Anzahl von Wiederholungsversuchen bei fehlgeschlagenem API-Aufruf

JSONNumber

5

1 bis 100

MaxWaitPerRetry

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 MaxWaitPerRetry zwischen OpenAI API-Aufrufen. Wenn die Wartezeit dieses Maximum überschreitet, wird dieser Scriptschritt abgebrochen und ein Fehler zurückgegeben.

JSONNumber

60000

20 bis 3600000

Ja

TruncateTokenLimit

Anzahl der Token, die bei eingeschalteter Funktion TruncateEnabled von der Eingabe aus Quellfeld abgeschnitten werden.

JSONNumber

8185

0 bis 8192

Ja

TruncateEnabled

Eingabe von Quellfeld bis TruncateTokenLimit abschneiden, bevor diese an OpenAI gesendet wird.

JSONNumber

1

0 oder 1

Ja

  1. 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:

Kopieren
{
    "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.

Kopieren
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.

Kopieren
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]
) ]