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 per il nome dell'account AI 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. Per i modelli supportati, vedere le Specifiche tecniche di FileMaker.

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

  • Continua in caso di errore continua a ottenere vettori di embedding per il gruppo trovato anche dopo aver incontrato errori in alcuni record. Con questa opzione selezionata, i record per i quali si è verificato un errore rimangono vuoti, facilitandone l'individuazione e la risoluzione. Se non è selezionata, l'istruzione di script si interrompe quando si verifica un errore.

  • Mostra riassunto visualizza una finestra di dialogo al termine dell'inserimento dei vettori di embedding. La finestra di dialogo presenta un riepilogo del numero di record aggiornati, saltati o per i quali si è verificato un errore.

  • 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 di immagini e di testo è possibile utilizzare i modelli supportati dal Server modello AI installato con FileMaker Server. Vedere Configurazione dei servizi di AI nella Guida di FileMaker Server.

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

RetryOnError

Quando si verifica un errore in un gruppo di record, 1 (vero) riprova i record del gruppo singolarmente, inserendo embedding per quelli che non causano errori e saltando quelli che li causano. 0 (falso) salta l'intero gruppo di record in cui si è verificato un errore e non genera vettori di embedding.

* Disattivato per impostazione predefinita per tutti i fornitori di modelli specificati nell'account AI ad eccezione di Personalizzato, per il quale RetryOnError è attivato per impostazione predefinita.

Nota  L'attivazione di questo parametro ha la precedenza sull'opzione Continua in caso di errore.

JSONNumber

0*

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. Se si verifica un errore durante l'ottenimento dei vettori di embedding per un record, l'istruzione di script continua con il record successivo.

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 ; Continua in caso di errore ]