Skip to main content

Integration of Elium content into an enterprise RAG

Elium proposes three approaches to integrate its content into RAG systems: data export, semantic search, and direct querying of Elium AI.

Updated over a week ago

Three integration approaches

Elium offers several methods to leverage its content in the context of a chatbot or a Retrieval-Augmented Generation (RAG) system. Each approach presents specific advantages according to your technical and organizational needs :

  1. Export data to a central database used for RAG.

  2. Dynamically collect relevant content via semantic search.

  3. Query directly Elium AI to obtain a generated response.

1. Working with data export

This method consists of exporting all the contents of an Elium platform or set of spaces for use in an external system. This can be useful for creating a stand-alone replica, but has several limitations.

Features

  • Complete autonomy in relation to the Elium platform

  • Disconnected environment possible

Limitations

  • Complex export format requiring significant post-processing

  • No automatic synchronization, leading to rapid data obsolescence

  • Risk of bypassing user access rights

Recommendation

Use the Search API to dynamically extract :

  • Plain text or HTML articles

  • Content of attached documents (PDF, Word, etc.)

  • Structural metadata (date, space, etc.)

Example query

query ExportStories {
me {
search(query: {start: 0, limit: 10, sort: UPDATED}) {
totalCount
stories {
story {
slug
added
updated
space { slug name }
version {
title
body { text html: previewHtml }
assets {
... on FileAsset {
fileId
filename
downloadUrl
}
}
}
}
}
}
}
}

# text extracted from files is accessible using the following URI template:
# /api/story/asset/{story.slug}/text/{asset.fileId}

Answer

{
"data": {
"me": {
"search": {
"totalCount": 387,
"stories": [
...
{
"story": {
"slug": 1430,
"added": "2025-05-13T13:57:00.569573Z",
"updated": "2025-05-15T14:41:50.259009Z",
"space": {
"slug": 131,
"name": "Finances & RH"
},
"version": {
"title": "Processus de traitement d’une facture fournisseur",
"body": {
"text": "Référencement du fournisseur\nFournisseur référencé dans l'ERP\nCréation d'un nouveau fournisseur\n\nCompléter le formulaire “Création fournisseur”\n\nEnvoyer à l’équipe Achats\n\nRevenir à cette étape une fois le fournisseur créé\n\n\n\n\n\nVérification du bon de commande [...]"
},
"assets": []
}
}
},
...
{
"story": {
"slug": 1391,
"added": "2020-11-20T16:30:55Z",
"updated": "2025-05-07T14:50:49.218213Z",
"space": {
"slug": 5,
"name": "Dans la presse"
},
"version": {
"title": "DIGITAL MARKETING INTERNSHIP.docx",
"body": null,
"assets": [
{
"filename": "DIGITAL MARKETING INTERNSHIP.docx",
"downloadUrl": "https://demo-consulting.elium.com/api/story/asset/1391/download/1500/DIGITAL%20MARKETING%20INTERNSHIP.docx?g=1"
}
]
}
}
},
...
]
}
}
}
}

2. Elium semantic search

The most robust solution for enriching the context of a conversational agent. It uses Elium's internal search engine without directly querying an LLM. The results provided can be injected into the context of an LLM or used to justify a response.

Features

  • Optimal relevance of results thanks to semantic engine

  • Respect for user access rights

  • Possibility of limiting to the context of a Smart Assistant

  • Real-time updating of data

Results provided

  • Text extracts relevant to the query

  • References to source articles and attachments

  • Relevance scores for each result

Example query

query SemanticSearchQuery {
me {
answer {
semanticSearch(query: { text: "Où es hébergé Elium?", limit: 5 }) {
stories {
score
story { slug version { title } }
asset {
... on FileAsset {
filename
downloadUrl
}
}
content
}
}
}
}
}

Answer

