API Gateway untuk Plugin ChatGPT
April 19, 2023
OpenAI baru-baru ini meluncurkan versi baru ChatGPT yang sekarang memungkinkan plugin di dalam ChatGPT. Plugin ini dapat ditambahkan langsung ke chatbot, memberikannya akses ke berbagai pengetahuan dan informasi dari mitra pihak ketiga melalui API. Plugin ChatGPT dapat memperluas fungsionalitasnya dan meningkatkan kemampuannya untuk mengakses informasi terkini seperti meneliti biaya perjalanan, menemukan informasi diskon, atau membantu Anda memesan tiket pesan dan memesan makanan. Anda juga dapat membuat plugin Anda sendiri yang memungkinkan ChatGPT untuk memanggil data API Anda secara cerdas.
Ya, benar! Untuk membuat data Anda dapat diakses melalui plugin kustom ChatGPT, ChatGTP mengharuskan Anda untuk membangun API baru atau menggunakan yang sudah ada yang dapat digunakan untuk mengkueri dan menerima responsnya. Kemudian, ChatGPT menghasilkan jawaban yang ramah pengguna dengan menggabungkan data API dan kemampuan bahasa alaminya. Dalam hal ini, API Gateway dapat membantu meningkatkan keamanan, kegunaan, dan efisiensi. Postingan ini mengeksplorasi bagaimana API Gateway dapat bermanfaat bagi pengembang plugin ChatGPT untuk mengekspos, mengamankan, mengelola, dan memantau endpoint API mereka.
Menurut OpenAI: Pengembang plugin menulis spesifikasi untuk API menggunakan standar OpenAPI yang memungkinkan ChatGPT untuk berinteraksi dengan API yang didefinisikan oleh pengembang.
Tujuan pembelajaran
Anda akan mempelajari hal-hal berikut sepanjang artikel:
- Memahami peran API Gateway dalam membangun API Plugin ChatGPT.
- Cara mempublikasikan, mengamankan, mengamati, dan menerapkan masalah lintas sektor lainnya untuk API plugin.
- Cara menggunakan Apache APISIX (sebuah API Gateway open-source) dengan Plugin ChatGPT.
Peran API Gateway
API Gateway bertindak sebagai jembatan antara Plugin ChatGPT dan API Anda dengan menyediakan antarmuka standar untuk komunikasi. API Gateway mengelola akses, keamanan, dan kinerja API, serta menawarkan fitur lintas sektor lainnya. Misalkan Anda ingin membangun plugin ChatGPT untuk informasi diskon dari pasar di kota Anda, Anda mungkin memiliki API yang berbeda untuk menampilkan produk baru, pasar terdekat, dan penawaran terbaru. Dalam konteks ini, API Gateway akan menjadi lapisan tambahan antara API Anda dan plugin.

