Esegui azione RAG
Invia un prompt a, o aggiunge e rimuove dati da, uno spazio RAG sul server modello AI specificato da un account RAG.
Vedere anche
Opzioni
-
Nome account RAG è un'espressione di testo dell'account RAG per questa istruzione di script da utilizzare. Nel file corrente, utilizzare l'istruzione di script Configura account RAG per configurare l'account e assegnargli questo nome in qualsiasi momento prima che questa istruzione di script venga eseguita.
-
ID spazio è un'espressione di testo che specifica l'ID univoco dello spazio RAG con cui lavorare nell'account RAG specificato.
-
Azione specifica il tipo di operazione da eseguire su uno spazio RAG. Questa opzione controlla la disponibilità di altre opzioni nell'istruzione di script. Scegliere tra:
-
Aggiungi dati aggiunge un documento (dati di testo o un file PDF) a uno spazio RAG.
-
Invia prompt invia un prompt per interrogare uno spazio RAG e ottenere una risposta generata dall'AI.
-
Rimuovi dati rimuove i documenti da uno spazio RAG.
-
Opzioni disponibili solo quando Azione è impostato su Aggiungi dati:
-
Dati RAG specifica il documento da aggiungere allo spazio RAG:
-
Da testo aggiunge testo direttamente tramite un'espressione di testo.
-
Da file aggiunge un file PDF dato un percorso, trasferito in modo sincrono.
-
Da file (Async) aggiunge un file PDF dato un percorso, trasferito in modo asincrono (ideale per file di grandi dimensioni).
-
Da contenitore aggiunge un file PDF da un campo Contenitore, trasferito in modo sincrono.
-
Da contenitore (Async) aggiunge un file PDF da un campo Contenitore, trasferito in modo asincrono (ideale per file di grandi dimensioni).
-
-
File di input specifica un elenco di uno o più percorsi per un file PDF. L'istruzione di script esegue una ricerca nell'elenco e aggiunge il primo file PDF che riesce a individuare. I percorsi devono utilizzare uno dei prefissi di percorso
image
. Vedere Creazione dei percorsi di file. -
Campo Contenitore specifica il campo Contenitore che memorizza il file PDF da aggiungere.
Opzioni disponibili solo quando Azione è impostato su Invia prompt:
-
Il valore per Invia prompt è un'espressione di testo per il prompt o la domanda dell'utente in linguaggio naturale.
-
Nome account AI è un'espressione di testo per il nome dell'account AI da utilizzare per generare una risposta. Nel file corrente, utilizzare l'istruzione di script Configura account AI per configurare questo 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.
-
Flusso controlla come viene fornita la risposta:
-
Attivato: la risposta viene recuperata e consegnata in modo incrementale (parola per parola o in frasi). Questo può far sì che il client FileMaker appaia più reattivo.
-
Disattivato: viene recuperata l'intera risposta prima di essere resa disponibile. Ciò potrebbe far sembrare il client FileMaker non reattivo in attesa della risposta completa.
-
-
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.
-
Destinazione risposta specifica il campo o la variabile in cui deve essere memorizzata la risposta dal modello.
-
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
context_prompt
è un parametro speciale che consente di inserire ulteriori istruzioni o contesto nel modello prima del prompt principale. Ad esempio:{"context_prompt": "Tratta 'oggi' come 25/08/2025"}
.
Opzioni disponibili solo quando Azione è impostato su Rimuovi dati:
-
Parametri è un'espressione di testo per un oggetto JSON contenente una chiave
id
il cui valore è un array degli ID dei documenti da rimuovere dallo spazio RAG specificato. Ad esempio,{"id" : [2, 3, 5, 7]}
. Per ottenere gli ID di tutti i documenti di uno spazio RAG, utilizzare la funzione GetRAGSpaceInfo. Vedere l'Esempio 3.
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 creare e gestire una cache di conoscenze di documenti (dati di testo e file PDF) sul Server modello AI fornito con FileMaker Server. È quindi possibile sfruttare questa cache con una tecnica chiamata retrieval-augmented generation (RAG). Utilizzando questa tecnica, l'istruzione di script invia un prompt o una domanda a un modello di AI insieme ai fatti più rilevanti recuperati dalla cache di conoscenze, migliorando l'affidabilità e l'accuratezza della risposta fornita dal modello.
L'opzione Azione determina che cosa fa questa istruzione di script:
Azione | Operazione eseguita |
---|---|
Aggiungi dati |
Aggiunge Dati RAG dal documento specificato: testo (come qualsiasi espressione di testo), un file PDF in base al percorso o un file PDF di un campo Contenitore nel record corrente o correlato. Il processo segue questi passaggi:
|
Invia prompt |
Invia il prompt dell'utente al Server modello AI per ottenere i dati più rilevanti dallo spazio RAG specificato, quindi invia il prompt dell'utente insieme al modello di prompt e al contenuto RAG al modello AI. Il processo segue questi passaggi:
|
Rimuovi dati |
Rimuove i documenti da uno spazio RAG. Se specificato nell'opzione Parametri, vengono rimossi solo i documenti specificati; altrimenti vengono rimossi tutti i documenti nello spazio RAG. Nota La rimozione di documenti da uno spazio RAG non può essere annullata. Assicurarsi di conservare i documenti originali altrove nel caso in cui occorra aggiungerli di nuovo. |
Note
-
Un account RAG deve essere configurato utilizzando l'istruzione di script Configura account RAG prima di utilizzare questa istruzione di script.
-
Per le azioni Invia prompt, deve anche essere configurato un account AI utilizzando l'istruzione di script Configura account AI.
-
I file PDF crittografati o protetti da password non possono essere elaborati con l'azione Aggiungi dati.
-
Gli spazi RAG sono persistenti e conservano i loro documenti fino a quando non vengono rimossi esplicitamente utilizzando l'azione Rimuovi dati.
-
Se si aggiunge un file PDF con lo stesso nome di uno già presente nello spazio RAG, il file PDF esistente viene rimosso e il nuovo file PDF viene aggiunto con un nuovo ID documento. Questo comportamento è lo stesso se si aggiunge il file PDF tramite un percorso o un campo Contenitore.
-
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
:question:
(sostituito con il valore Invia prompt) e:context:
(sostituito con il parametrocontext_prompt
in Parametri). -
La qualità delle risposte dell'AI dipende dal modello e dalla pertinenza e qualità dei documenti aggiunti allo spazio RAG.
-
In FileMaker WebDirect, quando questa istruzione di script utilizza l'azione Aggiungi dati e Dati RAG è Da file o Da file (Async), la finestra di dialogo Inserisci si apre per far selezionare all'utente un file PDF da caricare; l'opzione Input File viene ignorata.
Esempio 1 - Aggiungere testo a uno spazio RAG
Aggiunge contenuti di testo a uno spazio RAG per una knowledge base del cliente.
Configura account RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; Endpoint: "https://myserver.example.com/llm/v1/" ; Chiave API: "eyJh..." ; Verifica certificati SSL ]
Esegui azione RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; ID spazio: "knowledge-base" ; Azione: Aggiungi dati ; Dati RAG: Da testo ; "Politiche e procedure di assistenza clienti per la gestione di resi e cambi..." ]
Esempio 2- Inviare un prompt per interrogare uno spazio RAG
Invia un prompt per interrogare lo stesso spazio RAG dell'Esempio 1 e memorizza la risposta in un campo.
Lo script configura sia l'account RAG che l'account AI per utilizzare il Server modello AI fornito con FileMaker Server. Quando invia il prompt, lo script invia parametri personalizzati al modello per la generazione di risposte e trasmette la risposta a un campo.
Configura account RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; Endpoint: "https://myserver.example.com/llm/v1/" ; Chiave API: Globale::Chiave_API_RAG ; Verifica certificati SSL ]
Configura account AI [ Nome account: "Server_modello_AI" ; Fornitore modello: Personalizzato ; Endpoint: "https://myserver.example.com/llm/v1/" ; Chiave API: Globale::Chiave_API_Gen_Testo ; Verifica certificati SSL ]
Esegui azione RAG [ Nome account RAG: "rag-assistenza-clienti" ; ID spazio: "knowledge-base" ; Azione: Invia prompt ; Invia prompt: "Qual è la politica di restituzione per i prodotti difettosi?" ; Nome account AI: "Server_modello_AI" ; Modello: Globale::NomeModello ; Flusso: Attivato ; Destinazione risposta: Assistenza_clienti::Risposta_AI ; Parametri: "{\"temperatura\": 0.3, \"token_max\": 500}"]
Un possibile risultato nel campo Assistenza_clienti::Risposta_AI inizia con "La politica di restituzione per i prodotti difettosi consente di restituire l'articolo entro 14 giorni di calendario".
Esempio 3 - Aggiungere e rimuovere un file PDF da uno spazio RAG
Aggiunge un file PDF denominato Politiche.pdf a uno spazio RAG, quindi lo rimuove.
Dopo aver configurato l'account RAG da utilizzare sul Server modello AI, lo script aggiunge il file Politiche.pdf allo spazio RAG specificandone il percorso.
Prima di poter rimuovere il file, lo script deve trovare l'ID del documento che era stato assegnato al momento dell'aggiunta del file. Innanzitutto, lo script utilizza la funzione GetRAGSpaceInfo per ottenere informazioni sullo spazio RAG. Quindi per la variabile $id, ottiene l'array di valori
e utilizza un loop While per trovare l'elemento la cui chiave nomefile
è "Politiche.pdf", restituendo il valore dell'id
di quell'elemento.
Dopo aver impostato $idArrayDaRimuovere sul JSON richiesto per specificare l'$id, lo script richiama Esegui azione RAG per rimuovere i dati impostando l'opzione Parametri su $idArrayDaRimuovere.
Configura account RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; Endpoint: "https://myserver.example.com/llm/v1/" ; Chiave API: Globale::Chiave_API_RAG ; Verifica certificati SSL ]
Esegui azione RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; ID spazio: "knowledge-base" ; Azione: Aggiungi dati ; Dati RAG: Da file ; "Politiche.pdf" ]
Imposta variabile [ $infoSpazioRag ; Valore: GetRAGSpaceInfo ( "account-rag-assistenza-clienti" ; "knowledge-base" ) ]
Imposta variabile [ $id ; Valore:
Dichiara ( [
json = $ragSpaceInfo ;
valori = JSONGetElement ( json ; "valori" ) ;
conteggioArray = ConteggioValore ( JSONListKeys ( valori ; "" ) ) ;
cerca = While (
[ i = 0 ; risultato = "" ] ;
i < conteggioArray e EVuoto ( risultato ) ;
[
nomefile = JSONGetElement ( valori ; "[" & i & "].nomefile" ) ;
risultato = Casi (
nomefile = "Politiche.pdf" ;
JSONGetElement ( valori ; "[" & i & "].id" ) ;
""
) ;
i = i + 1
] ;
risultato
)
] ;
cerca
)
]
Imposta variabile [ $idArrayDaRimuovere ; Valore: "{\"id\": [" & $id & "]}" ]
Esegui azione RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; ID spazio: "knowledge-base" ; Azione: Rimuovi dati ; Parametri: $idArrayDaRimuovere ]