La forma en que los modelos de lenguaje procesan y segmentan el texto está cambiando del enfoque estático tradicional a un proceso mejor y más receptivo. A diferencia de la fragmentación tradicional de tamaño fijo, que fragmenta documentos grandes en puntos fijos, la fragmentación agéntica emplea técnicas basadas en IA para analizar el contenido en un proceso dinámico y determinar la mejor manera de segmentar el texto.
La fragmentación agéntica utiliza métodos de división de texto basados en IA, fragmentación recursiva y métodos de superposición de fragmentos, que funcionan simultáneamente para pulir la capacidad de fragmentación, preservar los vínculos entre ideas notables y optimizar las ventanas contextuales en tiempo real. Con la fragmentación agéntica, cada fragmento se enriquece con metadatos para profundizar la precisión de recuperación y la eficiencia general del modelo. Esto es particularmente importante en aplicaciones RAG, donde la segmentación de datos puede afectar directamente la calidad de recuperación y la coherencia de la respuesta. El contexto significativo se conserva en todos los fragmentos más pequeños, lo que hace que este enfoque sea increíblemente importante para los chatbots, las bases de conocimiento y los casos de uso de IA generativa. Los marcos como Langchain o LlamaIndex mejoran aún más la eficiencia de recuperación, lo que hace que este método sea muy eficaz.
1. Estrategia de fragmentación adaptativa: elija dinámicamente el mejor método de fragmentación en función del tipo de contenido, la intención detrás de la consulta y las necesidades de recuperación para garantizar una segmentación efectiva.
2. Dimensionamiento dinámico de fragmentos: modifique los tamaños de fragmentos en tiempo real considerando la estructura semántica y el contexto, en lugar de ceñirse a límites fijos de token.
3. Superposición que preserva el contexto: evalúe de forma inteligente la superposición entre fragmentos para mantener la coherencia intacta y evitar perder información esencial para mejorar la eficiencia de la recuperación.
Boletín de la industria
Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .
Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.
La fragmentación agéntica ofrece ventajas sobre la fragmentación tradicional:
a. Retiene el contexto: mantiene la información crucial sin interrupciones innecesarias.
b. Dimensionamiento inteligente: ajusta los límites de los fragmentos según el significado y la importancia.
c. Optimizada para consultas: refina continuamente fragmentos para que coincidan con consultas específicas.
d. Recuperación eficiente: mejora la búsqueda y los resultados de los sistemas RAG al minimizar la fragmentación innecesaria.
En este tutorial, experimentará con la estrategia de fragmentación agéntica mediante el modelo Granite-3.0-8B-Instruct de IBM, ahora disponible en watsonx.ai. El objetivo general es realizar una fragmentación eficiente para implementar RAG de manera efectiva.
Necesita una cuenta de IBM Cloud para crear un watsonx.ai proyecto.
Si bien puede elegir entre varias herramientas, este tutorial lo guiará a través de cómo configurar una cuenta de IBM para usar un Jupyter Notebook.
Inicie sesión en watsonx.ai con su cuenta de IBM Cloud.
Cree un proyecto watsonx.ai.
Puede obtener su ID de proyecto desde dentro de su proyecto. Haga clic en la pestaña Manage. Luego, copie el ID del proyecto de la sección Details de la página General. Necesita este ID para este tutorial.
Cree un Jupyter Notebook.
Este paso abre un entorno de notebook donde puede copiar el código de este tutorial. También puede descargar este Notebook en su sistema local y cargarlo en su proyecto watsonx.ai como activo. Para ver más tutoriales de Granite, consulte la comunidad de IBM Granite. Este Jupyter Notebook y los conjuntos de datos utilizados se pueden encontrar en GitHub.
Cree una instancia de servicio watsonx.ai® tiempo de ejecución (seleccione la región adecuada y elija el plan Lite, que es una instancia gratuita).
Genere una clave de API.
Asocie la instancia del servicio watsonx.ai® tiempo de ejecución al proyecto que creó en watsonx.ai.
Necesitará pocas bibliotecas y módulos para este tutorial. Asegúrese de importar los siguientes y, si no están instalados, una instalación rápida de pip resuelve el problema.
Tenga en cuenta que este tutorial se creó con Python 3.12.7
Para establecer nuestras credenciales, necesitamos "WATSONX_APIKEY" y "WATSONX_PROJECT_ID" . También estableceremos la URL que sirve como endpoint de la API.
Para este tutorial, sugerimos utilizar Granite-3.0-8B-Instruct de IBM como el LLM para lograr resultados similares. Puede utilizar cualquier modelo de IA de su elección. Los modelos fundacionales disponibles a través de watsonx se pueden encontrar aquí.
Esta función extrae el contenido de texto del documento explicativo de IBM sobre machine learning. Esta función elimina elementos HTML no deseados (scripts, estilos) y devuelve texto limpio y legible.
En lugar de utilizar un método de fragmentación de longitud fija, utilizamos un LLM para dividir el texto en función del significado. Esta función aprovecha un LLM para dividir de forma inteligente el texto en fragmentos semánticamente significativos basados en temas.
Imprimamos los fragmentos para comprender mejor su estructura de salida.
¡Excelente! Los agentes crearon correctamente los fragmentos en el resultado.
Ahora que hemos experimentado con la fragmentación agéntica en el texto, vamos a mover nuestra implementación de RAG.
Para este tutorial, elegimos los fragmentos producidos por los agentes y los convertimos en incorporaciones vectoriales. Un almacén de vectores de código abierto que podemos usar es Chroma DB. Podemos acceder fácilmente a la funcionalidad de Chroma a través del paquete langchain_chroma. Inicialicemos nuestra base de datos vectorial Chroma, proporcionemos nuestro modelo de incorporación y agreguemos nuestros documentos producidos por fragmentación agentiva.
Cree una base de datos vectorial Chroma
Convierta cada fragmento de texto en un objeto de documento
Agregue los documentos a la base de datos vectorial.
Ahora, podemos crear una plantilla de instrucciones para nuestro LLM. Esta plantilla garantiza que podamos hacer varias preguntas mientras mantenemos una estructura de instrucciones coherente. Además, podemos integrar nuestro almacén de vectores como el recuperador y finalizar la infraestructura RAG.
Con estos fragmentos agénticos en el flujo de trabajo de RAG, comencemos una consulta de usuario. En primer lugar, podemos dar una instrucción estratégica al modelo sin ningún contexto adicional del almacén de vectores que construimos para probar si el modelo está utilizando su conocimiento incorporado o realmente el contexto RAG. Con el documento explicativo de machine learning de IBM, hagamos la pregunta ahora.
Claramente, el modelo no se entrenó con información sobre el proceso de optimización del modelo y, sin herramientas o información externas, no puede proporcionarnos la información correcta. El modelo alucina. Ahora, intentemos proporcionar la misma consulta a la cadena RAG con los fragmentos agénticos que creamos.
¡Excelente! El modelo Granite utilizó correctamente los fragmentos agénticos de RAG como contexto para proporcionarnos información correcta sobre el proceso de optimización del modelo y mantener la coherencia semántica.
En este tutorial, generamos partes más pequeñas de información relevante utilizando agentes de IA en el proceso de fragmentación y construimos un pipeline de generación aumentada por recuperación (RAG).
Este método mejora la recuperación de información y la optimización de la ventana de contexto mediante inteligencia artificial y procesamiento de lenguaje natural (PLN). Optimiza los fragmentos de datos para mejorar la eficiencia de recuperación al aprovechar los modelos de lenguaje extensos (LLM) como los modelos GPT de OpenAI para obtener mejores resultados.
Permita a los desarrolladores crear, desplegar y monitorear agentes de IA con el estudio IBM watsonx.ai.
Cree una productividad revolucionaria con uno de los conjuntos de capacidades más completos de la industria para ayudar a las empresas a crear, personalizar y gestionar asistentes y agentes de IA.
Logre un ahorro de más del 90 % en costos de energía con los modelos más pequeños y abiertos de Granite, diseñados para mejorar la eficiencia de los desarrolladores. Estos modelos preparados para empresas ofrecen un rendimiento excepcional contra puntos de referencia de seguridad y en una amplia gama de tareas empresariales, desde la ciberseguridad hasta el RAG.