Mengintegrasikan AI ke Dalam Laravel

Kebanyakan tutorial AI berasumsi Anda menggunakan Python.

Setelah 12 tahun membangun aplikasi PHP, baru-baru ini saya menambahkan fitur AI ke dashboard Laravel produksi. Saya menggunakannya untuk mengubah data mentah menjadi laporan yang mudah dipahami manusia.

Bagian tersulit bukanlah kodenya. Bagian tersulit adalah menemukan konten PHP yang bagus mengenai topik ini.

Berikut adalah cara membangun integrasi AI yang bersih dan siap produksi di Laravel.

Arsitektur

Jangan menyebarkan panggilan API di dalam controller Anda. Sebaliknya, gunakan pola driver. Ini memungkinkan Anda beralih antara Claude dan OpenAI hanya dengan satu perubahan di file .env Anda.

  1. Tentukan kontrak Buat AiClientInterface. Ini memastikan Claude dan OpenAI mengikuti aturan yang sama.

  2. Bangun driver Anda Buat ClaudeClient dan OpenAiClient. Gunakan HTTP client Laravel untuk menangani permintaan. Ini memudahkan penanganan timeout dan percobaan ulang (retries).

  3. Gunakan Service Container Ikat (bind) interface Anda ke client tertentu di AppServiceProvider Anda. Gunakan pernyataan match untuk memilih provider berdasarkan konfigurasi Anda.

Perbedaan

Anda harus mengetahui lima detail ini untuk menghindari kesalahan:

• Claude menggunakan x-api-key di header. OpenAI menggunakan Authorization: Bearer. • Claude memerlukan header anthropic-version. • Claude memerlukan max_tokens. OpenAI membuatnya opsional. • Claude menggunakan field system di tingkat atas. OpenAI menggunakan pesan dengan role: system. • Jalur respons JSON berbeda. Claude menggunakan content[0].text. OpenAI menggunakan choices[0].message.content.

Tips Produksi

• Gunakan Caching: Panggilan AI lambat dan memakan biaya. Jika datanya sama, sajikan hasilnya dari cache Anda. Ini dapat memangkas biaya hingga 70%. • Gunakan Queues: Jangan pernah membuat pengguna menunggu 10 detik untuk respons API. Jalankan (dispatch) job di latar belakang dan beri tahu mereka saat sudah siap. • Tangani Kegagalan: API bisa gagal. Bungkus panggilan Anda dalam blok try-catch. Jika AI gagal, tampilkan data mentah alih-alih halaman yang rusak. • Tetapkan Batasan: Selalu tetapkan max_tokens untuk mengontrol pengeluaran Anda. Gunakan model yang lebih kecil dan lebih murah untuk tugas sederhana seperti ringkasan.

Anda tidak perlu belajar Python untuk membangun fitur AI. Keahlian PHP Anda bekerja dengan sempurna di sini.

Sumber: https://dev.to/sunakshi_thakur_84a5f59fd/integrating-claudeopenai-api-into-a-laravel-app-a-practical-guide-1hig