Di dua artikel sebelumnya, kita bikin sendiri class
Ini persis masalah yang diselesaikan Prism PHP. Prism kasih satu interface yang konsisten untuk komunikasi dengan berbagai provider AI, jadi ganti provider cukup ubah satu baris kode, bukan tulis ulang semuanya.
Apa Itu Prism PHP
Prism adalah package Laravel open source yang dibuat khusus untuk kerja dengan LLM. Daripada manggil API mentah masing-masing provider sendiri, kamu tulis kode sekali pakai syntax fluent milik Prism, dan Prism yang urus detail spesifik tiap provider di belakang layar.
Saat ini Prism mendukung provider seperti OpenAI, Anthropic, Gemini, Mistral, Groq, DeepSeek, Ollama, xAI, dan beberapa lainnya, lengkap dengan fitur streaming, tool calling, dan structured output.
Langkah 1: Install Prism
Jalankan ini di project Laravel kamu:
Lalu publish file config-nya:
Ini akan bikin file
Langkah 2: Penggunaan Dasar
Ini contoh paling sederhana, generate respons teks pakai Claude dari Anthropic:
Mau pakai OpenAI sebagai gantinya? Tinggal ubah satu baris:
Perhatikan, sisa kodenya tetap sama persis. Inilah inti dari pakai Prism: kode aplikasimu nggak perlu tahu atau peduli provider mana yang sebenarnya menjawab request itu.
Langkah 3: Bangun Ulang Chatbot Kita Pakai Prism
Mari tulis ulang
Controller dan view dari Part 3 tidak perlu diubah sama sekali. Ini keuntungan dari menaruh logika AI di balik service class sejak awal: providernya bisa ganti di belakang layar tanpa menyentuh bagian lain dari aplikasimu.
Langkah 4: Ganti Provider Lewat Config, Bukan Kode
Untuk project beneran, lebih baik bikin provider dan model-nya bisa dikonfigurasi, bukan hardcode, supaya kamu bisa ganti provider lewat
Sekarang ganti dari OpenAI ke Claude di production cukup dengan ubah config dan deploy, bukan ubah kode.
Fitur Tambahan yang Kamu Dapat Gratis dari Prism
Beberapa fitur yang perlu kamu tahu karena akan kita pakai di artikel-artikel berikutnya:
- , untuk mengatur perilaku atau persona AI terpisah dari isi percakapan.PLAINTEXT Snippetplaintext1 baris•18 charsUTF-8•Spaces: 4
- , untuk set timeout dengan cara yang sama seperti yang kita lakukan manual di Part 2.PLAINTEXT Snippetplaintext1 baris•36 charsUTF-8•Spaces: 4
- , untuk otomatis retry kalau request-nya gagal.PLAINTEXT Snippetplaintext1 baris•23 charsUTF-8•Spaces: 4
- Data usage response, lewat danPLAINTEXT Snippetplaintext1 baris•30 charsUTF-8•Spaces: 4, berguna untuk melacak biaya.PLAINTEXT Snippetplaintext1 baris•34 charsUTF-8•Spaces: 4
Apakah Selalu Harus Pakai Prism?
Belum tentu. Kalau kamu memang cuma akan pakai satu provider terus dan nggak butuh fleksibilitas multi-provider, manggil API langsung pakai HTTP client Laravel (seperti yang kita lakukan di Part 2) sudah cukup dan dependency-nya lebih sedikit.
Prism jadi berguna kalau:
- Kamu mau kasih user pilihan provider atau model AI-nya sendiri
- Kamu butuh fallback gampang kalau satu provider lagi down
- Kamu bikin fitur tool calling atau structured output (yang ditangani Prism dengan baik)
- Kamu memang malas maintain kode khusus provider untuk setiap integrasi
Selanjutnya
Sekarang ganti provider sudah gampang, kita bisa fokus ke fitur yang lebih advanced. Di artikel selanjutnya, kita akan bangun sistem RAG (Retrieval Augmented Generation) sederhana, supaya AI-nya bisa jawab pertanyaan berdasarkan dokumen atau data milikmu sendiri, bukan cuma dari training umumnya.
Ini adalah Part 4 dari series "Laravel + AI Integration".




