GetRAGSpaceInfo

Restituisce informazioni sullo spazio RAG specificato o su tutti gli spazi RAG, se non è specificato un ID spazio.

Formato 

GetRAGSpaceInfo ( nomeAccountRAG ; { spaceID } )

Parametri 

nomeAccountRAG - un'espressione di testo per il nome dell'account RAG 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 funzione venga utilizzata.

spaceID - ID di uno spazio RAG. Se omesso, restituisce informazioni su tutti gli spazi RAG per l'account specificato.

I parametri racchiusi tra parentesi graffe { } sono opzionali.

Tipo di dati riportato 

Testo

Creata nella versione 

22.0

Descrizione 

GetRAGSpaceInfo restituisce informazioni sugli spazi di retrieval-augmented generation (RAG) sul Server modello AI specificato da nomeAccountRAG. Può essere utilizzato per verificare l'esistenza di uno spazio RAG, monitorarne il contenuto e sottoporre a verifica le operazioni RAG.

Se non viene specificato alcun valore per spaceID, la funzione restituisce un oggetto JSON contenente un array di spazi RAG disponibili per l'account RAG specificato:

Copia
{
  "rag_space_list": [
    {
      "space_id": "<stringa>",
      "model": "<stringa>"
    }
  ]
}
  • rag_space_list è un array di spazi RAG.

  • space_id è la chiave per un ID spazio RAG.

  • model è la chiave per il nome del modello utilizzato per generare vettori di embedding di testo in questo spazio RAG.

Se viene specificato un valore spaceID, la funzione restituisce un oggetto JSON contenente informazioni sullo spazio RAG e sui dati in esso contenuti:

Copia
{
  "rag_space_id": "<stringa>",
  "model": "<stringa>",
  "entries": <numero>,
  "values": [
    {
      "id": "<stringa>" or <numero>,
      "filename": "<stringa>"
    },
    {
      "id": "<stringa>" or <numero>,
      "text": "<stringa>"
    }
  ]
}
  • rag_space_id è l'ID dello spazio RAG.

  • model è il nome del modello utilizzato per generare vettori di embedding di testo in questo spazio RAG.

  • entries è il numero di elementi nell'array values.

  • values è un array di blocchi di documenti di testo e nomi di file PDF:

    • id è l'ID documento per un documento di testo (condiviso da tutti i blocchi di quel documento) o per un file PDF.

      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'istruzione di script Esegui azione RAG.

    • filename è il nome di un file PDF aggiunto allo spazio.

    • text è un blocco di un documento di testo aggiunto allo spazio. Blocchi dello stesso documento di testo hanno lo stesso id.

Note 

  • Un account RAG deve essere configurato utilizzando l'istruzione di script Configura account RAG prima di utilizzare questa funzione.

  • Questa funzione è utile per verificare che esista uno spazio RAG prima di eseguire operazioni su di esso. Per un account RAG valido, se uno spazio non esiste o non contiene dati, questa funzione restituisce un messaggio di errore:

    Errore [Spazio RAG]. Motivo: spazio RAG {space_id} non trovato

  • Se l'account RAG non è valido o non esiste, questa funzione restituisce "?".

  • La funzione può essere utilizzata per la verifica e il monitoraggio degli spazi RAG all'interno della soluzione FileMaker.

Esempio 1 

Ottiene informazioni su tutti gli spazi RAG per un account configurato denominato "account-rag-assistenza-clienti".

GetRAGSpaceInfo ( "account-rag-assistenza-clienti" ) può restituire quanto segue se due spazi RAG contengono dati:

Copia
{
  "rag_space_list": [
    {
      "space_id": "knowledge-base",
      "model": "multi-qa-MiniLM-L6-cos-v1"
    },
    {
      "space_id": "appunti-riunione",
      "model": "multi-qa-MiniLM-L6-cos-v1"
    }
  ]
}

Esempio 2 

Ottiene informazioni su uno spazio RAG specifico con ID "knowledge-base".

GetRAGSpaceInfo ( "account-rag-assistenza-clienti" ; "knowledge-base" ) può restituire il seguente JSON per uno spazio con file PDF denominati "Termini.pdf" e "Politiche.pdf" e un documento di testo diviso in tre blocchi (troncato per brevità). Si noti che "Termini.pdf" ha un valore numerico per id perché è stato aggiunto allo spazio RAG utilizzando una versione precedente del Server modello AI (vedere Note).

Copia
{
  "rag_space_id": "knowledge-base",
  "model": "multi-qa-MiniLM-L6-cos-v1",
  "entries": 5,
  "values": [
    {
      "id": 42,
      "filename": "Termini.pdf"
    },
    {
      "id": "f95d4266-66cd-5b50-a01b-07a4dd66c501",
      "filename": "Politiche.pdf"
    },
    {
      "id": "5f7677a0-3258-55a3-bc86-737005cb3574",
      "text": "Politiche e procedure di assistenza clienti per la gestione di resi e cambi..."
    },
    {
      "id": "5f7677a0-3258-55a3-bc86-737005cb3574",
      "text": "Assicurarsi che l'articolo che si sta restituendo sia reimballato con tutto..."
    },
    {
      "id": "5f7677a0-3258-55a3-bc86-737005cb3574",
      "text": "Ci sono 14 giorni di calendario di tempo per restituire un articolo dalla data di ricezione..."
    }
  ]
}

Esempio 3 

Utilizza GetRAGSpaceInfo in uno script per verificare che esista uno spazio RAG prima di eseguire operazioni.

Copia
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 [ $ragSpaceInfo ; Valore: GetRAGSpaceInfo ( "account-rag-assistenza-clienti" ; "knowledge-base) ]

If [ ContaRicorrenze ( $ragSpaceInfo; "errore [RAG Space]" ) > 0 o ContaRicorrenze ( $ragSpaceInfo ; "?" ) > 0 ]

    # Spazio RAG inesistente. Gestisci errore.

    Mostra finestra personalizz. [ "Errore" ; "Lo spazio RAG specificato non è stato trovato". ] 

Else

    # Spazio RAG esistente. Procedere con le operazioni.
    
    Imposta variabile [ $ragSpaceID ; Valore: JSONGetElement ( $ragSpaceInfo ; "rag_space_id" ) ]
    
   Mostra finestra personalizz. [ "Spazio trovato" ; "Spazio RAG '" & $ragSpaceID & "' è disponibile per l'uso." ]

End If