Esegui ricerca per linguaggio naturale
Invia un prompt di linguaggio naturale e un elenco di campi del formato corrente a un modello, che restituisce una richiesta di ricerca FileMaker ed esegue una ricerca.
Vedere anche
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 è il nome del modello di generazione di testo da utilizzare. Specificare il nome del modello come espressione di testo. Per i modelli supportati, vedere le Specifiche tecniche di FileMaker.
-
Prompt è un'espressione di testo per la richiesta o la domanda in linguaggio naturale da inviare al modello.
-
Get specifica il tipo di risposta da recuperare dal modello.
-
Gruppo trovato: esegue la richiesta di ricerca generata dal modello e aggiorna il gruppo trovato nella finestra corrente.
-
Gruppo trovato come JSON: esegue la richiesta di ricerca generata dal modello e restituisce i dati del gruppo trovato come oggetto JSON. Non modifica il gruppo trovato nella finestra corrente.
-
Richiesta di ricerca come JSON: non esegue la ricerca. Restituisce la richiesta di ricerca FileMaker generata dal modello come oggetto JSON.
-
-
Nome modello prompt specifica il nome di un modello di prompt personalizzato configurato utilizzando l'istruzione di script Configura modello di prompt. Utilizzare questa opzione per progettare un prompt aggiuntivo per aiutare a ottenere una risposta ottimale da un modello di AI.
-
Parametri è un'espressione di testo per un oggetto JSON costituita da coppie chiave-valore per parametri aggiuntivi supportati dal fornitore del modello. Ad esempio:
{"temperature": 0.7, "seed": 42}
. Fare riferimento alla documentazione del fornitore del modello per i nomi delle chiavi dei parametri supportati e i relativi intervalli validi.La chiave
prompt_contesto
è un parametro speciale che consente di inserire ulteriori istruzioni o contesto nel modello prima del prompt principale. Ad esempio:{"prompt_contesto": "Tratta 'oggi' come 06/26/2025"}
. -
Destinazione risposta specifica il campo o la variabile in cui deve essere memorizzato il risultato dell'istruzione di script.
Compatibilità
Prodotto | Supportata |
FileMaker Pro | Sì |
FileMaker Go | Sì |
FileMaker WebDirect | Sì |
FileMaker Server | Sì |
FileMaker Cloud | Sì |
FileMaker Data API | Sì |
Pubblicazione Web personalizzata | Sì |
Creata nella versione
22.0
Descrizione
Questa istruzione di script consente di eseguire richieste di ricerca FileMaker sui dati utilizzando il linguaggio naturale senza specificare criteri di ricerca come nell'istruzione di script Esegui la ricerca. Utilizza un modello di AI per interpretare un prompt in linguaggio naturale, analizzare i campi disponibili sul formato corrente e generare una richiesta di ricerca FileMaker appropriata (e il criterio di ordinamento, se applicabile).
L'interazione tra questa istruzione di script e il modello in genere segue questi passaggi:
-
Questa istruzione di script identifica tutti i campi del formato corrente accessibili a una ricerca. Invia informazioni su questi campi (simili all'output della funzione GetFieldsOnLayout) insieme al Prompt al Modello specificato (questo include i prompt forniti in un modello di prompt opzionale e il parametro
prompt_contesto
). -
Il modello analizza il prompt e le informazioni dei campi del formato, quindi genera una richiesta di ricerca FileMaker e un criterio di ordinamento progettato per recuperare i record richiesti.
-
Questa istruzione di script riceve la richiesta di ricerca e il criterio di ordinamento generati.
-
L'istruzione di script esegue un'azione basata sull'opzione Ricava.
L'opzione Ricava determina che cosa succede dopo che il modello genera la richiesta di ricerca:
Funzioni di ricavo | Operazione eseguita |
---|---|
Gruppo trovato |
Esegue la richiesta di ricerca generata sul formato corrente e, nel passaggio 4, aggiorna il gruppo trovato. Se il modello ha generato un criterio di ordinamento, il gruppo trovato viene anche ordinato di conseguenza. Destinazione risposta non viene utilizzato quando questa opzione è selezionata. |
Gruppo trovato come JSON |
Esegue la richiesta di ricerca generata e, nel passaggio 4, restituisce i dati del gruppo trovato risultante come oggetto JSON in Destinazione risposta. La struttura JSON è la stessa della risposta a una richiesta di ricerca eseguita tramite FileMaker Data API. Include i dati del gruppo trovato, le informazioni sui dati (come il conto trovati e il conto totale dei record) ed eventuali messaggi (errori o avvisi). Vedere l'esempio di seguito e l'esempio nell'istruzione di script Esegui FileMaker Data API. |
Richiesta di ricerca come JSON |
Non esegue la ricerca. Nel passaggio 4, restituisce la richiesta di ricerca e il criterio di ordinamento di FileMaker generati come oggetto JSON in Destinazione risposta. Questa opzione è utile soprattutto per il debug, per vedere esattamente quale richiesta di ricerca ha generato il modello. La struttura JSON è simile agli array |
Note
-
Al modello vengono inviati solo i campi accessibili tramite una ricerca nel formato corrente. Per ulteriori informazioni sui criteri utilizzati per determinare quali campi siano accessibili tramite ricerca, vedere la funzione GetFieldsOnLayout che utilizza gli stessi criteri di questa istruzione di script. Le stesse informazioni inviate al modello (nome del formato, nomi, tipi e descrizioni dei campi) vengono restituite da GetFieldsOnLayout.
-
I commenti sui campi immessi nella finestra di dialogo Gestisci database sono inclusi nelle informazioni sui campi inviate al modello. Per migliorare la capacità del modello di generare richieste di ricerca utili, è possibile utilizzare il commento per spiegare lo scopo del campo. Vedere Definizione e modifica dei campi. Per ulteriori informazioni sul controllo di quali commenti dei campi vengono inviati al modello, vedere la funzione GetFieldsOnLayout.
-
Se si specifica un Nome modello prompt, questa istruzione di script utilizza il modello configurato tramite l'istruzione di script Configura modello di prompt. I modelli di prompt possono utilizzare costanti come
:schema:
(sostituito con informazioni sul campo del formato),:question:
(sostituito con Prompt) e:context:
(sostituito con il parametroprompt_contesto
in Parametri). -
Questa istruzione di script può essere utilizzata per ricerche multilingue, poiché i modelli di intelligenza artificiale possono funzionare su più lingue.
-
Quando non vengono trovati record pertinenti, viene restituito un messaggio in Destinazione risposta (se utilizzato) e la funzione funzione Get ( UltimoErrore ) restituisce l'errore 401 ("Nessun record soddisfa la richiesta").
-
Questa istruzione di script non è in grado di eseguire ricerche che richiedono funzioni aggregate (ad esempio, trovare il record con il valore più alto in un campo). Tuttavia, il modello può restituire una richiesta di ricerca che include criteri di ordinamento per aiutare ad identificare tali record (ad esempio, l'ordinamento dei record in base al campo Prezzo in ordine decrescente).
Esempio 1
Configura un account AI, va al formato Contatti, quindi utilizza questa istruzione di script per cercare i contatti denominati "Alea" nel formato corrente. Questa istruzione di script invia al modello i campi ricercabili del formato corrente e il prompt "Trova i contatti denominati Alea". Il modello restituisce una richiesta di ricerca (verosimilmente una richiesta di "Alea" nel campo Nome) e questa istruzione di script esegue la ricerca, aggiornando il gruppo trovato nella finestra corrente.
Configura account AI [ Nome account: "my-account" ; Fornitore modello: OpenAI ; Chiave API: "sk-..." ]
Vai al formato [ "Contatti" (Contatti) ; Animazione: Nessuna ]
Esegui ricerca per linguaggio naturale [ Nome account: "my-account" ; Modello: "gpt-4o" ; Prompt: "Trova i contatti denominati Alea" ; Get: Gruppo trovato ]
Esempio 2
Configura un account AI, richiede all'utente una query, quindi esegue la ricerca e restituisce i dati del gruppo trovato risultante come JSON nella variabile $$DatiGruppoTrovato. Le query vengono eseguite sul formato corrente.
Configura account AI [ Nome account: "my-account" ; Fornitore modello: OpenAI ; Chiave API: "sk-..." ]
Vai al formato [ "Prodotti" (Prodotti) ; Animazione: Nessuna ]
Mostra finestra personalizz. [ "Trova prodotti:" ; $$PromptUtente ]
If [ not EVuoto ( $$PromptUtente ) ]
Esegui ricerca per linguaggio naturale [ Nome account: "my-account" ; Modello: "gpt-4o" ; Prompt: $$PromptUtente ; Get: Gruppo trovato come JSON ; Destinazione risposta: $$DatiGruppoTrovato ]
Mostra finestra personalizz. [ "DatiGruppoTrovato:" ; JSONFormatElements ( $$DatiGruppoTrovato ) ]
End If
Possibile output memorizzato in $$DatiGruppoTrovato (formattato utilizzando JSONFormatElements), supponendo che il prompt fosse "Trova i prodotti con prezzo inferiore a 6 e ordinali per prezzo in ordine decrescente":
{
"messaggi" :
[
{
"codice" : "0",
"messaggio" : "OK"
}
],
"risposta" :
{
"dati" :
[
{
"datiCampo" :
{
"Prezzo" : 5.99,
"IDProdotto" : 107,
"NomeProdotto" : "Occhiali di sicurezza",
"Stato" : "In magazzino"
},
"modId" : "0",
"datiPortale" : {},
"recordId" : "61"
},
{
"datiCampo" :
{
"Prezzo" : 5.5,
"IDProdotto" : 122,
"NomeProdotto" : "Spatola",
"Stato" : "In magazzino"
},
"modId" : "0",
"datiPortale" : {},
"recordId" : "76"
}
],
"infoDati" :
{
"database" : "Sistema Ordinazioni",
"contoTrovati" : 2,
"formato" : "Prodotti",
"contoRestituiti" : 2,
"tabella" : "Prodotti",
"contoRecordTotale" : 42
}
}
}
Esempio 3
Configura un account AI, quindi configura un modello di prompt personalizzato che utilizza il prompt predefinito per una richiesta di ricerca. Il prompt predefinito descrive il formato JSON per una richiesta di ricerca e include quanto segue: Usa le seguenti informazioni come contesto: \":context:\"
.
Dopo aver fatto accesso al formato Prodotti e aver impostato la variabile $$Oggi su una frase in linguaggio naturale da utilizzare in seguito per il contesto, questa istruzione di script sostituisce la costante :context:
utilizzata nel modello di prompt con il valore della chiave prompt_contesto
in Parametri. Quindi lo invia al modello insieme al prompt "Trova i record creati oggi ordinati in base al nome del prodotto".
Il modello restituisce la richiesta di ricerca come oggetto JSON nella variabile $$RichiestaRicercaJSON, che è possibile utilizzare per scopi di debug.
Configura account AI [ Nome account: "my-account" ; Fornitore modello: OpenAI ; Chiave API: "sk-..." ]
Configura modello di prompt [ Nome modello: "TrovaOggi" ; Fornitore modello: OpenAI ; Tipo modello: Richiesta di ricerca ; Prompt richiesta di ricerca: "Genera e restituisci solo una query formato JSON per eseguire una richiesta di ricerca..." ]
Vai al formato [ "Prodotti" (Prodotti) ; Animazione: Nessuna ]
Imposta variabile [ $$Oggi ; Valore: "Oggi è " & Get ( DataCorrente ) ]
Esegui ricerca per linguaggio naturale [ Nome account: "my-account" ; Modello: "gpt-4o" ; Prompt: "Trova i record creati oggi ordinati in base al nome del prodotto" ; Get: Richiesta di ricerca come JSON ; Parametri: JSONSetElement ( "{}" ; "prompt_contesto" ; $$Oggi ; JSONString ) ; Destinazione risposta: $$RichiestaRicercaJSON ]
Mostra finestra personalizz. [ "Richiesta di ricerca generata" ; JSONFormatElements ( $$RichiestaRicercaJSON ) ]
Possibile output memorizzato in $$FindRequestJSON (formattato utilizzando JSONFormatElements), supponendo che la data corrente sia 06/26/2025 e che il formato abbia i campi DataCreazione e NomeProdotto:
{
"formati" : "Prodotti",
"query" :
[
{
"Prodotti::DataCreazione" : "06/26/2025"
}
],
"ordina" :
[
{
"nomeCampo" : "Prodotti::NomeProdotto",
"sortOrder" : "ascend"
}
]
}