Multimodálne modely spracovávajú viaceré typy vstupov - text, obrázky, audio, video. Odomykajú nové možnosti aplikácií.
Čo je multimodalita?
Tradičné LLM pracujú len s textom. Multimodálne modely rozumejú:
- Text - štandardný vstup
- Obrázky - fotografie, screenshoty, diagramy
- Audio - reč, hudba, zvuky
- Video - kombinácia všetkého
GPT-4 Vision
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Čo je na tomto obrázku?"},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.jpg"
}
}
]
}]
)
Use cases
- OCR - extrakcia textu z obrázkov
- Analýza UI - review dizajnu, accessibility
- Dokumenty - faktúry, formuláre, ID
- Diagramy - pochopenie architektúry
Claude Vision
import anthropic
import base64
client = anthropic.Anthropic()
with open("image.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image_data
}
},
{
"type": "text",
"text": "Analyzuj tento screenshot a navrhni UX zlepšenia"
}
]
}]
)
Google Gemini
Natívne multimodálny od základu:
import google.generativeai as genai
model = genai.GenerativeModel('gemini-pro-vision')
image = PIL.Image.open('diagram.png')
response = model.generate_content([
"Vysvetli tento systémový diagram",
image
])
Gemini 1.5 Pro - Video
# Analýza videa
video = genai.upload_file("presentation.mp4")
response = model.generate_content([
"Sumarizuj hlavné body tejto prezentácie",
video
])
Praktické aplikácie
1. Automatizácia dokumentov
def process_invoice(image_path):
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": """Extrahuj z faktúry:
- Číslo faktúry
- Dátum
- Dodávateľ
- Suma
Vráť ako JSON."""},
{"type": "image_url", "image_url": {"url": image_path}}
]
}]
)
return json.loads(response.choices[0].message.content)
2. Accessibility audit
def audit_screenshot(screenshot):
prompt = """Analyzuj tento UI screenshot z pohľadu accessibility:
1. Kontrastnosť textu
2. Veľkosť klikateľných oblastí
3. Alternatívne texty
4. Logická hierarchia
Navrhni konkrétne zlepšenia."""
return analyze_with_vision(screenshot, prompt)
3. Code generation z mockupov
def mockup_to_code(design_image):
prompt = """Preveď tento UI mockup na React komponent
s Tailwind CSS. Zachovaj presné rozloženie a štýly."""
return generate_code(design_image, prompt)
Limity
- Halucinácie - model môže "vidieť" čo tam nie je
- Citlivé dáta - pozor na PII v obrázkoch
- Náklady - obrázky sú drahšie ako text
- Latencia - spracovanie trvá dlhšie
Záver
Multimodálne AI výrazne rozširujú možnosti automatizácie. Od OCR cez analýzu dizajnu až po video summarizáciu - hranice sa posúvajú každým dňom.