- Python untuk AI Engineer Adalah
- Peta Topik Python yang Benar-Benar Dipakai
- 1. Validasi Data dengan Type Hints dan Pydantic
- 2. Memotong Teks untuk RAG
- 3. Membaca Berkas dan Menyimpan JSON
- 4. Memproses Banyak Item Secara Paralel dengan Batas
- 5. Menguji Fungsi dengan pytest
- 6. Lingkungan dan Dependensi
- Yang Boleh Ditunda
- Rencana Latihan Empat Minggu
- Kesalahan Umum Saat Belajar Python untuk AI
- FAQ
- Python apa yang perlu dipelajari untuk menjadi AI engineer?
- Apakah harus menguasai deep learning untuk menjadi AI engineer?
- Berapa lama belajar Python untuk mulai membuat fitur AI?
- Apa itu Pydantic dan kenapa dipakai?
- Kenapa perlu belajar async?
- Apakah cukup belajar lewat notebook?
- Apakah bahasa selain Python bisa dipakai?
- Kesimpulan
Kalau Anda mencari “belajar Python untuk AI”, hasilnya biasanya dua kutub: tutorial dasar yang membahas semuanya dari nol, atau kursus deep learning yang langsung memakai kerangka kerja berat. Padahal seorang AI engineer yang membangun fitur di atas model bahasa memakai bagian Python yang jauh lebih sempit, dan bagian itu sering tidak ditekankan di tutorial umum.
Artikel ini menyaring Python menjadi topik yang benar-benar dipakai saat membuat fitur seperti RAG, klasifikasi, dan ekstraksi data. Contoh kodenya kami uji, termasuk tes otomatis dengan pytest. Anda juga akan tahu apa yang boleh ditunda dulu supaya tidak tersesat di materi yang belum Anda butuhkan.
Python untuk AI Engineer Adalah
Python untuk AI engineer adalah subset Python yang dipakai untuk membangun, menguji, dan menjalankan fitur berbasis model AI: memvalidasi data, memproses teks, membaca dan menulis berkas, memanggil layanan secara paralel, dan memastikan semuanya bisa diuji. Fokusnya rekayasa aplikasi, bukan melatih model dari nol.
Bedanya dengan Python untuk riset atau data science: di sini Anda lebih banyak menulis fungsi kecil yang rapi, memakai tipe data yang jelas, dan menangani kegagalan, daripada mengutak-atik matriks. Posisi peran ini dijelaskan di perbedaan AI engineer, ML engineer, dan data scientist.
Peta Topik Python yang Benar-Benar Dipakai
| Topik Python | Dipakai untuk apa di fitur AI | Prioritas |
|---|---|---|
| Fungsi, tipe data, dan type hints | Kode yang mudah dibaca dan dites, kontrak antarbagian sistem | Wajib |
| Validasi data (Pydantic atau sejenisnya) | Memeriksa masukan pengguna dan keluaran model | Wajib |
| String dan teks | Membersihkan dokumen, memotong teks untuk RAG | Wajib |
| Berkas, JSON, dan pathlib | Membaca dokumen sumber, menyimpan hasil dan log | Wajib |
| Penanganan galat | Model dan jaringan bisa gagal kapan saja | Wajib |
| Async dan konkurensi | Memanggil model untuk banyak item tanpa menunggu satu per satu | Penting |
| Lingkungan virtual dan dependensi | Proyek yang bisa dijalankan ulang di mesin lain | Penting |
| Pengujian (pytest) | Menjaga fungsi tetap benar saat prompt dan data berubah | Penting |
| Pandas dan NumPy dasar | Menganalisis hasil evaluasi, menyiapkan data | Cukup dasar |
| Kerangka deep learning | Melatih atau menyesuaikan model sendiri | Tunda dulu |
Cara kami menguji: semua contoh kode di bawah dijalankan di Python 3.11 dengan model tiruan (bukan API sungguhan). Tes pada bagian pengujian dijalankan dengan pytest dan lulus. Tujuannya memastikan logika kodenya berjalan seperti yang dijelaskan.
1. Validasi Data dengan Type Hints dan Pydantic
Data dari pengguna dan dari model tidak boleh dipercaya begitu saja. Pydantic memungkinkan Anda mendeklarasikan bentuk data yang benar, lalu menolak yang salah dengan pesan jelas. Pola yang sama dipakai untuk keluaran model, seperti dibahas di structured output LLM.
from pydantic import BaseModel, Field, ValidationError
class Permintaan(BaseModel):
pertanyaan: str = Field(min_length=3, max_length=500)
unit: str = "umum"
Permintaan(pertanyaan="Berapa hari cuti?") # lolos
try:
Permintaan(pertanyaan="?") # terlalu pendek
except ValidationError as e:
print(e.errors()[0]["type"]) # string_too_short
Hasil uji: pertanyaan yang wajar lolos dengan nilai bawaan unit="umum", sedangkan pertanyaan satu karakter ditolak dengan jenis galat string_too_short.
2. Memotong Teks untuk RAG
Sebelum dokumen bisa dicari, ia dipotong menjadi bagian-bagian kecil. Fungsi berikut memotong teks dengan tumpang tindih agar kalimat di perbatasan tidak kehilangan konteks. Konsep di baliknya dijelaskan di RAG adalah.
def potong_teks(teks: str, ukuran: int = 500, tumpang_tindih: int = 50) -> list[str]:
if tumpang_tindih >= ukuran:
raise ValueError("tumpang_tindih harus lebih kecil dari ukuran")
potongan = []
mulai = 0
while mulai < len(teks):
potongan.append(teks[mulai:mulai + ukuran])
mulai += ukuran - tumpang_tindih
return potongan
Hasil uji: teks 1.200 karakter dengan ukuran 500 dan tumpang tindih 50 menghasilkan tiga potongan berpanjang 500, 500, dan 300 karakter, dan 50 karakter terakhir potongan pertama sama dengan 50 karakter awal potongan kedua. Ini versi paling sederhana. Untuk teks nyata, memotong di batas paragraf atau kalimat biasanya menghasilkan potongan yang lebih bermakna daripada memotong tepat di hitungan karakter.
3. Membaca Berkas dan Menyimpan JSON
from pathlib import Path
import json
def muat_dokumen(folder: str) -> list[dict]:
hasil = []
for berkas in sorted(Path(folder).glob("*.txt")):
hasil.append({"nama": berkas.name, "isi": berkas.read_text(encoding="utf-8")})
return hasil
# simpan hasil dengan aksara non-ASCII tetap terbaca
Path("hasil.json").write_text(
json.dumps(muat_dokumen("dokumen"), ensure_ascii=False, indent=2),
encoding="utf-8",
)
Hasil uji pada folder sementara: berkas terbaca berurutan menurut nama, dan karakter berakzen tetap utuh setelah ditulis dan dibaca kembali dari JSON. Dua detail kecil yang sering menjebak: selalu tulis encoding="utf-8", dan pakai ensure_ascii=False agar teks berbahasa Indonesia atau bahasa lain tidak berubah menjadi kode lolos.
4. Memproses Banyak Item Secara Paralel dengan Batas
Memanggil model untuk 500 dokumen satu per satu bisa memakan waktu lama. Memanggil semuanya sekaligus bisa melewati batas penyedia. Solusi umum adalah paralel dengan batas menggunakan semafor.
import asyncio
async def proses_batch(item, fungsi, paralel=5):
batas = asyncio.Semaphore(paralel)
async def satu(x):
async with batas:
return await fungsi(x)
return await asyncio.gather(*(satu(x) for x in item), return_exceptions=True)
Hasil uji dengan 20 item dan model tiruan yang menunggu 0,05 detik per panggilan: jumlah panggilan yang berjalan bersamaan tidak pernah melebihi 5, seluruh batch selesai dalam sekitar 0,2 detik (bukan 1 detik jika satu per satu), dan satu item yang sengaja gagal muncul sebagai objek galat di hasil tanpa menghentikan 19 item lainnya. Pola timeout dan percobaan ulang yang melengkapi ini dibahas di skill backend untuk AI engineering.
5. Menguji Fungsi dengan pytest
Fungsi seperti pemotong teks mudah diuji, dan pengujian membuat Anda berani mengubahnya kelak. Dua tes berikut kami jalankan dengan pytest dan keduanya lulus.
import pytest
def test_potong_teks_tumpang_tindih():
teks = "".join(chr(97 + i % 26) for i in range(1200))
potongan = potong_teks(teks, ukuran=500, tumpang_tindih=50)
assert len(potongan) == 3
assert potongan[0][-50:] == potongan[1][:50]
def test_parameter_salah():
with pytest.raises(ValueError):
potong_teks("abc", ukuran=10, tumpang_tindih=10)
Tes untuk kode biasa ini berbeda dengan evaluasi kualitas jawaban model. Yang pertama memastikan logika benar, yang kedua mengukur seberapa baik model menjawab, seperti dibahas di evaluasi LLM. Anda membutuhkan keduanya.
6. Lingkungan dan Dependensi
Bagian ini tidak glamor, tetapi memisahkan proyek yang bisa dijalankan orang lain dari proyek yang hanya jalan di laptop Anda. Buat lingkungan virtual per proyek, catat dependensi beserta versinya, dan simpan rahasia seperti kunci API di variabel lingkungan atau berkas yang tidak masuk repositori. Sebuah proyek portofolio yang tidak bisa dijalankan ulang akan cepat dilewati perekrut.
Yang Boleh Ditunda
Prinsipnya: pelajari bagian Python yang muncul di proyek yang sedang Anda kerjakan. Ini bukan berarti materi lanjutan tidak penting, hanya soal urutan. Alasan urutan ini masuk akal dibahas di roadmap AI engineering dari backend.
Rencana Latihan Empat Minggu
- Minggu 1: fondasi. Tulis fungsi kecil dengan type hints, tangani galat, dan baca tulis berkas JSON. Latihan: skrip yang membaca folder catatan dan menghitung jumlah kata per berkas.
- Minggu 2: data dan teks. Validasi dengan Pydantic dan tulis pemotong teks sendiri. Latihan: proses 20 dokumen menjadi potongan yang tersimpan sebagai JSON.
- Minggu 3: model dan paralel. Panggil satu model dari kode, lalu proses banyak item dengan batas paralel. Dasar pemanggilan ada di panduan Gemini API dengan Python.
- Minggu 4: pengujian dan kerapian. Tambahkan tes pytest, rapikan struktur folder, dan buat README agar proyek bisa dijalankan orang lain.
Kesalahan Umum Saat Belajar Python untuk AI
Terjebak di tutorial dasar terlalu lama
Menyelesaikan semua bab sintaks tanpa membuat proyek membuat pengetahuan tidak menempel. Belajar sambil membuat sesuatu yang berjalan.
Hanya bekerja di notebook
Notebook bagus untuk eksplorasi, tetapi fitur produksi hidup di modul dan fungsi yang bisa diuji. Biasakan memindahkan logika ke berkas biasa.
Mengabaikan type hints dan tes
Keduanya terasa lambat di awal, tetapi menyelamatkan waktu ketika kode membesar dan Anda mengganti model atau prompt.
Menaruh kunci API di dalam kode
Kunci yang terunggah ke repositori publik bisa disalahgunakan dan tagihannya jatuh ke akun Anda. Simpan di luar kode.
Jangan memanggil model tanpa penanganan galat dan batas waktu. Contoh di artikel ini menyederhanakan banyak hal demi keterbacaan. Untuk kode produksi, tambahkan timeout, percobaan ulang terbatas, dan pencatatan, karena layanan model bisa lambat atau gagal sewaktu-waktu.
Catatan kritis: pembagian "wajib, penting, tunda" di atas adalah penilaian kami tentang urutan belajar yang efisien untuk pekerjaan membangun fitur AI, bukan standar industri. Jika target Anda adalah peran ML engineer atau riset, komposisinya berbeda dan kerangka deep learning masuk lebih awal.
Mulai dari Satu Skrip Hari Ini
Ambil folder berisi beberapa catatan, tulis fungsi yang memotongnya, simpan hasilnya sebagai JSON, lalu tulis satu tes. Untuk referensi resmi bahasa Python, tutorial berikut lengkap dan gratis. Setelah itu, terapkan ke proyek nyata.
Tutorial Resmi Python Ide Proyek untuk BerlatihFAQ
Python apa yang perlu dipelajari untuk menjadi AI engineer?
Fokus pada fungsi dan tipe data, validasi data, pengolahan teks, berkas dan JSON, penanganan galat, async dasar, lingkungan virtual, dan pengujian. Bagian itu yang paling sering dipakai saat membangun fitur di atas model bahasa.
Apakah harus menguasai deep learning untuk menjadi AI engineer?
Untuk peran yang berfokus membangun fitur dengan model yang sudah ada, tidak harus di awal. Deep learning menjadi penting jika Anda melatih atau menyesuaikan model sendiri, atau menargetkan peran ML engineer dan riset.
Berapa lama belajar Python untuk mulai membuat fitur AI?
Tergantung latar belakang dan waktu belajar. Orang yang sudah pernah memprogram bisa mulai membuat prototipe dalam beberapa minggu, sedangkan pemula total butuh lebih lama. Ukur kemajuan dari proyek kecil yang selesai, bukan dari lamanya belajar.
Apa itu Pydantic dan kenapa dipakai?
Pydantic adalah pustaka untuk mendeklarasikan bentuk data dan memvalidasinya. Dipakai untuk memeriksa masukan pengguna dan keluaran model sebelum diproses, sehingga data yang salah ditolak sejak awal.
Kenapa perlu belajar async?
Memanggil model adalah pekerjaan yang menunggu. Dengan async, banyak panggilan bisa berjalan bersamaan sehingga pemrosesan batch jauh lebih cepat, asalkan dibatasi agar tidak melampaui batas penyedia.
Apakah cukup belajar lewat notebook?
Notebook bagus untuk eksplorasi, tetapi kurang cocok untuk fitur produksi. Biasakan menulis logika sebagai fungsi di berkas biasa yang bisa diuji dan dijalankan ulang.
Apakah bahasa selain Python bisa dipakai?
Bisa. Node.js dan bahasa lain juga umum untuk membangun fitur AI. Python populer karena ekosistemnya, tetapi prinsip validasi, penanganan galat, dan pengujian berlaku di bahasa apa pun.
Kesimpulan
Python untuk AI engineer tidak perlu seluas Python untuk riset. Untuk membangun fitur di atas model bahasa, Anda terutama membutuhkan fungsi yang rapi, validasi data, pengolahan teks dan berkas, penanganan galat, async yang terkendali, dan pengujian. Semuanya bisa dipelajari lewat proyek kecil.
Wawasan yang sering terlewat: yang membedakan kode AI yang bertahan dari demo sekali jalan biasanya bukan pustaka AI-nya, melainkan hal-hal biasa seperti validasi, tes, dan lingkungan yang bisa direproduksi. Mulailah dari satu skrip kecil yang lengkap dengan tes, tambahkan kemampuan sesuai kebutuhan proyek, dan tunda bagian yang belum Anda butuhkan. Dengan begitu waktu belajar Anda terpakai untuk hal yang benar-benar akan Anda pakai.





