En una reciente publicación se abordó el tema de las incrustaciones de lenguaje y su aplicación práctica en la mejora de una aplicación web de agregador de RSS. A través del uso de Amazon Bedrock, un servicio completamente gestionado que permite acceder a modelos fundamentales de inteligencia artificial, se realizó una implementación que incorpora características como clasificación «zero-shot» y búsqueda semántica.
Amazon Bedrock facilita a los desarrolladores la selección de modelos de IA de startups líderes, brindando una experiencia sin servidor que permite personalizar los modelos con datos propios y eventualmente integrarlos en diferentes aplicaciones. Para el desarrollo de la aplicación de agregador de RSS, se utilizó específicamente el modelo Cohere v3 Embed, que genera incrustaciones de lenguaje.
La aplicación de agregador de RSS permite a los usuarios suscribirse a fuentes RSS y recibir listas categorizadas de artículos nuevos. A través de la clasificación «zero-shot», los artículos son clasificados según diversas temáticas, como Tecnología, Política, y Salud y Bienestar. Los usuarios también tienen la opción de crear sus propios temas.
Además, se implementó una función de búsqueda semántica que permite a los usuarios buscar artículos no solo por palabras clave, sino también por características como el tono y el estilo de los textos. Esta funcionalidad se basa en la representación semántica de los文章 dentro de un espacio de incrustación, donde se pueden calcular similitudes entre consultas y artículos, proporcionando resultados relevantes incluso si no contienen exactamente el texto buscado.
Desde el punto de vista técnico, la solución utiliza una variedad de servicios de Amazon, como Amazon API Gateway, Amazon CloudFront, y Amazon Cognito para la autenticación. La arquitectura incluye la recolección y almacenamiento de datos mediante Amazon Aurora, que funciona como base de datos y almacén de vectores, utilizando la extensión pgvector para realizar búsquedas de similitud.
El post también destaca que las incrustaciones son representaciones numéricas de conceptos que permiten a las computadoras entender relaciones complejas entre palabras y significados. Por ejemplo, el algoritmo k-NN se utiliza para la clasificación, asignando etiquetas a los artículos basadas en la proximidad de sus incrustaciones a las incrustaciones de las temáticas predefinidas.
En resumen, esta nueva aplicación representa un avance significativo en el uso de tecnologías de IA para mejorar la experiencia del usuario en la búsqueda y clasificación de información, demostrando el potencial de las incrustaciones de lenguaje para transformar cómo interactuamos con los contenidos digitales.
vía: AWS machine learning blog