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 aggiuntive disponibili quando Azione è Aggiungi dati:
-
Dati RAG specifica il documento da aggiungere allo spazio RAG:
-
Da testo aggiunge testo direttamente tramite un'espressione di testo, trasferita in modo sincrono.
-
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.
-
Rileva testo verticale migliora l'estrazione del testo da file PDF contenenti testo verticale, comunemente presente in opere letterarie, giornali, documenti governativi e articoli accademici giapponesi. Questa opzione non è disponibile quando Dati RAG è Da testo.
-
Token per blocco di testo è un'espressione numerica che specifica quanti token includere in ogni blocco di testo quando si aggiungono testo o file PDF allo spazio RAG. I valori validi sono compresi tra 75 e 512. Se il valore non viene specificato o viene impostato 0, viene utilizzato il valore configurato per il Server modello AI nella Admin Console (200 token per impostazione predefinita).
-
Destinazione risposta specifica il campo o la variabile in cui memorizzare un oggetto JSON restituito dal Server modello AI riguardo al documento aggiunto. Vedere Descrizione.
Opzioni aggiuntive disponibili quando Azione è 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 che può includere:
-
Parametri client FileMaker che vengono elaborati e rimossi prima di inviare la richiesta:
CURLOPT_TIMEOUTimposta un tempo massimo (in secondi) per il completamento della richiesta. Il valore deve essere un numero intero non negativo. Ad esempio:{"CURLOPT_TIMEOUT": 30}. Se non c'è una risposta entro questo tempo, il client FileMaker annulla la richiesta e questa istruzione di script restituisce il codice di errore 1629 ("Connessione scaduta"). -
Parametri del Server modello AI che hanno la precedenza sulle impostazioni configurate nella Admin Console solo per la durata di questa istruzione di script. Se non specificato, vengono utilizzati i valori impostati nella Admin Console. Tali parametri vengono elaborati e rimossi prima di trasmettere qualsiasi altro parametro che venga incluso nell'oggetto JSON direttamente al fornitore del modello.
Vedere Descrizione per maggiori dettagli.
-
Parametri specifici del fornitore del modello che vengono trasmessi direttamente al fornitore del modello insieme al prompt. Ad esempio:
{"temperature": 0.7, "seed": 42}.Nota Fare riferimento alla documentazione del fornitore del modello per i parametri e i valori supportati dal modello che si sta utilizzando.
-
Opzioni aggiuntive disponibili quando Azione è Rimuovi dati:
-
Parametri è un'espressione di testo per un oggetto JSON contenente una chiave
idil cui valore è un array degli ID dei documenti da rimuovere dallo spazio RAG specificato. Ad esempio:Copia{"id" : ["5f7677a0-3258-55a3-bc86-737005cb3574", "f95d4266-66cd-5b50-a01b-07a4dd66c501"]}Gli ID documenti restituiti in Destinazione risposta quando il documento è stato aggiunto possono essere archiviati e utilizzati successivamente per rimuovere un documento. Oppure, per ottenere gli ID di tutti i documenti di uno spazio RAG, utilizzare la funzione GetRAGSpaceInfo.
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) su Claris AI Model 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 Aggiungi dati
Questa azione 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:
-
L'istruzione di script invia il documento al Server modello AI.
Se si aggiunge un file PDF, l'istruzione di script invia il file in modo sincrono o asincrono, a seconda dell'opzione Dati RAG. In caso di invio sincrono, lo script non continua con l'istruzione successiva fino a che il trasferimento del file è completato. In caso di invio asincrono, lo script continua con l'struzione successiva mentre il trasferimento dei file è in corso (ideale per file di grandi dimensioni), consentendo al client FileMaker di rimanere reattivo all'interazione dell'utente.
-
Il Server modello AI assegna un ID al documento e poi lo elabora:
-
Se il documento è un file PDF, il server estrae solo il testo dal file PDF. Il testo estratto viene quindi elaborato allo stesso modo del testo aggiunto utilizzando l'opzione Da testo.
-
Il server suddivide il testo in blocchi in base all'opzione Token per blocco di testo (se specificata) o alla dimensione del blocco configurata nella Admin Console.
Se il testo è in formato JSONL (JSON Lines), dove ogni riga è un oggetto JSON valido, il server rileva automaticamente questo formato e tratta ogni riga come un'unità semantica distinta: ogni riga viene suddivisa in blocchi separatamente, ma le righe non vengono mai unite tra loro. Ciò aiuta a migliorare la precisione di recupero dei dati strutturati come quelli aggiunti da una tabella FileMaker, in cui ogni record può essere formattato come una singola riga JSON, garantendo il mantenimento dei limiti dei record.
-
Infine, il server ottiene i vettori di embedding per tutti i blocchi utilizzando il modello di embedding di testo configurato per la RAG sul server.
-
-
Se viene specificata una Destinazione risposta, il Server modello AI restituisce un oggetto JSON contenente l'ID documento e i metadati per il documento aggiunto. Ciò consente di archiviare l'ID documento per un uso successivo (ad esempio per rimuovere il documento).
L'oggetto JSON restituito contiene le seguenti chiavi:
-
id: l'ID documento assegnato dal Server modello AI come identificativo univoco universale (UUID) con codifica esadecimale. Per ulteriori informazioni sul formato dell'ID, vedere le Note. -
model: il modello di embedding utilizzato dal Server modello AI per generare vettori di embedding per il documento. -
rag_space_id: l'ID dello spazio RAG a cui è stato aggiunto il documento. -
resultoerror:-
result: lo stato del documento aggiunto quando non ci sono errori. Per i documenti trasferiti con successo in modo sincrono, il valore è"ok". Per i documenti trasferiti in modo asincrono, il valore è una stringa che include l'ID spazio e il nome del file memorizzato nella cache, perché il processo non è ancora completo. -
error: una stringa di messaggio di errore quando il Server modello AI incontra un errore.
-
-
text o file, a seconda dell'opzione per Dati RAG:
-
text: il testo del documento quando aggiunto utilizzando l'opzione Da testo per Dati RAG. -
file: il nome del file PDF quando aggiunto utilizzando le opzioni file o contenitore per Dati RAG.
-
-
usage: informazioni sull'utilizzo di token quando un documento viene trasferito in modo sincrono. L'oggetto JSON restituito è{"prompt_tokens":<numero>, "total_tokens":<numero>}, doveprompt_tokensè il numero di token nell'input (i blocchi di testo che sono stati incorporati) etotal_tokensè il numero totale di token elaborati. Se il Server modello AI è impostato per non registrare l'utilizzo di token, non viene restituito alcun conteggio dei token.
Nota Per i documenti trasferiti in modo asincrono, le chiavi
rag_space_id,modeleusagerestituiscono"N/A"perché questi valori non sono disponibili fino al completamento dell'elaborazione. -
Azione Invia prompt
Questa azione 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:
-
L'istruzione di script invia il prompt specificato da Invia prompt e ID spazio al Server modello AI specificato da Nome account RAG.
-
Il Server modello AI ottiene i vettori di embedding per il prompt, esegue una ricerca semantica per il prompt nello spazio RAG specificato, quindi restituisce i risultati RAG all'istruzione di script.
I risultati RAG sono i primi N blocchi di documenti più rilevanti dello spazio RAG come testo (N può essere configurato nella Admin Console o sostituito dall'opzione Parametri come mostrato di seguito).
-
L'istruzione di script invia il prompt, il modello di prompt, il modello Parametri e i risultati RAG al modello specificato da Nome account AI e Modello.
-
Il modello restituisce una risposta che l'istruzione di script memorizza in Destinazione risposta.
Parametri del server modello AI
Per l'opzione Parametri, è possibile utilizzare le seguenti chiavi e i seguenti valori, specifici per il Server modello AI, per regolare il comportamento di questa istruzione di script. Se specificati, questi valori hanno la precedenza su quelli impostati nella Admin Console. Questo è utile quando diversi prompt richiedono livelli di precisione o dimensioni del contesto diversi (ad esempio, interrogare un set di documenti di grandi dimensioni rispetto a uno piccolo). Se non viene specificata una chiave, vengono utilizzati i valori configurati nella Admin Console.
|
Chiave parametro |
Descrizione |
Intervallo di valori |
|
|
Punteggio minimo di similarità del coseno per i risultati RAG da includere nel contesto. Valori più alti restituiscono meno risultati, ma più rilevanti. |
Da -1 a 1 |
|
|
Numero massimo intero dei primi blocchi di documenti da includere nel contesto inviati al modello AI. Un valore pari a 0 non include alcun contenuto RAG. |
Da 1 a 100 |
Ad esempio, questo oggetto JSON imposta le seguenti chiavi nell'opzione Parametri :
{
"similarity_threshold" : .5,
"num_top_ranked_results" : 10
}
Azione Rimuovi dati
Questa azione 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.
-
I documenti aggiunti a uno spazio RAG prima della versione 26.0.1 del Server modello AI hanno ID documenti di tipo numerico (ad esempio,
1,2,3). A partire dalla versione 26.0.1, gli ID documenti sono stringhe IDUU (ad esempio,"5f7677a0-3258-55a3-bc86-737005cb3574"). Quando si lavora con spazi RAG che contengono documenti aggiunti prima e dopo la modifica del formato degli ID, gli script dovrebbero gestire entrambi i formati di ID dei documenti.Vedere l'Esempio 3.
-
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 i blocchi di documento dello spazio RAG recuperati mediante RAG). -
Per l'opzione Token per blocco di testo:
-
Blocchi di dimensioni più grandi conservano più contesto, ma possono ridurre la precisione di recupero. Blocchi di dimensioni più piccole migliorano la precisione, ma possono perdere contesto. Prendere in considerazione l'utilizzo di valori più grandi (ad esempio da 250 a 300) per lingue come il giapponese, il cinese o il coreano, in cui la tokenizzazione genera meno caratteri per token, cosicché un numero fisso di token copre molto meno testo.
-
Per modificare le dimensioni dei blocchi di documenti esistenti in uno spazio RAG, è necessario rimuovere i documenti dallo spazio RAG e aggiungerli nuovamente con una nuova dimensione dei blocchi.
-
Se si specifica un valore al di fuori dell'intervallo valido, questa istruzione di script restituisce il codice di errore 887 ("Azione spazio RAG non valida").
-
-
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 File di input 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 imposta sia l'account RAG che l'account AI per utilizzare il Server modello AI.
La variabile $parametri include similarity_threshold impostato su 0.6 per garantire che siano inclusi solo risultati RAG altamente rilevanti e num_top_ranked_results impostato su 5 per limitare il contesto ai primi 5 blocchi di documenti più rilevanti, sovrascrivendo i valori predefiniti configurati nella Admin Console. Include anche CURLOPT_TIMEOUT per annullare la richiesta dopo 30 secondi in assenza di risposta.
Quando invia il prompt, lo script invia i parametri temperature e max_tokens al modello per la generazione della risposta 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 ]
Imposta variabile [ $parametri ; Valore:
JSONSetElement ( "{}" ;
[ "temperature" ; .3 ; JSONNumber ] ;
[ "max_tokens" ; 500 ; JSONNumber ] ;
[ "similarity_threshold" ; .6 ; JSONNumber ] ;
[ "num_top_ranked_results" ; 5 ; JSONNumber ]
)
]
Esegui azione RAG [ Nome account RAG: "account-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: $parametri ]
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. L'ID del documento viene restituito da Destinazione risposta e memorizzato in $ragAggiungiRisposta. Ad esempio:
{
"file": "Politiche.pdf",
"id": "f95d4266-66cd-5b50-a01b-07a4dd66c501",
"model": "multi-qa-MiniLM-L6-cos-v1",
"rag_space_id": "knowledge-base",
"result": "ok",
"usage": {
"prompt_tokens": 3803,
"total_tokens": 3803
}
}
Innanzitutto, lo script ottiene l'ID del documento da $ragAggiungiRisposta e lo memorizza in $id. Ottiene anche il tipo di dati dell'ID utilizzando la funzione funzione JSONGetElementType e lo memorizza in $idTipo. Il tipo di dati sarà JSONString per gli IDUU o JSONNumber per gli ID numerici (per dettagli sui formati di ID vedere le Note).
Successivamente, lo script crea la variabile $idArrayDaRimuovere come oggetto JSON con una chiave id il cui valore è un array contenente l'ID del documento da rimuovere. Quando si aggiunge l'ID all'array, lo script utilizza $idTipo per conservare il tipo di dati originale da $ragAggiungiRisposta. Questo approccio garantisce che lo script funzioni correttamente indipendentemente dal formato ID utilizzato dal Server modello AI.
Infine, 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" ; Destinazione risposta: $ragAggiungiRisposta ]
Imposta variabile [ $id ; Valore: JSONGetElement ( $ragAggiungiRisposta ; "id" ) ] Imposta variabile [ $idType ; Valore: JSONGetElementType ( $ragAggiungiRisposta ; "id" ) ]
Imposta variabile [ $idArrayDaRimuovere ; Valore: JSONSetElement ( "{}" ; "id" ;
JSONSetElement ( "[]" ; 0 ; $id ; $idTipo ) ;
JSONArray
)
]
Esegui azione RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; ID spazio: "knowledge-base" ; Azione: Rimuovi dati ; Parametri: $idArrayDaRimuovere ]
Esempio 4 - Aggiungere documenti con blocchi di dimensioni diverse
Aggiunge documentazione sia in inglese che in giapponese allo stesso spazio RAG, utilizzando blocchi di diverse dimensioni, ottimizzate per ciascuna lingua.
Lo script utilizza blocchi di dimensioni più piccole (150 token) per la documentazione tecnica inglese, per consentire un recupero preciso di dettagli tecnici specifici.
Per la documentazione giapponese di carattere normativo, lo script utilizza blocchi di dimensioni più grandi (300 token), perché la tokenizzazione del giapponese produce segmenti di testo più brevi per ogni token, rendendo necessari più token per conservare un contesto adeguato. Lo script seleziona anche l'opzione Rileva testo verticale per migliorare l'estrazione di testo verticale da questo file PDF.
Configura account RAG [ Nome account RAG: "account-rag-doc-prodotti" ; Endpoint: "https://myserver.example.com/llm/v1/" ; Chiave API: Globale::Chiave_API_RAG ; Verifica certificati SSL ]
Esegui azione RAG [ Nome account RAG: "account-rag-doc-prodotti" ; ID spazio: "conoscenza-prodotti" ; Azione: Aggiungi dati ; Dati RAG: Da file ; "SpecificheTecniche_EN.pdf" ; Token per blocco di testo: 150 ]
Esegui azione RAG [ Nome account RAG: "account-rag-doc-prodotti" ; ID spazio: "conoscenza-prodotti" ; Azione: Aggiungi dati ; Dati RAG: Da file ; "Regolamenti_JA.pdf" ; Rileva testo verticale ; Token per blocco di testo: 300 ]
Esempio 5 - Aggiungere record come testo JSONL
Aggiunge i record delle FAQ da una tabella FileMaker a uno spazio RAG utilizzando il formato JSONL, dove ogni riga rappresenta un record delle FAQ completo.
Lo script viene eseguito in modo ciclico sui record della tabella delle FAQ e crea una stringa di testo JSONL in cui ogni riga è un oggetto JSON contenente l'ID della domanda, la domanda e la risposta. Quando questo testo in formato JSONL viene aggiunto allo spazio RAG, il Server modello AI rileva automaticamente il formato e tratta ogni riga (ogni record delle FAQ) come un'unità semantica distinta, mantenendo i limiti dei record e migliorando la precisione di recupero.
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 ]
Imposta variabile [ $testoJsonl ; Valore: "" ]
Vai al formato [ "FAQ" (FAQ) ; Animazione: Nessuna ]
Vai a Record/Richiesta/Pagina [ Primo ]
Loop [ Scarica: Sempre ]
Imposta variabile [ $rigaJson ; Valore:
JSONSetElement ( "{}" ;
[ "id" ; FAQ::IDDomanda ; JSONString ] ;
[ "question" ; FAQ::Domanda ; JSONString ] ;
[ "answer" ; FAQ::Risposta ; JSONString ]
)
]
Imposta variabile [ $testoJsonl ; Valore: $testoJsonl & $rigaJson & ¶ ]
Vai a Record/Richiesta/Pagina [ Succ; Esci dopo l'ultimo ]
End Loop
Esegui azione RAG [ Nome account RAG: "account-rag-assistenza-clienti" ; ID spazio: "knowledge-base" ; Azione: Aggiungi dati ; Dati RAG: Da testo ; $testoJsonl ; Destinazione risposta: $rispostaRag ]
La variabile $testoJsonl risultante contiene testo in formato JSONL come:
{"id":"001","question":"Qual è la vostra politica di restituzione?","answer":"Gli articoli possono essere restituiti entro 30 giorni..."}
{"id":"002","question":"Come posso tracciare il mio ordine?","answer":"Puoi tracciare il tuo ordine utilizzando il numero di tracking..."}
{"id":"003","question":"Effettuate spedizioni internazionali?","answer":"Sì, effettuiamo spedizioni in oltre 100 paesi in tutto il mondo..."}
Se una riga è abbastanza corta, il Server modello AI la rende un blocco singolo. Se una riga supera il limite di token per blocco di testo, viene suddivisa in più blocchi. Poiché le righe non vengono mai unite, quando si interroga lo spazio RAG, i blocchi recuperati includono solo il contenuto di un singolo record di FAQ, rendendo più facile individuare il record che ha fornito le informazioni pertinenti.