Interleaved Modalities
iaDéfinition
Les Interleaved Modalities (modalites entrelacees) font reference a la capacite d'un LLM multimodal a traiter et generer des documents qui alternent texte et images dans un ordre quelconque, plutot que de traiter l'image et le texte separement. Cette capacite est essentielle pour comprendre des documents reels comme les articles scientifiques (texte + figures + graphiques entremeles), les pages web, les tutoriels techniques, ou les presentations. Les modeles supportant nativement les interleaved modalities : GPT-4o (traitement d'images multiples intercalees dans une conversation), Claude 3 (plusieurs images dans un meme message), Gemini 1.5 Pro (jusqu'a 3000 images intercalees avec du texte dans 1M tokens), et Llama 3.2 Vision (plusieurs images par message). Les cas d'usage distinctifs des interleaved modalities : (1) Analyse de publications scientifiques — referencer des figures specifiques dans le texte (Figure 3 montre que...), (2) Revue de code avec screenshots — melanger du code et des captures d'interface, (3) Tutoriels etape-par-etape avec images — comprendre des instructions avec captures illustratives, (4) Rapports de tests — correlerer des graphiques de performance avec des sections textuelles d'analyse. Les defis techniques : (1) L'ordre des images et du texte doit etre preserve pour que le modele comprenne les references (Figure 1 dans le texte doit correspondre a la premiere image), (2) Les references pronominales traversant les modalites ('comme on le voit sur cette image, il a...') necessitent une comprehension croisee, (3) Le nombre de tokens visuels augmente lineairement avec le nombre d'images. Pour les developpeurs, les APIs modernes supportent nativement les interleaved modalities via les messages de type 'content array' melangeant des blocks 'text' et 'image' dans n'importe quel ordre. L'API Anthropic, OpenAI et Google GenAI supportent toutes ce format avec des implementations legerement differentes.
Interleaved content avec l'API Anthropic
import anthropic, base64
def analyze_report_with_figures(text_part1, image1_path, text_part2, image2_path):
def img_block(path):
with open(path, 'rb') as f:
data = base64.b64encode(f.read()).decode()
return {'type': 'image', 'source': {'type': 'base64',
'media_type': 'image/jpeg', 'data': data}}
client = anthropic.Anthropic()
response = client.messages.create(
model='claude-3-5-sonnet-20241022', max_tokens=2000,
messages=[{'role': 'user', 'content': [
{'type': 'text', 'text': text_part1},
img_block(image1_path), # Figure 1
{'type': 'text', 'text': text_part2},
img_block(image2_path), # Figure 2
{'type': 'text', 'text': 'Analysez le rapport en referençant les deux figures.'}
]}]
)
return response.content[0].text
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h