Inserisci Embedding nel gruppo trovato

Per ogni record del gruppo trovato, invia i dati di un campo di origine a un modello di embedding e inserisce la rappresentazione vettoriale restituita in un campo di destinazione.

Opzioni 

  • Nome account è un'espressione di testo dell'account AI per questa istruzione di script da utilizzare. Nel file corrente, utilizzare l'istruzione di script Configura account AI per configurare l'account e assegnargli questo nome in qualsiasi momento prima che questa istruzione di script venga eseguita.

  • Modello di Embedding è il nome del modello per generare vettori di embedding. Specificare il nome del modello come espressione di testo, disponibile presso il fornitore del modello.

  • Campo di origine è il campo di testo o il campo Contenitore i cui valori vengono inviati da questa istruzione di script al modello per la conversione in vettori di embedding. Se il campo è vuoto, al modello non viene inviato nulla e il campo di destinazione non viene modificato.

  • Campo di destinazione specifica il campo in cui inserire i vettori di embedding restituiti. Se si specifica un campo di testo, i dati restituiti vengono memorizzati come testo. Se si specifica un campo Contenitore, i dati restituiti vengono memorizzati come dati binari, che possono avere dimensioni più piccole di quando vengono memorizzati come testo e possono migliorare le ulteriori elaborazioni eseguite con i vettori di embedding.

  • Sostituisci contenuti destinazione sostituisce il contenuto del campo di destinazione, se presente. Quando questa opzione è disattivata, i dati di embedding vengono aggiunti al campo di destinazione solo se il campo è vuoto; in caso contrario, il campo viene lasciato invariato. L'attivazione di questa opzione è utile se il contenuto di Campo di origine cambia frequentemente.

  • Parametri è un'espressione di testo per un oggetto JSON che specifica i limiti di dimensione, numero e frequenza delle richieste inviate al modello. Utilizzare per ottimizzare lo script a seconda della quantità di dati, del modello utilizzato, dei limiti dei token del fornitore del modello e delle specifiche tecniche (core, RAM e così via) della macchina su cui è in esecuzione il modello. Vedere Descrizione per maggiori dettagli.

Compatibilità 

Prodotto Supportata
FileMaker Pro
FileMaker Go
FileMaker WebDirect
FileMaker Server
FileMaker Cloud
FileMaker Data API
Pubblicazione Web personalizzata

Creata nella versione 

21.0

Descrizione 

Per ogni record del gruppo trovato corrente, questa istruzione di script invia il valore di Campo di origine al modello specificato per la conversione in vettori di embedding salvati in Campo di destinazione.

Un esempio di come si possono usare i vettori di embedding prevede l'uso dell'istruzione di script Esegui ricerca semantica, che può effettuare una query dei dati vettoriali prodotti da questa istruzione di script o dall'istruzione Inserisci Embedding.

Per i vettori di embedding sia di immagini che testo, è possibile utilizzare i modelli supportati dal server modello open source fornito separatamente con FileMaker Pro o installato con FileMaker Server. Vedere il Claris Engineering Blog.

Per l'opzione Parametri è possibile utilizzare le seguenti chiavi e i seguenti valori in un oggetto JSON per regolare il comportamento di questa istruzione di script, se necessario. Se non viene specificata una chiave o non viene utilizzata l'opzione Parametri, vengono utilizzati i valori predefiniti.

Chiave parametro

Descrizione

Tipo di dato1

Valore predefinito

Intervallo di valori

Solo OpenAI

MaxRecPerCall

Numero massimo di record da elaborare con ogni chiamata API

JSONNumber

20

Da 1 a 500

MaxRetryPerWorker

Numero massimo di tentativi se la chiamata API non riesce

JSONNumber

5

Da 1 a 100

MaxWaitPerRetry

Tempo massimo di attesa tra le chiamate API OpenAI (in millisecondi). Questo viene utilizzato solo quando OpenAI riceve troppe richieste al minuto. In tal caso, questa istruzione di script attende fino a MaxWaitPerRetry tra le chiamate API OpenAI. Se il tempo di attesa supera questo massimo, questa istruzione di script si ferma e restituisce un errore.

JSONNumber

60.000

Da 20 a 3.600.000

TruncateTokenLimit

Numero di token per troncare l'input da Campo di origine a quando TruncateEnabled è attivo.

JSONNumber

8.185

Da 0 a 100.000

TruncateEnabled

1 (true) tronca l'input da Campo di origine a TruncateTokenLimit prima di inviarlo a OpenAI.

Nota  Esegui ricerca semantica può fornire risultati meno precisi se l'input è troncato.

JSONNumber

