Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Visualización actual:Versión - Cambio a la versión del nuevo portal de Foundry
La generación aumentada de recuperación (RAG) es un patrón que combina la búsqueda con modelos de lenguaje grandes (LLM) para que las respuestas se basen en los datos. En este artículo se explica cómo funciona RAG en Microsoft Foundry, qué índices de roles desempeñan y cómo la recuperación agéntica cambia los patrones clásicos de RAG.
Los modelos de lenguaje de gran escala se entrenan en los datos públicos disponibles durante el entrenamiento. Si necesita respuestas basadas en los datos privados o en la información que cambia con frecuencia, RAG le ayuda a:
- Recupere información relevante de los datos (a menudo a través de un índice).
- Proporcione esa información al modelo como datos de base.
- Genere una respuesta que pueda incluir citas de vuelta al contenido de origen.
¿Qué es RAG?
Los modelos de lenguaje grande (LLM), como ChatGPT, se entrenan en datos públicos de Internet que estaba disponible cuando se entrenó el modelo. Es posible que los datos públicos no sean suficientes para sus necesidades. Por ejemplo, puede que quiera respuestas basadas en documentos privados o que necesite información actualizada.
RAG soluciona esto recuperando el contenido pertinente de los datos e incluyiéndolo en la entrada del modelo. El modelo puede generar respuestas basadas en el contenido recuperado.
Conceptos clave para RAG:
- Datos de referencia: contenido recuperado que se proporciona al modelo para reducir conjeturas.
- Índice: estructura de datos optimizada para recuperación (palabra clave, semántica, vector o búsqueda híbrida).
- Incrustaciones: representaciones numéricas del contenido usado para la búsqueda de similitud vectorial. Consulte Descripción de las inscrusciones.
- Mensaje del sistema y avisos: instrucciones que guían cómo usa el modelo contenido recuperado. Consulte Mensajes delsistema de seguridad e ingeniería de mensajes.
¿Cómo funciona RAG?
RAG sigue un flujo de tres pasos:
- Recuperar: cuando un usuario realiza una pregunta, la aplicación consulta un índice o almacén de datos para buscar contenido relevante.
- Ampliar: la aplicación combina la pregunta del usuario y el contenido recuperado (datos fundamentales) en un mensaje.
- Generar: el modelo recibe el mensaje incrementado y genera una respuesta basada en el contenido recuperado, lo que reduce las imprecisiones y habilita citas precisas.
¿Qué es un índice y por qué lo necesito?
RAG funciona mejor cuando se puede recuperar contenido relevante de forma rápida y coherente. Un índice ayuda a organizar el contenido para una recuperación eficaz.
Muchas soluciones RAG usan un índice que admite uno o varios de estos modos de recuperación:
- Búsqueda de palabras clave
- Búsqueda semántica
- Búsqueda de vectores
- Búsqueda híbrida (palabra clave + vector, a veces con clasificación semántica)
Un índice también puede almacenar campos que mejoran la calidad de las citas (por ejemplo, títulos de documento, direcciones URL o nombres de archivo).
Foundry puede conectar el proyecto a un servicio y un índice de Búsqueda de Azure AI para su recuperación. En función de la característica y la superficie de API que use, esta información de conexión puede representarse como una conexión de proyecto o un identificador de recurso de índice.
Por ejemplo, la Vista previa de la API REST de Foundry Project incluye un campo index_asset_id para recursos de índice de Búsqueda de Azure AI. Consulte Foundry Project REST API preview.
Búsqueda de Azure AI es un almacenamiento de índices recomendado para escenarios RAG. Búsqueda de Azure AI admite la recuperación sobre datos vectoriales y textuales almacenados en índices de búsqueda, y también puede consultar otros destinos si usa la recuperación agente. Consulte ¿Qué es Búsqueda de Azure AI?.
Agentic RAG: enfoque moderno para la recuperación de información
Los patrones RAG tradicionales suelen usar una sola consulta para obtener información de tus datos. La recuperación agénica, también conocida como RAG agénica, es una evolución en la arquitectura de recuperación que utiliza un modelo para dividir entradas complejas en varias subconsultas enfocadas, ejecutarlas en paralelo y devolver datos estructurados fundamentales que tienen una alta compatibilidad con los modelos de finalización de chat.
La recuperación agentica proporciona varias ventajas sobre RAG clásico:
- Planeamiento de consultas compatibles con contexto: usa el historial de conversaciones para comprender el contexto y la intención. Las preguntas de seguimiento conservan el contexto de los intercambios anteriores, lo que hace que las conversaciones de múltiples turnos sean más naturales.
- Ejecución en paralelo : ejecuta varias subconsultas centradas simultáneamente para mejorar la cobertura. En lugar de recuperar desde una sola consulta secuencialmente, la ejecución en paralelo reduce la latencia y recupera resultados más diversos relevantes.
- Respuestas estructuradas : devuelve datos de base, citas y metadatos de ejecución junto con los resultados. Esta salida estructurada facilita que la aplicación mencione los orígenes con precisión y realice un seguimiento del razonamiento subyacente.
- Clasificación semántica integrada : garantiza una relevancia óptima de los resultados. La clasificación semántica filtra el ruido y prioriza los pasajes verdaderamente relevantes, lo que es especialmente importante con grandes conjuntos de datos.
- Síntesis de respuesta opcional : puede incluir respuestas formuladas por LLM directamente en la respuesta de la consulta. Como alternativa, puede optar por devolver pasajes textuales sin procesar para que la aplicación procese.
Si usa Búsqueda de Azure AI como motor de recuperación, consulte Agentic recovery and Quickstart: Agentic recovery.
Elige un enfoque en Foundry
Foundry admite varios patrones para trabajar con datos privados. Elija en función de la complejidad del caso de uso y la cantidad de control que necesite:
- Use RAG cuando necesite respuestas con base en datos privados o que cambian con frecuencia.
- Use el ajuste preciso cuando necesite cambiar el comportamiento del modelo, el estilo o el rendimiento de las tareas, en lugar de agregar nuevos conocimientos.
- Use una experiencia administrada de “usar tus datos” si desea una manera más guiada de conectar, integrar y chatear sobre sus datos. Consulte Azure OpenAI en tus datos y Guía de inicio rápido: Chatear con modelos de Azure OpenAI usando tus propios datos.
Introducción a RAG en Foundry
La implementación de RAG en Foundry suele seguir este flujo de trabajo:
- Preparar los datos: organizar y fragmentar los documentos privados o la base de conocimiento en contenido que se puede buscar
- Set up an index: Crear un índice de Búsqueda de Azure AI o usar otro servicio de recuperación para organizar el contenido para realizar búsquedas eficaces
- Conexión a Foundry: creación de una conexión desde el proyecto foundry al servicio de índice o recuperación
- Compilación de la aplicación RAG: integración de la recuperación con las llamadas LLM mediante el SDK de Foundry o las API REST
- Prueba y evaluación: compruebe que la calidad de recuperación es buena y las respuestas son precisas y se citan correctamente.
Para empezar, siga estos tutoriales:
- Tutorial: Parte 1: Configuración del entorno de proyecto y desarrollo para crear una aplicación de recuperación de conocimiento personalizada (RAG) con el SDK de Microsoft Foundry
- Tutorial: Parte 2: Creación de una aplicación de recuperación de conocimiento personalizada (RAG) con el SDK de Microsoft Foundry
Consideraciones de seguridad y privacidad
Los sistemas RAG pueden exponer contenido confidencial si no diseñas el acceso y la configuración de avisos con cuidado.
- Aplicar el control de acceso en el momento de recuperación. Si usa Búsqueda de Azure AI como origen de datos, puede usar el control de acceso de nivel de documento con filtros de seguridad.
- Prefiera Microsoft Entra ID en lugar de llaves de API para producción. Las claves de API son cómodas para el desarrollo, pero no se recomiendan para escenarios de producción. Para obtener orientación sobre RBAC de Búsqueda de Azure AI, consulte Conectar a Búsqueda de Azure AI usando roles.
- Trate el contenido recuperado como entrada que no es de confianza. El mensaje del sistema y la lógica de la aplicación deben reducir el riesgo de inyección de prompts desde documentos y pasajes recuperados. Consulte Mensajes del sistema de seguridad.
Consideraciones sobre costos y latencia
RAG agrega trabajo adicional en comparación con una solicitud de solo modelo:
- Costos de recuperación y latencia: la consulta de un índice agrega interacciones adicionales y cálculo.
- Inserción de costos y latencia: la búsqueda de vectores requiere incrustaciones en el tiempo de indexación y, a menudo, en el momento de la consulta.
- Uso de tokens: Los pasajes recuperados incrementan los tokens de entrada, lo que puede incrementar el costo.
Si usa Búsqueda de Azure AI, confirme el plan de servicio y los precios antes del lanzamiento de producción. Si usa la recuperación semántica o híbrida, revise los precios y los límites de Búsqueda de Azure AI en la documentación de Búsqueda de Azure AI.
Limitaciones y solución de problemas
Limitaciones conocidas
- La calidad de RAG depende de la preparación del contenido, la configuración de recuperación y el diseño de mensajes. La mala preparación de datos o la estrategia de indexación afectan directamente a la calidad de la respuesta.
- Si la recuperación devuelve pasajes irrelevantes o incompletos, el modelo todavía puede producir respuestas incompletas o inexactas a pesar de la base.
- Si no controla el acceso al contenido de origen, las respuestas fundamentadas pueden filtrar información confidencial del índice.
Desafíos comunes y mitigación
- Calidad de recuperación deficiente: si el índice no devuelve pasajes relevantes, revise la estrategia de fragmentación de datos, la calidad del modelo de inserción y la configuración de búsqueda (palabra clave frente a semántica frente a híbrida).
- Hallucinación a pesar del fundamento: incluso con el contenido recuperado, los modelos todavía pueden generar respuestas inexactas. Habilite las citas y use mensajes y avisos del sistema claros para indicar al modelo que se apegue al contenido recuperado.
- Problemas de latencia: los índices grandes pueden ralentizar la recuperación. Considere la estrategia de indexación, el filtrado y la reclasificación para reducir el volumen de pasajes procesados.
- Presupuesto de tokens superado: los pasajes recuperados pueden consumir rápidamente los límites de tokens. Implemente el filtrado de pasajes, la clasificación o el resumen para mantenerse dentro del presupuesto.
Para obtener instrucciones sobre cómo evaluar la eficacia de RAG, consulte los tutoriales y los inicios rápidos de la sección de contenido relacionado a continuación.
Contenido relacionado
- Tutorial: Parte 1: Configuración del entorno de proyecto y desarrollo para crear una aplicación de recuperación de conocimiento personalizada (RAG) con el SDK de Microsoft Foundry
- Tutorial: Parte 2: Creación de una aplicación de recuperación de conocimiento personalizada (RAG) con el SDK de Microsoft Foundry
- Inicio rápido: Chatear con modelos de Azure OpenAI utilizando sus propios datos
- Azure OpenAI sobre tus datos