Di artikel sebelumnya, kita sudah bahas kenapa developer Laravel perlu peduli soal integrasi AI. Sekarang kita masuk ke praktiknya. Di artikel ini, kita akan buat koneksi yang benar-benar jalan antara aplikasi Laravel dan API AI (pakai OpenAI sebagai contoh utama, dengan catatan tambahan untuk Claude di bagian yang berbeda).
Setelah selesai baca artikel ini, kamu akan punya:
- Setup dan config untuk menyimpan API key dengan benarPLAINTEXT Snippetplaintext1 baris•4 charsUTF-8•Spaces: 4
- Service class khusus untuk komunikasi ke API AI
- Route/controller sederhana untuk testing
- Error handling dasar biar aplikasi nggak rusak kalau API-nya gagal
Langsung saja kita mulai.
Langkah 1: Ambil API Key
Kamu butuh API key dari provider yang kamu pilih:
- OpenAI: https://platform.openai.com/api-keys
- Anthropic (Claude): https://console.anthropic.com/settings/keys
Simpan key ini dengan aman. Jangan pernah commit ke Git, jangan pernah hardcode langsung di kode.
Langkah 2: Simpan Key di .env
Buka file
Kalau kamu pakai Claude:
Langkah 3: Daftarkan di Config
Buka
Kenapa harus lewat sini, bukan langsung panggil
Langkah 4: Buat Service Class
Daripada manggil API langsung dari controller, bungkus dulu di dalam service class. Ini bikin kode lebih rapi dan gampang kalau suatu saat mau ganti provider.
Buat file
Beberapa hal yang perlu diperhatikan di sini:
- mencegah request yang macet supaya nggak nge-hang aplikasi selamanya.PLAINTEXT Snippetplaintext1 baris•11 charsUTF-8•Spaces: 4
- Kita cek sebelum coba baca body-nya. Jangan pernah asumsikan pemanggilan API-nya pasti berhasil.PLAINTEXT Snippetplaintext1 baris•19 charsUTF-8•Spaces: 4
- Error dicatat ke log biar bisa di-debug nanti, bukan cuma dibiarkan hilang begitu saja.
Langkah 5: Coba Pakai Route
Untuk testing cepat, tambahkan ini ke
Buka
Pakai Claude Sebagai Gantinya
Kalau kamu mau pakai Claude, format request-nya sedikit berbeda. API Anthropic pakai header
Jangan lupa tambahkan
Kesalahan yang Sering Terjadi
1. Hardcode API key di kode Ini cara paling gampang bikin key-mu bocor kalau kodenya ternyata masuk ke repo publik. Selalu pakai
2. Nggak set timeout Tanpa timeout, pemanggilan API AI yang lambat atau macet bisa bikin request nggantung tanpa batas. Selalu set timeout.
3. Manggil API langsung dari controller Ini oke buat testing cepat, tapi cepat berantakan begitu kamu butuh retry, logging, atau beberapa fitur AI sekaligus. Service class bikin kode rapi sejak awal.
4. Nggak ngecek kegagalan Provider AI bisa saja mengembalikan error, kena rate limit, atau timeout. Selalu cek
5. Commit
Selanjutnya
Sekarang kita sudah punya koneksi dasar yang jalan ke API AI. Tapi manggil langsung dari route bukan cara yang tepat buat bikin fitur beneran. Di artikel selanjutnya, kita akan pakai fondasi ini untuk bikin chatbot sederhana, termasuk cara mengelola riwayat percakapan supaya AI-nya ingat konteks dari pesan-pesan sebelumnya.
Ini adalah Part 2 dari series "Laravel + AI Integration".