{
"data": {
"me": {
"answer": {
"semanticSearch": {
"stories": [
{
"score": 63,
"story": {
"slug": 1214,
"version": {
"title": "Elium - Dossier technique et sécurité"
}
},
"asset": {
"filename": "202402 elium - Dossier technique et sécurité.docx",
"downloadUrl": "https://demo-consulting.elium.com/api/story/asset/1214/download/1408/202402%20elium%20-%20Dossier%20technique%20et%20se%CC%81curite%CC%81.docx?g=1"
},
"content": "nées.\n· Centre de données de Google (GCP)\n· Centre de données de 3DS Outscale (Outscale)\nPour toutes\n les entreprises qui exploitent ces centres de données, nous avons et nous maintenons des contrats contenant des clauses sur la confidentialité des informations et des données personnelles. [...]"
},
{
"score": 62,
"story": {
"slug": 1304,
"version": {
"title": "Elium - Legal - Standard contract templates"
}
},
"asset": {
"filename": "202409 elium - Dossier technique et sécurité.pdf",
"downloadUrl": "https://demo-consulting.elium.com/api/story/asset/1304/download/1483/202409%20elium%20-%20Dossier%20technique%20et%20se%CC%81curite%CC%81.pdf?g=1"
},
"content": "icielle\nLa solution Elium intègre des fonctionnalités basées sur de l’intelligence artificielle. Il \ns’agit, par\nexemple, d'assistants intelligents qui aident les utilisateurs à trouver les informations qu'ils\nrecherchent. [...]"
},
...
]
}
}
}
}
}

3. Querying Elium AI directly

This method simulates a query via the Elium user interface and returns a complete response generated by the AI engine, along with the sources used. This is a good solution for simple use cases, especially if the agent is not enriched with additional context.

Features

  • Simplicity of implementation

  • Structured responses and integrated references

  • Compatible with existing Smart Assistants

⚠️ This approach involves a call to the language model hosted on Azure (OpenAI), which may have regulatory implications for data processing.

Example query

query AnswerQuery {
me {
answer {
answer(query: "Where is Elium hosted?") {
text
sources {
... on Story {
slug
version { title }
}
... on AnswerAssetSource {
story { slug version { title } }
asset {
... on FileAsset {
filename
downloadUrl
}
}
}
}
}
}
}
}

Answer

{
"data": {
"me": {
"answer": {
"answer": {
"text": "Elium is hosted in the **Google data center** located in **Saint-Ghislain**, Belgium, as well as in other data centers in **Europe**.",
"sources": [
{
"story": {
"slug": 1304,
"version": {
"title": "Elium - Legal - Standard contract templates"
}
},
"asset": {
"filename": "202409 elium - Technical and safety file.pdf",
"downloadUrl": "https://demo-consulting.elium.com/api/story/asset/1304/download/1483/202409%20elium%20-%20Dossier%20technique%20et%20se%CC%81curite%CC%81.pdf?g=1"
}
},
{
"story": {
"slug": 1214,
"version": {
"title": "Elium - Technical and safety file"
}
},
"asset": {
"filename": "202402 elium - Technical and safety file.docx",
"downloadUrl": "https://demo-consulting.elium.com/api/story/asset/1214/download/1408/202402%20elium%20-%20Dossier%20technique%20et%20se%CC%81curite%CC%81.docx?g=1"
}
}
]
}
}
}
}
}

Conclusion

Each method has its advantages, depending on the objectives and constraints:

Method

Advantages

Limitations

Ideal use case

Data export

- Complete autonomy

- Offline operation

- Complex implementation

- Rapidly obsolete data

- Isolated environments

- Strict regulatory constraints

Semantic search

- Reliability and relevance

- Respect for access rights

- Up-to-date data

- Requires integration of external LLM module

- Advanced RAG systems

- Critical applications

Direct call to Elium AI

- Easy to implement

- Structured responses

- Dependence on external services (Azure/OpenAI)

- Rapid prototyping

- Simple use cases

For projects requiring relevant results, data security and system scalability, we recommend the semantic search approach. This method offers the best balance between simplicity of integration and quality of results.

For technical questions or specific requirements, please contact the Elium Support team.

Did this answer your question?