💡 Antes de probar esta Función Lambda, ten en cuenta que debe estar en la misma VPC y ser capaz de acceder a la base de datos Amazon Aurora PostgreSQL. Para eso, consulta and
Funciones AWS Lambda para Consultar Archivos de Texto e Imagen en una Base de Datos Vectorial:
Para recuperar la ubicación de imágenes de una base de datos vectorial
Puedes buscar por texto o por imagen
- Evento de texto para el trigger:
{
"vectorStoreLocation": "REPLACE-NAME.vdb",
"bucketName": "REPLACE-YOU-BUCKET",
"vectorStoreType": "faiss",
"InputType": "text",
"query":"TEXT-QUERY",
"embeddingModel": "amazon.titan-embed-text-v1"
}
💡 Usa location y bucketName para entregar la ubicación de la imagen para realizar una consulta.
🚀 ¡Vamos a construir!
Las Amazon Lambdas que construirás en este despliegue se crean con imágenes de contenedor, debes tener Docker Desktop instalado y activo en tu computadora.
Paso 1: Configuración de la APP
✅ Clona el repositorio
git clone https://github.com/build-on-aws/langchain-embeddings
✅ Ve a:
✅ Configura la
✅ Crea el ambiente virtual:
python3 -m venv .venv
source .venv/bin/activate
para windows:
.venv\Scripts\activate.bat
✅ Instala los Requirements:
pip install -r requirements.txt
✅ Synthesize el Cloudformation Template con el siguiente comando:
✅ 🚀 El despliegue:
🧹 ¡Limpia la casa!:
Si terminas de probar y quieres limpiar la aplicación, solo tienes que seguir estos dos pasos:
✅ Elimina los archivos del bucket de Amazon S3 creado en el despliegue.
✅ Ejecuta este comando en tu terminal:
Conclusión
En esta publicación, has demostrado cómo transformar una solución de búsqueda multimodal basada en notebooks en una arquitectura serverless escalable utilizando servicios de AWS. Has recorrido el proceso de desarrollo de funciones Lambda para tareas de embedding, utilizando AWS CDK para el despliegue de infraestructura, e integrando con S3 y Aurora PostgreSQL para una gestión eficiente de datos.
Al aprovechar estas tecnologías serverless, ahora puedes desplegar un motor de búsqueda multimodal robusto y listo para producción, capaz de manejar tanto contenido textual como visual. Este enfoque no solo mejora la escalabilidad, sino que también reduce la sobrecarga operativa, permitiéndote concentrarte en mejorar tus capacidades de búsqueda y la experiencia del usuario.
Te animo a que construyas sobre esta base, experimentes con diferentes modelos de embedding y explores servicios adicionales de AWS para mejorar aún más tu motor de búsqueda multimodal. No dudes en compartir tus experiencias o hacer preguntas en los comentarios a continuación. ¡Feliz construcción!
Gracias,
Continue to Building a Multimodal Search Engine with Amazon Titan Embeddings, Aurora Serveless PostgreSQL and LangChain
SOCIAL SHARE CARD GENERATOR