Art Search Engine : un moteur de recherche IA multimodal
On se pose souvent la question de l’impact de l’IA pour les métiers de la création et de l’art. Comme nous sommes des technophiles optimistes, nous avons essayé de prendre le problème à revers : comment l’IA générative pourrait-elle nous aider à faciliter l’accès à l’art ? C’est dans cette optique que nous avons développé le prototype Art Search Engine présenté sur l’Innovation Corner du Summit AWS Paris 2024.
Art Search Engine s’appuie sur un dataset public composé de 60 000 œuvres, dans 10 styles artistiques différents : art nouveau, baroque, expressionnisme, impressionnisme, renaissance, etc. A partir d’une requête de l’utilisateur, Search AI peut réaliser plusieurs actions :
- Générer une image basée sur du texte
- Générer une requête basée sur les préférences de l’utilisateur, comme les styles artistiques
- Aller chercher dans la base des oeuvres similaires à une demande texte ou à une demande image
- Générer une description et un titre pour l’oeuvre créée
Pour ce faire, ce moteur multimodal fait appel à différents LLM par l’intermédiaire d’Amazon Bedrock : Stable Diffusion, Claude, Titan.
Pour développer ce prototype, l’équipe constituée de Thomas Ounnas, N’Bouyaa Kassinga et Fabien Lallemand a réalisé les différentes étapes du projet en moins d’un mois : tester les API des modèles, mettre en place les connexions aux bases de données, et déployer l’infrastructure supportant le prototype.
Architecture de l’application
L’architecture est structurée ainsi :
- Amazon API Gateway pour déclencher la StepFunction
- AWS StepFunctions pour implémenter l’orchestration des différentes tâches
- AWS Lambda pour réaliser chaque action dans le workflow de la StepFunction
- Amazon Bedrock pour l’accès aux différents LLM (Stable Diffusion XL, Claude 2.1, Titan, Claude 3 Sonnet)
- Amazon OpenSearch (serverless) utilisé comme Vector Store pour le stockage des embeddings des images et de certaines métadonnées
- Amazon DynamoDB pour le cache et le stockage d’informations
- Amazon S3 pour le stockage des images brutes des différentes oeuvres d’art du dataset
- Amazon SES pour l’envoi des résultats par mail
- AWS System Manager Parameter Store pour le stockage de certains paramètres, comme que les prompts utilisés pour les LLM en fonction des différentes tâches
Les différents modèles utilisés permettent de répondre aux modalités de la demande utilisateur : Stable Diffusion génère des images, Claude 3 les descriptions et les titres des œuvres, Claude 2.1 génère un prompt, etc.
Diagramme d’architecture
Workflow StepFunction
Initiation à la GenAI
Ce prototype, développé en un temps très court malgré les contraintes techniques (principalement la sélection et le test des modèles, le test de charge en prévision du Summit), offre une initiation ludique à la GenAI.
Il permet aussi de mieux comprendre l’intérêt d’un service comme Amazon Bedrock dans le développement d’applications basées sur les LLM. Cette solution a également été présentée au Summit AWS de Londres dans le cadre du AWS Generative AI Accelerator.