top of page

Un RAG et un LLM en 5 minutes chrono ?

  • pierreguillaume673
  • 26 mars
  • 4 min de lecture

Intro : Les limites des LLM


Les Large Language Models (LLM) comme ceux qui alimentent les chatbots ou assistants IA sont impressionnants, mais ils ont un gros défaut : ils ne sont pas connectés à vos données. Entraînés sur des masses de texte publiques, ils n’ont pas accès à vos données propriétaires – vos documents internes, vos bases de connaissances uniques. Résultat ? Des réponses souvent génériques, parfois déconnectées de votre réalité.


Warning : Vos données, le chaînon manquant


Les grands fournisseurs de modèles (OpenAI, Google, etc.) ont scrapé l’intégralité d’Internet pour entraîner leurs IA. Tout y passe… sauf vos données sensibles ou propriétaires. C’est là qu’intervient Vauban AI, une solution d’IA as a service pensée pour les développeurs. Pas de compromis sur la sécurité : aucune donnée n’est stockée lors de appels à l'API. Les données du RAG sont chiffrées avec un algorithme quantum-safe. Avec Vauban, vos données restent sous contrôle, et l’IA devient vraiment utile.


Qu’est-ce que le RAG, au juste ?


Le Retrieval-Augmented Generation (RAG) est une technique qui combine la puissance des LLM avec vos propres données. L’idée est simple : au lieu de se contenter de ce que le modèle a appris pendant son entraînement, on lui donne accès à une base de connaissances spécifique – vos documents – pour qu’il fournisse des réponses précises et contextualisées.


Comment ça marche ?


Chunking et ingestion : Vos documents (PDF, Word, texte brut, etc.) sont découpés en morceaux (chunks) puis transformés en représentations numériques appelées embeddings. Ces embeddings sont stockés dans une base de données vectorielle, un espace où les similitudes entre les contenus sont facilement mesurables.



Pipeline d'ingestion des documents
Pipeline d'ingestion des documents

Requête et injection : Lorsqu’un utilisateur pose une question, le système interroge la base documentaire pour récupérer les morceaux de texte les plus pertinents. Ce contenu est ensuite injecté dans le contexte du LLM, qui génère une réponse enrichie et adaptée.


Requête et injection
Requête et injection

En résumé, le RAG transforme un LLM générique en un assistant qui connaît votre entreprise.


Vauban AI : Le RAG simplifié, sans compromis sur la sécurité


Vauban AI entre en jeu pour rendre ce processus accessible et sécurisé. Oubliez les pipelines complexes : tout se fait en deux appels API. Vos données restent chiffrées, et rien n’est conservé côté serveur après utilisation. Voici comment ça fonctionne.


Étape 1 : Génération des clés


Tout commence par la création de clés API sur le dashboard. Chaque clé est associée à une segmentation spécifique de vos documents dans la base de données. Vauban fournit des clés distinctes pour vos environnements de développement, de test et de production. Vous pouvez créer des clés avec le bouton + et ensuite choisir les fonctionnalités à activer.









Étape 2 : Envoi des documents

Une fois vos clés en poche, il suffit d’un appel API pour envoyer vos documents. Vous pouvez spécifier un folder pour organiser vos fichiers.


Envoyer un fichier dans le RAG:


import requests

# Paramètres de l'appel
params = {
	"folder": "my_folder",
	"smart_update": True
}

# Les headers avec la clé
headers = {
	"Authorization": f"Bearer {YOUR_VAUBAN_API_KEY}"
}
url = "https://api.vauban.cloud/v1/rag/documents"

# Lecture du fichier + requête à l'API
with open("my/file/path/filename.pdf", "rb") as f:
	files = [("files", ("filename.pdf", f))]
	requests.post(url=url, params=params, headers=headers, files=files)

print(f"Response: {response.json()}")

L'envoie des fichiers est asynchrone, ce qui vous permet d'envoyer un batch de fichier sans être bloqué par l'API. Un job est donc créé pour chaque fichier. Vous pouvez voir le status des jobs sur la page "Job" du dashboard. Vous pouvez récupérer les ids des jobs créés au retour de votre appel:

{
	'ids': ['db810b25-0487-403b-bf49-dc395317baee'],
	'message': 'Documents are being processed...'
}

Étape 3 : Faire une requête intelligente


Avec vos documents chargés, un second appel API suffit pour interroger le système. Le RAG récupère les informations pertinentes et le LLM génère une réponse contextualisée. Exemple de code compatible avec la bibliothèque OpenAI:


from openai import OpenAI

client = OpenAI(
	api_key=VAUBAN_API_KEY,
	base_url="https://api.vauban.cloud/v1"
)

response = client.chat.completions.create(
	model="fast-v1",
	max_tokens=1024,
	messages=[
		{
			"role": "user",
			"content": "Quelle est la politique de sécurité de l’entreprise ?"
            }
        ],
	extra_body={
		"rag": True
	}
)

Modèles disponibles:

  • fast-v1: Petit modèle rapide, bien pour des taches simples.

  • chat-v1: Plus gros modèle, plus lent mais plus performant.



La réponse au format OpenAI. Vous pouvez accéder aux sources et au contenu.


# Accès au contenu de la réponse
response.choices[0].message.content

# Accès aux sources
response.sources



Gestion documentaire : Simplicité et contrôle


Vauban AI ne s’arrête pas là. Par défaut, le système détecte automatiquement les mises à jour de vos documents – un fichier modifié ? Il est ré-ingéré sans effort. Mais vous gardez la main : vous pouvez lister vos documents, les supprimer ou ajuster la base de données selon vos besoins.


Lister vos documents


Supprimer des documents


Gestion avancée : Personnalisez votre RAG

Pour les utilisateurs avancés, Vauban offre des paramètres supplémentaires dans l'API.


from openai import OpenAI

client = OpenAI(
	api_key=VAUBAN_API_KEY,
	base_url="https://api.vauban.cloud/v1"
)

response = client.chat.completions.create(
	model="fast-v1",
	max_tokens=1024,
	messages=[
		{
			"role": "user",
			"content": "Quelle est la politique de sécurité de l’entreprise ?"
            }
        ],
	extra_body={
		"rag": True,
		"top_k": 40,
		"lang": "fr",
		"chunk_limit": 30,
		"rag_max_context_token": 4096,
		"score_threshold": 0.2,
		"below_threshold_response": "The prompt is off topic.",
	}
)

Options:

  • "rag": Pour activer


 
 
 

Comments


bottom of page