Belajar AI Engineer - Multimodal & Vision AI
Episode 13 of 28

Belajar AI Engineer - Multimodal & Vision AI

Melampaui teks: model multimodal yang membaca gambar, dokumen, dan audio. Kalian memahami cara kerja vision LLM, membangun pipeline multimodal untuk OCR dan analisis gambar, serta belajar kapan multimodal murni cukup dan kapan perlu model khusustype: text

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Hingga episode 12, semua sistem kita hanya melihat teks. Padahal sebagian besar data dunia bukan teks: gambar produk, faktur, foto struk, screenshot bug, audio meeting. Episode ini membuka dunia multimodal AI — model yang memahami gambar, audio, dan dokumen sekaligus.

Mengapa penting? Karena di 2026, model frontier (GPT-4o, Claude, Gemini) adalah multimodal native. Satu model bisa menggantikan pipeline OCR + vision model + NLP yang dulu rumit. AI engineer yang menguasai input multimodal bisa membangun produk (analisis dokumen, moderasi gambar, support berbasis screenshot) yang jauh lebih dekat dengan kebutuhan nyata.

Cara Kerja Model Multimodal

Model multimodal memproyeksikan gambar menjadi visual tokens yang dipahami bersama token teks:

100%

Konsekuensi praktis penting: gambar memakan token — dan token gambar itu mahal. Satu gambar bisa setara ribuan token teks. Ini memengaruhi biaya dan anggaran konteks yang kita bahas di episode 8.

Vision: Analisis Gambar

Membangun aplikasi vision pertama sangat sederhana — kirim gambar sebagai bagian dari pesan:

Pythonvision.py - analisis gambar
import base64
from openai import OpenAI
 
client = OpenAI()
 
def gambar_to_b64(path: str) -> str:
    with open(path, "rb") as f:
        return base64.b64encode(f.read()).decode()
 
def analisis_gambar(path: str, pertanyaan: str) -> str:
    r = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{
            "role": "user",
            "content": [
                {"type": "text", "text": pertanyaan},
                {"type": "image_url",
                 "image_url": {"url": f"data:image/png;base64,{gambar_to_b64(path)}"}},
            ],
        }],
        max_tokens=300,
    )
    return r.choices[0].message.content
 
print(analisis_gambar("struk.png", "Ekstrak daftar item dan total belanja."))

Perhatikan struktur pesan content yang menjadi array berisi item teks dan item gambar. Inilah pola dasar semua interaksi multimodal.

Tip

Model multimodal modern juga bisa menerima URL gambar dan PDF. Untuk PDF panjang, jangan kirim seluruh halaman — kirim halaman relevan saja, atau gunakan pipeline dokumen yang kita bahas sebentar lagi.

Pipeline Multimodal untuk Dokumen

Untuk dokumen nyata (faktur, kontrak, laporan), pola yang umum adalah: convert → segment → analisis. Contoh alur untuk PDF:

  1. Konversi PDF ke gambar per halaman (pdftoppm atau library seperti PyMuPDF).
  2. Kirim halaman yang relevan ke model multimodal untuk ekstraksi.
  3. Gabungkan hasil, validasi dengan structured output (episode 5).
PythonEkstraksi dokumen terstruktur
import base64
import fitz  # PyMuPDF
from pydantic import BaseModel
from openai import OpenAI
 
client = OpenAI()
 
class Faktur(BaseModel):
    nomor: str
    tanggal: str
    total: int
    item: list[str]
 
def halaman_pdf_b64(pdf: str, nomor: int) -> str:
    doc = fitz.open(pdf)
    pix = doc[nomor].get_pixmap(dpi=150)
    return base64.b64encode(pix.tobytes("png")).decode()
 
def ekstrak_faktur(pdf: str) -> Faktur:
    img = halaman_pdf_b64(pdf, 0)
    r = client.beta.chat.completions.parse(
        model="gpt-4o",
        messages=[{
            "role": "user",
            "content": [
                {"type": "text", "text": "Ekstrak data faktur ke JSON."},
                {"type": "image_url",
                 "image_url": {"url": f"data:image/png;base64,{img}"}},
            ],
        }],
        response_format=Faktur,
    )
    return r.choices[0].message.parsed
 
f = ekstrak_faktur("faktur.pdf")
print(f.nomor, f.total, f.item)

Kombinasi vision + structured output ini adalah pola paling laris untuk otomasi dokumen: OCR manual dan tabel parse tidak lagi diperlukan untuk mayoritas kasus.

Audio dan Input Lainnya

Model multimodal juga menerima audio: meeting bisa di-transkrip langsung, dan model bisa merangkumnya. Contoh:

PythonInput audio via OpenAI
with open("meeting.mp3", "rb") as f:
    r = client.audio.transcriptions.create(
        model="whisper-1", file=f)
print(r.text)

(Transkripsi + voice agent dibahas penuh di episode 14.)

Kapan Multimodal Murni Tidak Cukup

Model multimodal kuat, tapi tidak selalu jawaban untuk segalanya:

KebutuhanPendekatan
OCR umum, analisis gambar, dokumenMultimodal murni (API)
Deteksi objek + bounding box presisiModel vision khusus (YOLO, deteksi)
Processing ribuan gambar per menitPipeline batch + model kecil lokal
Video real-time, edge deviceModel ringan ter-optimasi di device

Aturannya: model multimodal untuk pemahaman, model khusus untuk pengukuran presisi. Kombinasi keduanya sering jadi arsitektur terbaik.

Common Pitfalls

  • Mengirim gambar resolusi raksasa: gambar dipotong/dikompres model; kirim yang cukup untuk analisis agar hemat token.
  • Lupa batas konteks: gambar = ribuan token; beberapa halaman PDF bisa melebihi konteks. Segmentasi adalah jawabannya.
  • Menggunakan multimodal untuk semuanya: deteksi presisi butuh model khusus — jangan paksa model generatif.
  • Tidak validasi ekstraksi: gunakan structured output + validasi angka (total faktur tidak mungkin negatif).

Penutup

Inti yang harus dibawa pulang:

  • Model multimodal = gambar/audio → visual tokens → diproses bersama teks.
  • Pola pesan: content sebagai array item teks + image_url.
  • Vision + structured output menggantikan pipeline OCR tradisional.
  • Pilih multimodal untuk pemahaman, model khusus untuk pengukuran presisi.

Di episode 14 selanjutnya kita masuk tren terpanas 2026: voice & speech AI — speech-to-text, text-to-speech, voice agent real-time, dan membangun asisten suara sendiri. Sampai jumpa di episode 14!

Belajar AI Engineer - Multimodal & Vision AI | Belajar AI Engineer