Berhenti Melakukan Hardcoding pada Panggilan AI API Anda
Saya berhenti melakukan hardcoding pada panggilan AI API. Ia mewujudkan mimpi ngeri penyelenggaraan.
Saya bermula dengan OpenAI. Kemudian, seorang pelanggan mahukan Claude. Saya mempunyai satu fungsi untuk OpenAI. Menambah pembekal lain bermakna saya perlu menyalin kod.
Saya cuba menggunakan pemboleh ubah persekitaran (environment variables). Kod tersebut menjadi berserabut dengan blok if-else. Saya memerlukan antara muka (interface) yang umum.
Saya membina satu lapisan abstraksi (abstraction layer). Saya menggunakan corak Strategy (Strategy pattern).
Ia berfungsi seperti ini:
- Cipta kelas asas (base class) untuk pembekal.
- Tulis kelas khusus untuk setiap API.
- Biarkan aplikasi memanggil kelas asas tersebut.
Aplikasi anda tidak perlu mempedulikan backend mana yang sedang berjalan.
Kelebihan:
- Tambah pembekal baharu dengan mudah.
- Uji dengan pembekal mock.
Kekurangan:
- Ia agak berlebihan (overkill) jika hanya menggunakan satu pembekal.
- Anda akan kehilangan ciri-ciri unik API.
- Pemetaan ralat (error mapping) memerlukan usaha.
Nasihat saya: Bermula dengan satu pembekal konkrit. Lakukan refaktor apabila anda menambah pembekal kedua.
Ini menyelamatkan saya daripada perlu menulis semula keseluruhan kod.
Bagaimana anda mengendalikan pelbagai pembekal AI?
Source: https://dev.to/__c1b9e06dc90a7e0a676b/why-i-stopped-hardcoding-ai-api-calls-and-built-a-simple-abstraction-layer-27me Optional learning community: https://t.me/GyaanSetuAi