Saltar a la navegación

Generación aumentada por recuperación

Mejora tu agente con grandes bases de conocimiento mediante RAG.

Descripción general

La generación aumentada por recuperación (RAG) permite a tu agente acceder a grandes bases de conocimiento y utilizarlas durante las conversaciones. En lugar de cargar documentos completos en la ventana de contexto, RAG recupera solo la información más relevante para cada consulta de usuario, lo que permite a tu agente:

  • Acceder a bases de conocimiento mucho más grandes de lo que cabría en un prompt
  • Ofrecer respuestas más precisas y fundamentadas en conocimientos
  • Reducir las alucinaciones al consultar material de referencia
  • Ampliar los conocimientos sin crear varios agentes especializados

RAG es ideal para agentes que necesitan consultar documentos extensos, manuales técnicos o grandes bases de conocimiento que superarían los límites de la ventana de contexto de los prompts tradicionales. RAG añade una ligera latencia al tiempo de respuesta de tu agente, de unos 250 ms.

Este vídeo se grabó con una versión anterior del panel. Los pasos de configuración de RAG no han cambiado, pero algunos elementos de la interfaz pueden tener un aspecto diferente.

Cómo funciona RAG

Cuando RAG está activado, tu agente procesa las consultas de usuario mediante estos pasos:

  1. Procesamiento de consultas: La pregunta del usuario se analiza y reformula para optimizar la recuperación.
  2. Generación de embeddings: La consulta procesada se convierte en un embedding vectorial que representa la pregunta del usuario.
  3. Recuperación: El sistema encuentra el contenido semánticamente más similar de tu base de conocimiento.
  4. Generación de respuestas: El agente genera una respuesta utilizando tanto el contexto de la conversación como la información recuperada.

Este proceso garantiza que la información relevante para la consulta del usuario se envíe al LLM para generar una respuesta factualmente correcta.

Guía

Requisitos previos

Activa RAG para tu agente

En los ajustes de tu agente, abre Base de conocimiento y selecciona la pestaña Recuperación. En Modo de recuperación, elige En cada turno para buscar en la base de conocimiento en cada turno, o Bajo demanda para que el agente busque solo cuando decida que lo necesita. Solo prompt desactiva la recuperación.

Configura el modelo de embeddings, el límite de distancia vectorial y el número de candidatos en Búsqueda semántica, y los límites de caracteres y fragmentos en Límites de recuperación.

Indexación de la base de conocimiento

Cada documento de tu base de conocimiento debe indexarse antes de poder utilizarse con RAG. Este proceso ocurre automáticamente cuando se añade un documento a un agente con RAG activado.

La indexación de documentos grandes puede tardar unos minutos. Puedes comprobar el estado de indexación en la lista de la base de conocimiento.

Configura los modos de uso de documentos (opcional)

Para cada documento de tu base de conocimiento, puedes elegir cómo se utiliza:

  • Automático (predeterminado): El documento solo se recupera cuando es relevante para la consulta
  • Prompt: El documento siempre se incluye en el prompt del sistema, independientemente de su relevancia
Opciones de modo de uso de documentos en la base de conocimiento

Configurar demasiados documentos en el modo “Prompt” puede superar los límites de contexto. Usa esta opción con moderación para información crítica.

Prueba tu agente con RAG activado

Después de guardar la configuración, prueba tu agente haciendo preguntas relacionadas con tu base de conocimiento. Ahora el agente debería poder recuperar y consultar información específica de tus documentos.

Límites de uso

Para garantizar una asignación justa de recursos, ElevenLabs aplica límites al tamaño total de los documentos que se pueden indexar para RAG por espacio de trabajo, según el nivel de suscripción.

Los límites son los siguientes:

Nivel de suscripciónLímite de tamaño total de documentosNotas
Gratis1 MBLos índices pueden eliminarse tras un periodo de inactividad.
Starter2 MB
Creator20 MB
Pro100 MB
Scale500 MB
Business1 GB
Enterprise1 GBHay límites superiores disponibles según el nivel y el acuerdo.

Nota:

  • Estos límites se aplican al tamaño original del archivo total de los documentos indexados para RAG, no al tamaño de almacenamiento interno del propio índice RAG (que puede ser considerablemente mayor).
  • Los documentos de menos de 500 bytes no se pueden indexar para RAG y, en su lugar, se usarán automáticamente en el prompt.

Implementación de la API

También puedes implementar RAG mediante la 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
)