RAG Conversation ti permette di cercare informazioni tra i tuoi documenti a partire da una query, mantenendo la memoria della conversazione e tenendo conto del contesto storico, al fine di fornire risposte sempre pertinenti e contestualizzate. Il servizio combina ricerca semantica e generazione di output in linguaggio naturale, e restituisce le risposte all’interno di un dialogo che può essere ripreso tramite l’ID sessione, garantendo continuità e coerenza tra le interazioni. Il tutto in modo sicuro, senza rischio di fuga di dati sensibili.
La tecnologia RAG-as-a-Service di Openapi permette dunque alle aziende di interrogare i propri dati proprietari e ottenere risposte affidabili e contestualizzate. Il servizio riduce il rischio di “allucinazioni” tipico dei Large Language Model (LLM), ed offre risposte coerenti e pertinenti rispetto alla conoscenza specifica dell’organizzazione.
Con RAG-as-a-Service, l’integrazione delle funzionalità RAG nelle applicazioni è semplice e scalabile, senza necessità di gestire complessi sistemi di dati. I tuoi contenuti vengono automaticamente indicizzati, permettendo al modello di accedere in tempo reale a dati aggiornati e rilevanti. Così Openapi offre la combinazione tra intelligenza artificiale e ricerca contestuale, fornendo risposte accurate e basate esclusivamente sulla tua conoscenza aziendale.
Su Openapi sono disponibili anche altri due servizi RAG per la ricerca documentale: Search, che restituisce uno o più estratti di testo, e Conversation, che fornisce singole risposte in linguaggio naturale, non inserite all'interno di una conversazione. Tutti e tre sono validi a livello globale.
Al fine di ottenere risultati coerenti e pertinenti con RAG Conversation, occorre seguire tre passaggi principali:
Grazie all'indicizzazione, è possibile recuperare rapidamente le informazioni più rilevanti in risposta a una query. Ogni volta che si modifica il RAG (caricamento o rimozione di documenti), è fondamentale riavviare l’indicizzazione per assicurare risposte aggiornate e accurate.
Il primo passo consiste nel creare un RAG vuoto tramite l’endpoint POST /rag, in cui inserire successivamente i documenti.
Nella richiesta vanno indicati:
{
"name": "RAGTest",
"options": {
"ocr": false,
"autoIndexingIntervalHours": 0
},
"callback": {
"method": "POST",
"field": "string",
"url": "https://www.mysite.it/callback.php",
"data": {}
}
}
La risposta contiene dettagli del RAG (es. ID e nome, stato, opzioni, impostazioni come OCR, numero di documenti totali e indicizzati, date di creazione, aggiornamento, ultima indicizzazione).
{
"data": {
"id": "68947e1e0dab7e743108abfb",
"name": "RAGTest",
"state": "ready",
"options": {
"ocr": false,
"autoIndexingIntervalHours": 0
},
"totalDocuments": 0,
"totalIndexedDocuments": 0,
"sizeMegaByte": 0,
"createdAt": "2025-09-04T10:45:42.036Z",
"updatedAt": "2025-09-04T10:45:42.036Z",
"indexedAt": "2025-09-04T10:45:42.036Z",
"indexingRunAt": "2025-09-04T10:45:42.036Z",
"callback": {
"method": "POST",
"field": "string",
"url": "https://www.mysite.it/callback.php",
"data": {}
}
},
"success": true,
"message": "",
"error": null
}
In qualsiasi momento è possibile recuperare la lista di tutti i RAG o i dettagli di un singolo RAG con gli endpoint GET /rag e GET /rag/{id}.
Una volta creato il RAG, si può proseguire con l’inserimento di un documento al suo interno attraverso l’endpoint POST /rag/{id}/documents.
In fase di richiesta va specificato come parametro l’ID del RAG in cui verrà caricato il documento.
Nel payload è necessario indicare:
{
"fileName": "documentTest",
"fileContent": "string",
"metadata": {
"custom_key_str": "string",
"custom_key_date": "2025-09-04T10:51:06.259Z",
"custom_key_int": 0,
"custom_key_geo_latitude": 0,
"custom_key_geo_longitude": 0,
"custom_key_bool": true
}
}
La risposta fornisce specifiche sul documento, tra cui ID, nome, stato, metadati, dimensione, tipo di file, data di creazione e aggiornamento.
{
"data": [
{
"id": "string",
"name": "string",
"state": "string",
"metadata": {
"custom_key_str": "string",
"custom_key_date": "2025-09-04T10:51:06.260Z",
"custom_key_int": 0,
"custom_key_geo_latitude": 0,
"custom_key_geo_longitude": 0,
"custom_key_bool": true
},
"sizeMegaByte": 0,
"mimeType": "string",
"createdAt": "2025-09-04T10:51:06.260Z",
"updatedAt": "2025-09-04T10:51:06.260Z",
"paymentDueDate": "2025-09-04T10:51:06.260Z"
}
],
"success": true,
"message": "",
"error": null
}
In qualsiasi momento è possibile recuperare la lista dei documenti all’interno di un RAG attraverso l’endpoint GET /rag/{id}/documents.
Come specificato sopra, se si vogliono ottenere risposte contestuali e accurate, è fondamentale avviare l’indicizzazione ogni volta che si effettua una modifica al RAG (quindi se viene caricato o eliminato un documento). Se non si esegue questo passaggio, il sistema continuerà a basarsi solo sui dati precedenti e non su quelli aggiornati.
L’indicizzazione può essere avviata manualmente tramite PATCH/rag/{id}; in alternativa è possibile impostare l’indicizzazione automatica, che si avvia ogni tot ore (stabilite dall’utente). Quest’ultima va impostata nel momento in cui si crea il RAG, quindi attraverso l’endpoint POST /rag. Per l'indicizzazione, sia essa automatica o manuale, non sono previsti costi aggiuntivi.
In fase di richiesta va specificato come parametro l’ID del RAG per il quale viene avviato il processo di indicizzazione manuale.
Nel payload della richiesta è necessario includere il parametro startIndexing impostato su true per avviare il processo di indicizzazione:
"startIndexing": true
La risposta restituisce dettagli sul nome del RAG, lo stato (es. ready, indexing), le impostazioni (es. OCR sì/no, indicizzazione automatica sì/no), il numero di documenti presenti e indicizzati, la dimensione attuale del RAG in mb, le date di creazione e aggiornamento.
{
"data": {
"id": "68947e1e0dab7e743108abfb",
"name": "RAGTest",
"state": "indexing",
"options": {
"ocr": false,
"autoIndexingIntervalHours": 0
},
"totalDocuments": 0,
"totalIndexedDocuments": 0,
"sizeMegaByte": 0,
"createdAt": "2025-09-04T10:55:37.306Z",
"updatedAt": "2025-09-04T10:55:37.306Z",
"callback": {
"method": "POST",
"field": "string",
"url": "https://www.mysite.it/callback.php",
"data": {}
}
},
"success": true,
"message": "",
"error": null
}
Dopo aver effettuato i tre step sopra menzionati, si può quindi passare alla ricerca vera e propria, attraverso l’endpoint POST /rag/conversation.
Come specificato all’inizio, RAG Conversation consente - tramite API e in tempo reale - di trovare il documento o l’informazione più rilevante all’interno dei propri file, a partire da una query e tenendo in considerazione le conversazioni precedenti. Tutto questo in totale sicurezza e senza rischio di fuga di dati sensibili.
Nella richiesta vanno indicati:
{
"ragId": "688b2ab3bccc6a603202f87c",
"query": "che servizi ci sono?",
"max_len": 5,
"metadata_filter": "(custom_key_int<175 AND custom_key_bool = \"true\") OR (custom_key_int<125 AND custom_key_bool = \"false\")",
"settings": {
"prompt_style": "basic"
},
"session": "string"
}
RAG Conversation restituisce informazioni sui documenti più rilevanti per la tua ricerca, inclusi estratti di testo, che possono aiutarti a trovare rapidamente i dati che cerchi.
Nello specifico, il payload della risposta fornisce:
{
"data": [
{
"answer": "string",
"search_result": [
{
"index": 0,
"snippets": [
"string"
],
"id": "689c70313f292734010a7dda",
"ragId": "689c6ed7b283ac0aa40c1555",
"name": "documentTest",
"state": "indexing",
"metadata": {
"custom_key_str": "string",
"custom_key_date": "2025-09-25T10:34:00.005Z",
"custom_key_int": 0,
"custom_key_geo_latitude": 0,
"custom_key_geo_longitude": 0,
"custom_key_bool": true
}
}
],
"session": "projects/702697495064/locations/global/collections/default_collection/RAG/689c6ed7b283ac0aa40c1555/sessions/14709352892326605"
}
],
"success": true,
"message": "",
"error": null
}
Con RAG Conversation è quindi possibile avviare conversazioni continuative con il sistema e interrogare velocemente i propri documenti, con la certezza che le risposte siano il più accurate possibile e basate esclusivamente sui dati effettivamente caricati e indicizzati. Tutte le informazioni rimangono pertanto completamente al sicuro.
Il servizio è particolarmente utile per aziende che gestiscono grandi quantità di documenti (contratti, report, manuali), ad es.:
In generale, RAG Conversation è perfetto per qualsiasi organizzazione o professionista che abbia bisogno di accedere velocemente a informazioni accurate all’interno dei propri documenti, ottimizzando tempi e affidabilità nella ricerca.
Hai bisogno di aiuto?
Non hai trovato la risposta che cercavi?
Compila tutti i campi, ti ricontatteremo al più presto!