Semantische zoekopdracht uitvoeren

Voert een semantische zoekopdracht uit in het opgegeven veld en beperkt de opgegeven recordset voor de opgegeven zoektekst en het opgegeven te gebruiken model of voor de opgegeven insluitvectoren.

Opties 

  • Zoeken op geeft aan of de zoekopdracht Natuurlijke taal (tekst) is of Vectorgegevens insluit.

  • Met Recordreeks selecteert u of u Alle records of de Huidige gevonden reeks wilt doorzoeken.

  • Doelveld specificeert een tekst- of containerveld waarin moet worden gezocht. De inhoud van het veld moet insluitvectoren bevatten, hetzij als een JSON matrix bij een tekstveld, hetzij als binaire gegevens bij een containerveld.

  • Aantal retourneringen is een numerieke expressie voor het aantal semantisch vergelijkbare records dat wordt geretourneerd als de gevonden reeks. Indien dit niet is opgegeven, is de standaardinstelling maximaal 10 records.

  • De Cosinusgelijkenis voorwaarde specificeert hoe de cosinusgelijkenis van de gegevens wordt vergeleken met de Waarde voor cosinusgelijkenis. Als deze niet is opgegeven, wordt de gevonden reeks niet beperkt door een voorwaarde voor cosinusgelijkenis.

  • De Waarde voor cosinusgelijkenis is de drempel die wordt gebruikt in combinatie met de Cosinusgelijkenis voorwaarde om te bepalen of gegevens semantisch vergelijkbaar of ongelijk zijn. Deze numerieke expressie moet een waarde hebben tussen -1 (ongelijk) en 1 (vergelijkbaar), inclusief.

Opties zijn alleen beschikbaar als Zoeken op Natuurlijke taal is:

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

  • Tekst is een tekstexpressie waarmee de tekst kan worden gevonden. Deze tekst wordt naar het model verzonden om te vergelijken met de insluitvectoren in het Doelveld voor gelijkenis.

Opties zijn alleen beschikbaar als Zoeken op Vectorgegevens is:

  • De insluitvectoren die de te zoeken tekst vertegenwoordigen. Dit is een expressie die containergegevens retourneert, zoals een verwijzing naar een containerveld. Resultaten zullen semantisch vergelijkbaar zijn met de tekst die deze vectorgegevens vertegenwoordigen.

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 

In deze scriptstap wordt gezocht naar records waarin de inhoud van het Doelveld semantisch vergelijkbaar is met de zoekopdracht, in plaats van te zoeken naar letterlijke overeenkomsten met trefwoorden zoals bij de scriptstap Zoekopdracht uitvoeren scriptstap.

Deze scriptstap heeft twee werkingsmodi die worden bepaald door de optie Zoeken op:

  • Wanneer deze optie is ingesteld op Natuurlijke taal, geeft u de zoekopdracht op als tekst in natuurlijke taal in de optie Tekst. Deze scriptstap verzendt die zoekopdrachttekst naar het opgegeven model voor conversie naar insluitvectoren. Daarom is voor deze modus een AI-accountnaam en insluitmodel vereist.

  • Als u Vectorgegevens instelt, geeft u de insluitvectoren op als containergegevens voor de zoekopdracht. Als u vaak bepaalde zoekopdrachten gebruikt, kan het efficiënter zijn om vectoren voor die zoekopdrachten één keer in te sluiten en op te slaan in plaats van ze vaak uit het model te halen.

Deze scriptstap begint met alle records in de huidige tabel of alleen met de records in de huidige gevonden set (ingesteld met de optie Recordreeks) en vergelijkt de gegevens in het Doelveld met de zoekopdracht voor semantische gelijkenis (of ongelijkenis). Het resultaat is een beperkte (versmalde) gevonden reeks van niet meer dan het Aantal retourneringen van records dat voldoet aan de voorwaarden voor cosinusgelijkenis. De resulterende gevonden reeks wordt gesorteerd op aflopende cosinusgelijkenissen, zodat de meest relevante records als eerste worden weergegeven.

Voorbeeld 1 

Hiermee configureert u een AI-account, gaat u naar de lay-out Bijeenkomstdetails en voert u in alle records een semantische zoekactie uit voor Tekst (als natuurlijke taal) in het containerveld Meetings::Note_Embedding. Dit veld bevat insluitvectoren voor de inhoud van het veld Meetings::Note (zie Voorbeeld 1 in Insluiting invoegen in gevonden reeks). Voor nuttigere resultaten is het geretourneerde aantal beperkt tot 10 en moet de cosinusgelijkenis tussen Tekst en de inhoud van het veld Meetings::Note_Embedding groter zijn dan 0,4. De resulterende gevonden reeks wordt eerst gesorteerd met de meest relevante records.

Kopiëren
AI-account configureren [ Accountnaam: "my-account" ; Modelprovider: OpenAI ; API-sleutel: "sk-RZCtpWT..." ]

Ga naar lay-out [ "Bijeenkomstdetails" (Meetings) ; Animatie: Geen ]

Semantische zoekopdracht uitvoeren [ Zoeken op: Natuurlijke taal ; Accountnaam: "my-account" ; Insluitmodel: "text-embedding-3-small" ; Tekst: "Recruitment, job definition, training plan" ; Recordreeks: Alle records ; Doelveld: Meetings::Note_Embedding ; Aantal retourneringen: 10 ; Cosinusgelijkenis Voorwaarde: groter dan ; Waarde voor cosinusgelijkenis: .4 ]

Voorbeeld 2 

Hiermee configureert u een AI-account, gaat u naar de lay-out Bijeenkomstdetails en vraagt u de gebruiker naar tekst te zoeken. De functie GetEmbedding functie stuurt die tekst naar het model en vervolgens slaat Veld instellen de insluitvectoren op in het globale containerveld Meetings::Input. Ervan uitgaande dat het containerveld Meetings::Note_Embedding insluitvectoren bevat voor de inhoud van het veld Meetings::Note (zie Voorbeeld 1 in Insluiting invoegen in gevonden reeks), vergelijkt Semantische zoekopdracht uitvoeren de vectorgegevens in Meetings::Input met Meetings::Note_Embedding in alle records en wordt een gevonden reeks geretourneerd die voldoet aan de criteria voor aantal en gelijkenis.

Kopiëren
AI-account configureren [ Accountnaam: "my-account" ; Modelprovider: OpenAI ; API-sleutel: "sk-RZCtpWT..." ]

Ga naar lay-out [ "Bijeenkomstdetails" (Meetings) ; Animatie: Geen ]

Aangepast dialoogvenster tonen [ "Bijeenkomsten zoeken met notities over:" ; $Input ]
Veld instellen [ Meetings::Input ; GetEmbedding ( "my-account" ; "text-embedding-3-small" ; $Input ]

Semantische zoekopdracht uitvoeren [ Zoeken op: Vector-gegevens ; Meetings::Input ; Recordreeks: Alle records ; Doelveld: Meetings::Note_Embedding ; Aantal retourneringen: 10 ; Cosinusgelijkenis voorwaarde: groter dan ; Waarde voor cosinusgelijkenis: .4 ]