Génération augmentée par récupération

Enrichissez votre agent avec de grandes bases de connaissances grâce au RAG.

Vue d’ensemble

La génération augmentée par récupération (RAG) permet à votre agent d’accéder à de grandes bases de connaissances et de les utiliser pendant les conversations. Au lieu de charger des documents entiers dans la fenêtre de contexte, le RAG récupère uniquement les informations les plus pertinentes pour chaque requête utilisateur, ce qui permet à votre agent de :

  • Accéder à des bases de connaissances bien plus volumineuses que ce qui tiendrait dans un prompt
  • Fournir des réponses plus précises, fondées sur les connaissances
  • Réduire les hallucinations en s’appuyant sur les sources
  • Développer les connaissances sans créer plusieurs agents spécialisés

Le RAG est idéal pour les agents qui doivent consulter de grands documents, des manuels techniques ou des bases de connaissances étendues qui dépasseraient les limites de la fenêtre de contexte des prompts traditionnels. Le RAG ajoute une légère latence au temps de réponse de votre agent, d’environ 250 ms.

Cette vidéo a été enregistrée avec une version antérieure du Dashboard. Les étapes de configuration du RAG restent inchangées, mais certains éléments de l’interface peuvent être différents.

Fonctionnement du RAG

Lorsque le RAG est activé, votre agent traite les requêtes utilisateur selon les étapes suivantes :

  1. Traitement de la requête : la question de l’utilisateur est analysée et reformulée pour optimiser la récupération.
  2. Génération d’embeddings : la requête traitée est convertie en embedding vectoriel qui représente la question de l’utilisateur.
  3. Récupération : le système trouve le contenu le plus similaire sur le plan sémantique dans votre base de connaissances.
  4. Génération de réponse : l’agent génère une réponse en utilisant à la fois le contexte de la conversation et les informations récupérées.

Ce processus garantit que les informations pertinentes pour la requête de l’utilisateur sont transmises au LLM afin de générer une réponse factuellement correcte.

Guide

Prérequis

Activer le RAG pour votre agent

Dans les paramètres de votre agent, accédez à la section Base de connaissances et activez l’option Utiliser le RAG. Configurez au besoin le modèle d’embedding, le nombre maximal de segments de document et la distance vectorielle maximale dans l’onglet Avancé.

Options de configuration du RAG, dont la sélection du modèle d’embedding

Indexation de la base de connaissances

Chaque document de votre base de connaissances doit être indexé avant de pouvoir être utilisé avec le RAG. Ce processus se produit automatiquement lorsqu’un document est ajouté à un agent pour lequel le RAG est activé.

L’indexation des documents volumineux peut prendre quelques minutes. Vous pouvez vérifier son état dans la liste de la base de connaissances.

Configurer les modes d’utilisation des documents (facultatif)

Pour chaque document de votre base de connaissances, vous pouvez choisir comment il est utilisé :

  • Auto (par défaut) : le document est récupéré uniquement lorsqu’il est pertinent pour la requête
  • Prompt : le document est toujours inclus dans le prompt système, quelle que soit sa pertinence
Options de mode d’utilisation des documents dans la base de connaissances

Définir trop de documents en mode « Prompt » peut dépasser les limites de contexte. Utilisez cette option avec parcimonie pour les informations critiques.

Tester votre agent avec RAG activé

Après avoir enregistré votre configuration, testez votre agent en posant des questions liées à votre base de connaissances. L’agent devrait désormais pouvoir récupérer et référencer des informations précises de vos documents.

Limites d’utilisation

Afin de garantir une allocation équitable des ressources, ElevenLabs impose des limites sur la taille totale des documents pouvant être indexés pour le RAG par Workspace, selon le niveau d’abonnement.

Les limites sont les suivantes :

Niveau d’abonnementLimite de taille totale des documentsRemarques
Gratuit1 MBLes index peuvent être supprimés après une période d’inactivité.
Starter2 MB
Creator20 MB
Pro100 MB
Scale500 MB
Business1 GB
Enterprise1 GBLimites supérieures possibles selon le niveau et l’accord.

Remarque :

  • Ces limites s’appliquent à la taille d’origine des fichiers des documents indexés pour le RAG, et non à la taille de stockage interne de l’index RAG lui-même, qui peut être considérablement plus importante.
  • Les documents de moins de 500 octets ne peuvent pas être indexés pour le RAG et sont automatiquement utilisés dans le prompt à la place.

Implémentation de l’API

Vous pouvez également implémenter le RAG via l’API :

from elevenlabs import ElevenLabs
import time
# Initialize the ElevenLabs client
elevenlabs = ElevenLabs(api_key="your-api-key")
# First, index a document for RAG
document_id = "your-document-id"
embedding_model = "e5_mistral_7b_instruct"
# Trigger RAG indexing
response = elevenlabs.conversational_ai.knowledge_base.document.compute_rag_index(
documentation_id=document_id,
model=embedding_model
)
# Check indexing status
while response.status not in ["SUCCEEDED", "FAILED"]:
time.sleep(5) # Wait 5 seconds before checking status again
response = elevenlabs.conversational_ai.knowledge_base.document.compute_rag_index(
documentation_id=document_id,
model=embedding_model
)
# Then update agent configuration to use RAG
agent_id = "agent_7101k5zvyjhmfg983brhmhkd98n6"
# Get the current agent configuration
agent_config = elevenlabs.conversational_ai.agents.get(agent_id=agent_id)
# Enable RAG in the agent configuration
agent_config.agent.prompt.rag = {
"enabled": True,
"embedding_model": "e5_mistral_7b_instruct",
"max_documents_length": 10000
}
# Update document usage mode if needed
for i, doc in enumerate(agent_config.agent.prompt.knowledge_base):
if doc.id == document_id:
agent_config.agent.prompt.knowledge_base[i].usage_mode = "auto"
# Update the agent configuration
elevenlabs.conversational_ai.agents.update(
agent_id=agent_id,
conversation_config=agent_config.agent
)