1

0 o 1

  1. Se si utilizza la funzione funzione JSONSetElement per creare l'oggetto JSON, utilizzare la costante indicata per il parametro tipo.

Ad esempio, questo oggetto JSON imposta tutte le chiavi nell'opzione Parametri:

Copia
{
    "MaxRecPerCall" : 40,
    "MaxRetryPerWorker" : 10,
    "MaxWaitPerRetry" : 300000,
    "TruncateTokenLimit" : 4000,
    "TruncateEnabled" : 1
}

Note 

  • Per automatizzare l'aggiornamento regolare dei vettori di embedding in un file FileMaker Pro ospitato, è possibile impostare un programma sull'host per eseguire lo script FileMaker senza l'interazione dell'utente. Vedere Programmi di script FileMaker nella Guida di FileMaker Server o nella Guida di FileMaker Cloud.

Esempio 1

Configura un account AI, passa al formato Dettagli riunioni, mostra tutti i record, quindi ottiene i vettori di embedding per il testo del campo Riunioni::Appunto e lo memorizza come dati binari nel campo Contenitore Riunioni::Appunto_Embedding. Poiché l'opzione Sostituisci contenuti destinazione è attiva, Riunioni::Appunto_Embedding viene aggiornato anche se contiene già dati.

Copia
Configura Account AI [ Nome Account: "my-account" ; Fornitore modello: OpenAI ; Chiave API: "sk-RZCtpWT..." ]

Vai al formato [ "Dettagli riunioni" (Riunioni) ; Animazione: Nessuna ]
Mostra tutti i record

Inserisci Embedding nel gruppo trovato [ Nome account: "my-account" ; Modello di Embedding: "text-embedding-3-small" ; Campo di origine: Riunioni::Appunto ; Campo di destinazione: Riunioni::Appunto_Embedding ; Sostituisci contenuti destinazione ]

Esempio 2 

Configura un account AI, passa al formato Dettagli riunioni, quindi trova i record in cui il campo Riunioni::Titolo contiene "Stato". Per questo gruppo trovato, ottiene vettori di embedding per il testo del campo Riunioni::Appunto e lo memorizza come dati binari nel campo Contenitore Riunioni::Appunto_Embedding, se non sono già presenti dati (Sostituisci contenuti destinazione è disattivato). Imposta anche l'opzione Parametri per aumentare i record per chiamata, il numero di tentativi e il tempo tra i tentativi e per abbassare il limite di token.

Copia
Configura account AI [ Nome account: "my-account" ; Fornitore modello: OpenAI ; Chiave API: "sk-RZCtpWT..." ]

Vai al formato [ "Dettagli riunioni" (Riunioni) ; Animazione: Nessuna ]
Passa al modo Trova [ Pausa: Disattivata ]
Imposta campo [ Riunioni::Stato ; "Fatto" ]
Esegui la ricerca [ ]

Inserisci Embedding nel gruppo trovato [ Nome account: "my-account" ; Modello di Embedding: "text-embedding-3-small" ; Campo di origine: Riunioni::Appunto ; Campo di destinazione: Riunioni::Appunto_Embedding ; 
Parametri: JSONSetElement ( "" ;
    ["MaxRecPerCall" ; 40 ; JSONNumber] ; 
    ["MaxRetryPerWorker" ; 10 ; JSONNumber] ; 
    ["MaxWaitPerRetry" ; 300000 ; JSONNumber] ;
    ["TruncateTokenLimit" ; 4000 ; JSONNumber] ;
    ["TruncateEnabled" ; 1 ; JSONNumber]
) ]

Esempio 3

Configura un account AI per un fornitore di modelli personalizzati, va al formato Dettagli riunioni, mostra tutti i record, quindi per ogni record utilizza un modello di embedding di immagini per ottenere vettori di embedding per l'immagine nel campo Contenitore Riunioni::Immagine e la memorizza come dati binari nel campo Contenitore Riunioni::Embedding_Immagine.

Copia
Configura Account AI [ Nome Account: "my-account" ; Fornitore modello: Personalizzato ; Endpoint: "https://my-server.example.com:8080/" ; Verifica certificati SSL ; Chiave API: "Globale::Chiave_API ]
        
Vai al formato [ "Dettagli riunioni" (Riunioni) ; Animazione: Nessuna ]
Mostra tutti i record

Inserisci Embedding nel gruppo trovato [ Nome account: "my-account" ; Modello di Embedding: "clip-ViT-L-14" ; Campo di origine: Riunioni::Immagine ; Campo di destinazione: Riunioni::Embedding_Immagine ; Sostituisci contenuti destinazione ]