Insluiting invoegen in gevonden reeks
Stuurt voor elk record in de gevonden set gegevens van een bronveld naar een inbeddingsmodel en voert de geretourneerde vectorweergave in een doelveld in.
Zie ook
Opties
-
Accountnaam is een tekstexpressie van het AI-account dat voor deze scriptstap moet worden gebruikt. Gebruik in het huidige bestand de scriptstap AI-account configureren scriptstap om het account in te stellen en deze naam toe te wijzen op elk moment voordat deze scriptstap wordt uitgevoerd.
-
Insluitmodel is de naam van het model waarmee insluitvectoren worden gegenereerd. Geef de modelnaam op als een tekstexpressie, die beschikbaar is bij de modelprovider.
-
Bronveld is het tekstveld waarvan de waarden door deze scriptstap naar het model worden verzonden voor conversie naar insluitvectoren. Als het veld leeg is, wordt er niets naar het model verzonden en blijft het doelveld ongewijzigd.
-
Doelveld specificeert het veld waarin de geretourneerde insluitvectoren moeten worden ingevoegd. Als u een tekstveld opgeeft, worden de geretourneerde gegevens opgeslagen als tekst. Als u een containerveld opgeeft, worden de geretourneerde gegevens opgeslagen als binaire gegevens. Deze gegevens kunnen kleiner zijn dan wanneer ze als tekst worden opgeslagen en kunnen de verdere verwerking van de insluitvectoren verbeteren.
-
Met Doelinhoud vervangen wordt de inhoud van het doelveld vervangen, indien aanwezig. Als deze optie is uitgeschakeld, worden insluitgegevens alleen aan het doelveld toegevoegd als het veld leeg is; anders blijft het veld ongewijzigd. Het inschakelen van deze optie is handig als de inhoud van het Bronveld regelmatig verandert.
-
Parameters is een tekstexpressie voor een JSON-object waarmee beperkingen worden opgegeven voor de grootte, het aantal en de frequentie van aanvragen die naar het model worden verzonden. Gebruik dit om uw script te optimaliseren afhankelijk van de hoeveelheid gegevens, het gebruikte model, de tokenlimieten van de modelprovider en de technische specificaties (kernen, RAM, enzovoort) van de machine waarop het model wordt uitgevoerd. Zie Beschrijving voor meer informatie.
Compatibiliteit
Product | Ondersteund |
FileMaker Pro | Ja |
FileMaker Go | Ja |
FileMaker WebDirect | Ja |
FileMaker Server | Ja |
FileMaker Cloud | Ja |
FileMaker Data API | Ja |
Custom Web Publishing | Ja |
Afkomstig uit versie
21.0
Beschrijving
Voor elke record in de huidige gevonden reeks stuurt deze scriptstap de waarde in het Bronveld naar het opgegeven model voor conversie naar insluitvectoren die zijn opgeslagen in het Doelveld.
Een voorbeeld van hoe u insluitvectoren kunt gebruiken, is met de scriptstap Semantische zoekopdracht uitvoeren scriptstap, waarmee u de vectorgegevens kunt opvragen die door deze scriptstap of de scriptstap Insluiting invoegen zijn geproduceerd.
Voor insluitvectoren voor afbeeldingen en tekst kunt u de modellen gebruiken die worden ondersteund door de open source-modelserver die afzonderlijk bij FileMaker Pro of bij FileMaker Server is geïnstalleerd. Zie het technische blog van Claris.
Voor de optie Parameters kunt u de volgende sleutels en waarden in een JSON-object gebruiken om het gedrag van deze scriptstap indien nodig aan te passen. Als er geen sleutel is opgegeven of de optie Parameters niet wordt gebruikt, worden de standaardwaarden gebruikt.
Parametersleutel |
Beschrijving |
Gegevenstype1 |
Standaardwaarde |
Bereik van waarden |
Alleen OpenAI |
|
Maximum aantal records dat moet worden verwerkt bij elke API-aanroep |
|
20 |
1 tot 500 |
— |
|
Maximum aantal pogingen als API-aanroep mislukt |
|
5 |
1 tot 100 |
— |
|
Maximale wachttijd tussen OpenAI API-aanroepen (in milliseconden). Dit wordt alleen gebruikt als OpenAI te veel verzoeken per minuut ontvangt. In dat geval wacht deze scriptstap op |
|
60.000 |
20 tot 3.600.000 |
Ja |
|
Aantal tokens voordat invoer wordt afgekapt van Bronveld tot wanneer
|
|
8.185 |
0 tot 100.000 |
Ja |
|
1 (waar) kapt invoer af van Bronveld naar Opmerking Semantisch zoeken kan minder nauwkeurige resultaten opleveren als de invoer wordt afgekapt. |
|
1 |
0 of 1 |
Ja |
-
Als u de functie JSONSetElement functie gebruikt om het JSON object te maken, gebruikt u de aangegeven constante voor de parameter
type
.
Dit JSON object stelt bijvoorbeeld alle sleutels in de optie Parameters in:
{
"MaxRecPerCall" : 40,
"MaxRetryPerWorker" : 10,
"MaxWaitPerRetry" : 300000,
"TruncateTokenLimit" : 4000,
"TruncateEnabled" : 1
}
Opmerkingen
-
Om het regelmatig bijwerken van insluitvectoren in een gehost FileMaker Pro-bestand te automatiseren, kunt u een schema op de host instellen om uw FileMaker-script uit te voeren zonder tussenkomst van de gebruiker. Zie FileMaker scriptschema's in de FileMaker Server Help of de FileMaker Cloud Help.
Voorbeeld 1
Hiermee configureert u een AI-account, gaat u naar de lay-out Bijeenkomstdetails, toont u alle records en haalt u vervolgens insluitvectoren voor de tekst op in het veld Meetings::Note en slaat u deze op als binaire gegevens in het containerveld Meetings::Note_Embedding. Omdat de optie Doelinhoud vervangen is ingeschakeld, wordt Meetings::Note_Embedding bijgewerkt, zelfs als het al gegevens bevat.
AI-account configureren [ Accountnaam: "my-account" ; Modelprovider: OpenAI ; API-sleutel: "sk-RZCtpWT..." ]
Ga naar lay-out [ "Bijeenkomstdetails" (Meetings) ; Animatie: Geen ]
Alle records tonen
Insluiting invoegen in gevonden reeks [ Accountnaam: "My-account" ; Insluitmodel: "Text-embedding-3-small" ; Bronveld: Meetings::Note ; Doelveld: Meetings::Note_Embedding ; Doelinhoud vervangen ]
Voorbeeld 2
Hiermee configureert u een AI-account, gaat u naar de lay-out Bijeenkomstdetails en zoekt u naar de records waarin het veld Meetings::Title het woord "Status" bevat. Haalt voor deze gevonden reeks insluitvectoren voor de tekst op in het veld Meetings::Note en slaat deze op als binaire gegevens in het containerveld Meetings::Note_Embedding, als er geen gegevens aanwezig zijn (Doelinhoud vervangen is uitgeschakeld). Hiermee stelt u ook de optie Parameters in om het aantal records per aanroep, het aantal nieuwe pogingen en de tijd tussen nieuwe pogingen te verhogen en de tokenlimiet te verlagen.
AI-account configureren [ Accountnaam: "my-account" ; Modelprovider: OpenAI ; API-sleutel: "sk-RZCtpWT..." ]
Ga naar lay-out [ "Bijeenkomstdetails" (Meetings) ; Animatie: Geen ]
Ga naar de zoekmodus [ Onderbreken: Uit ]
Veld instellen [ Meetings::Status ; "Gereed" ]
Zoekopdracht uitvoeren [ ]
Insluiting invoegen in gevonden reeks [ Accountnaam: "my-account" ; Insluitmodel: "text-embedding-3-small" ; Bronveld: Meetings::Note ; Doelveld: Meetings::Note_Embedding ;
Parameters: JSONSetElement ( "" ;
["MaxRecPerCall" ; 40 ; JSONNumber] ;
["MaxRetryPerWorker" ; 10 ; JSONNumber] ;
["MaxWaitPerRetry" ; 300000 ; JSONNumber] ;
["TruncateTokenLimit" ; 4000 ; JSONNumber] ;
["TruncateEnabled" ; 1 ; JSONNumber]
) ]
Voorbeeld 3
Hiermee configureert u een AI-account voor een aangepaste modelprovider, gaat u naar de lay-out Bijeenkomstdetails, toont u alle records en gebruikt u voor elke record een model voor het insluiten van afbeeldingen om insluitvectoren voor de afbeelding op te halen in het containerveld Vergaderingen::Afbeelding en dit op te slaan als binaire gegevens in het containerveld Vergaderingen::Afbeelding.
AI-account configureren [ Accountnaam: "mijn-account" ; Modelprovider: Aangepast ; Eindpunt: "https://my-server.example.com:8080/" ; SSL-certificaten verifiëren ; API-sleutel: Globaal::API_Sleutel ]
Ga naar lay-out [ "Bijeenkomstdetails" (Meetings) ; Animatie: Geen ]
Alle records tonen
Insluiting invoegen in gevonden reeks [ Accountnaam: "mijn-account" ; Insluitmodel: "clip-ViT-L-14" ; Bronveld: Vergaderingen::Afbeelding ; Doelveld: Vergaderingen::Afbeelding_Invoer ; Doelinhoud vervangen ]