Mengapa Saya Berhenti Melakukan Hardcoding Panggilan API AI

Waktu itu jam 11 malam. Saya telah membina satu alatan untuk pembangun. OpenAI berfungsi dengan baik. Kemudian, seorang pelanggan meminta Claude.

Kod saya hanya mempunyai satu fungsi. Ia memanggil OpenAI secara terus. Untuk menambah Claude, saya terpaksa menyalin dan menampal. Ini menghasilkan kod yang tidak berkualiti.

Pada mulanya, saya menggunakan blok if-else. Ia berfungsi untuk dua pembekal. Namun, pembekal ketiga merosakkan segalanya. Kod tersebut menjadi kucar-kacir.

Saya membina satu antara muka yang ringkas. Kini, aplikasi tersebut meminta prompt. Ia tidak peduli AI mana yang memberikan jawapan.

Berikut adalah logiknya:

  • Cipta satu kelas asas (base class) untuk semua pembekal.
  • Bina kelas berasingan untuk OpenAI dan Claude.
  • Gunakan klien untuk memanggil antara muka tersebut.
  • Gunakan fail konfigurasi untuk menukar pembekal.

Pendekatan ini mempunyai had:

  • Jangan lakukan ini jika hanya menggunakan satu pembekal.
  • Ciri-ciri unik AI mungkin tersembunyi.
  • Ralat berbeza mengikut pembekal.

Mulakan dengan ringkas. Tulis satu pembekal sahaja. Lakukan refactor apabila anda memerlukan pembekal kedua.

Bagaimana anda mengendalikan pelbagai pembekal AI? Adakah anda menggunakan alatan sedia ada atau membina sendiri?

Sumber: https://dev.to/__c1b9e06dc90a7e0a676b/why-i-stopped-hardcoding-ai-api-calls-and-built-a-simple-abstraction-layer-27me