Sebagai contoh, API Gateway dapat menggabungkan ChatGPT dengan API lain seperti API pemrosesan bahasa alami selain OpenAI atau API terjemahan dari penyedia lain, memungkinkan klien untuk mengakses berbagai layanan dengan satu plugin melalui jalur URI yang ditentukan secara kustom dan layanan upstream (beberapa server API backend), mengarahkan permintaan ke API yang sesuai dan mengembalikan respons ke ChatGPT.
Keamanan yang ditingkatkan
Salah satu peran utama API Gateway dalam ChatGPT adalah menangani autentikasi dan otorisasi. Ini melibatkan verifikasi identitas pengguna plugin dan menentukan apakah mereka memiliki izin yang diperlukan untuk mengakses API dari plugin. OpenAI mungkin menggunakan berbagai mekanisme autentikasi, seperti OAuth, kunci API, atau protokol autentikasi kustom dan meneruskan kredensial pengguna ke API Gateway. Kemudian API Gateway dapat melakukan verifikasi autentikasi secara otomatis untuk memeriksa apakah pengguna telah diautentikasi atau tidak. Anda tidak perlu menulis kode implementasi untuk proses validasi ini untuk setiap API.
Pada dasarnya, API gateway berfungsi sebagai tindakan keamanan untuk melindungi dari upaya peretasan potensial. API Gateway membatasi jenis permintaan tertentu, seperti memblokir permintaan POST yang tidak sah ke Rute tertentu kecuali pengirim memiliki hak istimewa yang sesuai atau menyertakan header tertentu dalam permintaan.
Misalkan sebuah perusahaan memiliki API e-commerce yang memungkinkan pelanggan untuk memesan melalui Plugin ChatGPT. API Gateway dikonfigurasi untuk memblokir permintaan POST ke Rute "tempatkan pesanan" kecuali permintaan tersebut menyertakan kunci API yang valid di header permintaan, yang bertindak sebagai token akses istimewa. Ini berarti hanya permintaan yang diautentikasi dan diotorisasi dengan kunci API yang benar yang akan diizinkan untuk membuat pesanan baru, sementara permintaan yang tidak sah akan diblokir, secara efektif melindungi dari upaya jahat potensial untuk memesan pesanan palsu atau memanipulasi sistem. Lihat ringkasan fitur keamanan lainnya di bawah ini.
Pembatasan laju yang efisien
Peran penting lainnya dari API Gateway adalah menangani pembatasan laju. Ini memastikan bahwa plugin ChatGPT tidak membebani API dengan terlalu banyak permintaan sekaligus, yang dapat memengaruhi kinerjanya atau menyebabkan crash. API Gateway dapat membatasi jumlah permintaan yang dapat dibuat klien dalam jangka waktu tertentu dan memblokir permintaan yang melebihi batas.
Kinerja tinggi
Kinerja adalah area lain di mana API Gateway dapat membantu meningkatkan kinerja Plugin ChatGPT. Misalnya, API Gateway dapat mengimplementasikan caching untuk menyimpan respons yang sering diminta dan mengembalikannya dengan cepat tanpa perlu mengkueri API yang sebenarnya. API Gateway juga dapat menangani transformasi permintaan/respons untuk mengubah permintaan masuk ke format (seperti mengubah permintaan REST ke GraphQL) yang dapat dipahami oleh API Anda dan mengubah respons ke format yang dapat dikonsumsi oleh plugin.
Pemantauan berkelanjutan
Bahkan jika OpenAI menyatakan bahwa ChatGPT tidak menggunakan data yang dikirimkan oleh pelanggan melalui API kami untuk melatih atau meningkatkan model mereka, penting untuk mengaktifkan fitur observabilitas untuk banyak alasan lainnya. API Gateway dapat memberikan wawasan tentang bagaimana plugin ChatGPT digunakan, jenis data apa yang dibagikan, dan mengidentifikasi masalah yang perlu ditangani dengan memantau secara terus-menerus permintaan yang dibuat oleh plugin Anda.
Cara menggunakan Apache APISIX dengan Plugin ChatGPT
Setelah kita memahami mengapa API Gateway memainkan peran penting dalam membangun Plugin ChatGPT, mari kita lihat langkah-langkah sederhana tentang cara menggunakan Apache APISIX API Gateway sebelum Anda membagikan plugin baru di ChatGPT. Ada banyak API Gateway lain di pasaran, postingan ini dapat membantu Anda memutuskan mana yang sesuai dengan kebutuhan Anda.
Pada saat penulisan postingan blog ini, ChatGPT memiliki akses terbatas dan untuk mendapatkan akses alpha ke OpenAI, Anda perlu mendaftar ke daftar tunggu plugin ChatGPT. Mereka hanya akan memprioritaskan pengembang dan pengguna ChatGPT Plus, sebelum merilisnya ke publik yang lebih luas.
- Instal dan jalankan Apache APISIX baik secara lokal di lingkungan pengembangan atau di server jarak jauh (di cloud). Jika Anda menjalankannya secara lokal, APISIX dapat diakses melalui http://localhost:9080
- Konfigurasikan rute dan upstream untuk setiap endpoint API Anda apakah meminta Admin API (yang berjalan di http://localhost:9180) atau dashboard UI yang ramah pengguna. Anda juga dapat mengimpor spesifikasi OpenAPI yang ada untuk mendaftarkan rute dan upstream secara otomatis.
- Anda mengaktifkan beberapa fitur API Gateway, autentikasi, pembatasan laju, dan observabilitas menggunakan plugin APISIX.
- Anda mengekspor spesifikasi OpenAPI yang diperbarui untuk digunakan di ChatGPT. Lakukan perubahan yang diperlukan dalam dokumen hasil
YAML/JSON. Tempatkan file ini di suatu tempat di server APISIX melalui rute lain sehingga ChatGPT dapat menemukannya di jalur ini/openapi.yamlseperti[http://localhost:9080/openapi.yaml](http://localhost:9080/openapi.yaml).Spesifikasi ini dikompilasi menjadi prompt, yang menjelaskan kepada ChatGPT bagaimana ia dapat menggunakan API untuk meningkatkan jawabannya. Pikirkan prompt yang detail, termasuk deskripsi setiap endpoint yang tersedia. - Langkah-langkah lainnya, seperti mendefinisikan file manifes, menjalankan plugin, dan menulis deskripsi hampir sama seperti yang sudah didokumentasikan dengan baik di dokumentasi resmi OpenAI. Ketika Anda menghubungkan plugin melalui UI ChatGPT dan menjalankan plugin, pastikan bahwa alamat domain mengarah ke API Gateway APISIX.
- Akhirnya, pengguna mengajukan pertanyaan baru dengan mengaktifkan plugin di UI ChatGPT. Jika ChatGPT memutuskan bahwa ia harus mengambil informasi dari API, ia akan membuat permintaan ke API Gateway dan menambahkannya ke konteks sebelum mencoba merespons.
Ringkasan keamanan API untuk plugin ChatGPT
Lihat ringkasan penawaran API Gateway untuk mengamankan API untuk Plugin ChatGPT:
- Protokol Autentikasi: Dengan API Gateway, Anda dapat memilih protokol autentikasi yang kuat dan aman, seperti OAuth 2.0 atau JSON Web Tokens (JWT), untuk mengautentikasi permintaan API.
- Autentikasi Dua Faktor (2FA): Anda dapat mengimplementasikan 2FA melalui integrasi dengan berbagai penyedia identitas yang dapat menambahkan lapisan keamanan ekstra ke autentikasi API.
- Manajemen Token yang Aman: Anda dapat menyimpan token dengan aman dengan menghindari penyimpanannya di aplikasi sisi klien atau di lokasi yang tidak aman, seperti cookie sisi klien atau penyimpanan lokal.
- Kontrol Akses Berbasis Peran (RBAC): Anda dapat mengaktifkan RBAC untuk mengontrol izin dan tindakan yang dapat dilakukan oleh pengguna atau aplikasi yang berbeda dalam API Plugin ChatGPT.
- Keamanan Lapisan Transport (TLS): API memiliki opsi TLS untuk mengenkripsi komunikasi antara klien dan server melalui jaringan.
- Pembatasan Laju API: API Gateway menyediakan mekanisme pembatasan laju untuk mencegah penyalahgunaan atau penggunaan yang salah dari API Plugin ChatGPT.
- Pencatatan dan Audit: Anda dapat menggunakan API Gateway dengan platform observabilitas lainnya untuk mekanisme pencatatan dan audit yang komprehensif untuk melacak dan memantau permintaan dan respons API.
Kesimpulan
Memperkenalkan integrasi plugin ke ChatGPT adalah peningkatan untuk OpenAI. Selain itu, ini adalah perubahan penting dalam bidang AI yang berorientasi pengguna untuk model GPT. API Gateway menyediakan antarmuka kinerja tinggi untuk komunikasi untuk mengekspos API Anda dengan aman, bersama dengan keamanan, kebijakan pembatasan laju, metode autentikasi, dan pemantauan. Tanpa API Gateway, ChatGPT akan jauh lebih sulit untuk diintegrasikan ke sistem lain, dan klien perlu mengelola autentikasi, pembatasan laju, dan fitur lainnya sendiri.