RAG Conversation vous permet de rechercher des informations parmi vos documents à partir d'une requête, en conservant la mémoire de la conversation et en tenant compte du contexte historique, afin de fournir des réponses toujours pertinentes et contextualisées. Le service combine recherche sémantique et génération de résultats en langage naturel, et renvoie les réponses dans un dialogue pouvant être repris via l’ID de session, garantissant continuité et cohérence entre les interactions. Le tout de manière sécurisée, sans risque de fuite de données sensibles.
La technologie RAG-as-a-Service d'Openapi permet donc aux entreprises d'interroger leurs propres données et d'obtenir des réponses fiables et contextualisées. Le service réduit le risque d’« hallucinations » typique des grands modèles de langage (LLM), et offre des réponses cohérentes et pertinentes par rapport aux connaissances spécifiques de l’organisation.
Avec RAG-as-a-Service, l'intégration des fonctionnalités RAG dans les applications est simple et évolutive, sans nécessité de gérer des systèmes de données complexes. Vos contenus sont automatiquement indexés, permettant au modèle d'accéder en temps réel à des données actualisées et pertinentes. Openapi offre ainsi la combinaison entre intelligence artificielle et recherche contextuelle, fournissant des réponses précises basées uniquement sur vos connaissances d'entreprise.
Openapi propose également deux autres services RAG pour la recherche documentaire : Search, qui renvoie un ou plusieurs extraits de texte, et Conversation, qui fournit des réponses uniques en langage naturel, non intégrées dans une conversation. Les trois services sont valables au niveau mondial.
Pour obtenir des résultats cohérents et pertinents avec RAG Conversation, il faut suivre trois étapes principales :
Grâce à l’indexation, il est possible de récupérer rapidement les informations les plus pertinentes en réponse à une requête. Chaque fois qu’un RAG est modifié (ajout ou suppression de documents), il est essentiel de relancer l’indexation pour garantir des réponses à jour et précises.
La première étape consiste à créer un RAG vide via l’endpoint POST /rag, dans lequel vous pourrez ensuite insérer les documents.
La requête doit spécifier :
{
"name": "RAGTest",
"options": {
"ocr": false,
"autoIndexingIntervalHours": 0
},
"callback": {
"method": "POST",
"field": "string",
"url": "https://www.mysite.it/callback.php",
"data": {}
}
}
La réponse contient les détails du RAG (ID et nom, état, options, paramètres comme OCR, nombre total de documents et documents indexés, dates de création, mise à jour, dernière indexation).
{
"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
}
Vous pouvez récupérer à tout moment la liste de tous les RAG ou les détails d’un RAG individuel via les endpoints GET /rag et GET /rag/{id}.
Une fois le RAG créé, vous pouvez ajouter un document via l’endpoint POST /rag/{id}/documents.
Dans la requête, spécifiez l’ID du RAG dans lequel le document sera chargé.
Le payload doit inclure :
{
"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 réponse fournit des détails sur le document, notamment ID, nom, état, métadonnées, taille, type de fichier, dates de création et mise à jour.
{
"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
}
Vous pouvez récupérer à tout moment la liste des documents dans un RAG via GET /rag/{id}/documents.
Comme mentionné précédemment, pour obtenir des réponses contextuelles et précises, il est essentiel de lancer l’indexation chaque fois que le RAG est modifié (ajout ou suppression d’un document). Sans cela, le système continuera à se baser sur les anciennes données.
L’indexation peut être déclenchée manuellement via PATCH/rag/{id} ; alternativement, l’indexation automatique peut être configurée pour se lancer toutes les X heures. Cela se configure lors de la création du RAG via POST /rag. L’indexation, automatique ou manuelle, n’entraîne pas de coûts supplémentaires.
La requête doit inclure l’ID du RAG pour lequel le processus d’indexation manuelle est déclenché.
Le payload doit inclure le paramètre startIndexing à true pour démarrer l’indexation :
"startIndexing": true
La réponse fournit des détails sur le nom du RAG, l’état (ex. ready, indexing), les paramètres (ex. OCR oui/non, indexation automatique oui/non), nombre de documents présents et indexés, taille actuelle en Mo, dates de création et mise à jour.
{
"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
}
Après avoir réalisé les trois étapes précédentes, vous pouvez lancer la recherche via l’endpoint POST /rag/conversation.
Comme indiqué au début, RAG Conversation permet - via API et en temps réel - de trouver le document ou l’information la plus pertinente dans vos fichiers, à partir d’une requête et en tenant compte des conversations précédentes, le tout de manière sécurisée et sans fuite de données sensibles.
La requête doit inclure :
{
"ragId": "688b2ab3bccc6a603202f87c",
"query": "Quels services sont disponibles ?",
"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 fournit les informations les plus pertinentes pour votre recherche, y compris des extraits de texte pour localiser rapidement les données recherchées.
Le payload de réponse contient :
{
"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
}
RAG Conversation permet d’avoir des conversations continues et de rechercher rapidement dans vos documents, avec la certitude que les réponses sont exactes et basées uniquement sur les données chargées et indexées. Toutes les informations restent entièrement sécurisées.
Le service est particulièrement utile pour les entreprises gérant un grand volume de documents (contrats, rapports, manuels), par exemple :
En général, RAG Conversation est idéal pour toute organisation ou professionnel ayant besoin d’accéder rapidement à des informations précises dans ses documents, optimisant temps et fiabilité de recherche.
Avez-vous besoin d'aide ?
Vous n'avez pas trouvé la réponse que vous cherchiez?
Remplissez tous les détails, nous vous contacterons dès que possible!