Keuntungan:
- Keupayaan untuk mewujudkan seni bina awan LLM selamat yang tidak menyimpan kunci API pada klien tetapi melalui proksi bahagian belakang
- Keupayaan untuk menulis integrasi teguh yang meningkatkan kelajuan yang dilihat dengan penstriman dan mengendalikan situasi seperti tamat masa, ralat rangkaian dan had laju dengan lembut
- Keupayaan untuk mengurangkan kos dengan memendekkan token yang dihantar dan mempersoalkan keperluan data peribadi sebelum ia pergi ke awan
AI pada peranti berkuasa tetapi terhad. Apabila anda ingin menambahkan "pembantu sembang pintar" yang benar-benar, ringkasan teks panjang atau pengeluaran kreatif yang kompleks pada apl, anda memerlukan model yang terlalu besar untuk dimuatkan pada telefon. Di sinilah AI awan memainkan peranan: aplikasi anda bersambung kepada model bahasa besar (LLM) melalui API (Antara Muka Pengaturcaraan Aplikasi – antara muka standard di mana dua perisian menghantar dan menerima data antara satu sama lain). Dalam unit ini kita akan belajar cara mengintegrasikan LLM awan ke dalam aplikasi mudah alih dengan cara yang selamat, pantas dan mementingkan kos. Penekanan kritikal adalah pada keselamatan: penyepaduan LLM yang dipasang dengan salah boleh membocorkan kunci API anda dan mengakibatkan bil bernilai ribuan paun.
Peraturan emas seni bina: simpan kunci pada klien
Kesilapan paling berbahaya yang boleh dilakukan dalam penyepaduan AI awan ialah membenamkan kunci API (kata laluan rahsia yang membenarkan penggunaan perkhidmatan) terus ke dalam kod aplikasi mudah alih. Aplikasi mudah alih dimuat turun ke peranti pengguna dan kod boleh dibaca dengan kejuruteraan terbalik — menghuraikan aplikasi yang disusun dan melihat apa yang ada di dalamnya. Jika kunci anda berada di dalam apl, seseorang boleh mengekstraknya dan membuat permintaan tanpa had daripada akaun anda.
Seni bina yang betul ialah ini: aplikasi mudah alih menghantar permintaan ke pelayan bahagian belakang anda sendiri (pelayan proksi yang anda kawal); Kunci hanya terletak pada pelayan; Pelayan pergi ke perkhidmatan LLM dan mengembalikan respons kepada aplikasi. Perisian tengah ini juga menyediakan had kelajuan, pencegahan penyalahgunaan dan kawalan kos.
Pendekatan
mana kuncinya
Keselamatan
Kuncinya adalah dalam aplikasi (PALSU)
Dalam pelanggan, awam
Ia bocor, bil meletup
Kuncinya ada di bahagian belakang (TRUE)
Pada pelayan, tersembunyi
Selamat, boleh dikawal
Awas: Apabila anda meminta AI untuk penyepaduan LLM awan, ia mungkin menghasilkan contoh yang menulis kunci terus ke dalam kod aplikasi untuk kemudahan anda. Jangan sekali-kali ambil ini secara langsung. Pastikan anda memasukkan ayat "Kunci API tidak sepatutnya berada pada klien, pergi melalui proksi bahagian belakang" dalam gesaan.
Penstriman: meningkatkan kelajuan yang dirasakan
Jawapan LLM boleh panjang dan mengambil masa beberapa saat untuk dihasilkan secara keseluruhannya. Membiarkan pengguna menunggu di skrin kosong adalah pengalaman buruk. Penyelesaiannya adalah penstriman — memaparkan jawapan perkataan demi perkataan, kerana ia dijana. Pengguna memantau ejaan teks, seperti dalam ChatGPT; ini secara mendadak meningkatkan persepsi kelajuan dan kelancaran. Aliran pada mudah alih bermaksud menambah kepingan (token — sekeping teks yang dihasilkan oleh model) daripada pelayan ke antara muka apabila ia tiba. Minta aliran secara eksplisit semasa mencetak penyepaduan ke AI.
Petua: Tambahkan butang "jeda" dalam respons penstriman. Pengguna sepatutnya boleh menghentikan pengeluaran apabila dia mendapat jawapan yang dia mahu; Ini meningkatkan pengalaman dan mengurangkan kos dengan memotong penjanaan token yang tidak perlu. Di tengah-tengah jawapan yang panjang, pengguna mungkin telah menemui jawapan mereka.
Pengurusan kos, kelewatan dan ralat
Cloud LLM membawa kos wang (yuran setiap token) dan kos masa (latensi) dengan setiap permintaan. Tiga disiplin adalah penting. Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. Latensi: gunakan penstriman, tetapkan tamat masa, maklumkan pengguna jika rangkaian perlahan. Ralat: gangguan rangkaian, perkhidmatan mungkin mengembalikan 429 (terlalu banyak permintaan) atau 500 (ralat pelayan); kendalikan setiap satu dengan lembut, jangan ranap apl. Juga, LLM kadangkala memberikan jawapan yang tidak bermakna atau tidak betul (halusinasi); Tambahkan lapisan pengesahan jawapan di kawasan kritikal.
tiga kes mini
Kes 1 — Kunci bocor. Sebuah permulaan membenamkan kunci OpenAI terus ke dalam apl React Native untuk keluar dengan pantas. Tiga minggu selepas aplikasi dikeluarkan, kunci itu direka bentuk terbalik dan penggunaan bernilai $2,400 dibuat semalaman. Pasukan itu terpaksa membatalkan kunci dan menyediakan proksi bahagian belakang. Pengajaran: jalan pintas yang diambil untuk kemudahan menjadi laluan paling mahal.
Kes 2 — Keciciran berkurangan dengan aliran. Apl pendidikan mula-mula mengeluarkan ciri Soal Jawabnya tanpa penstriman; pengguna telah keluar selepas 6 saat menunggu melahu. Apabila aliran ditambahkan, perkataan pertama mula muncul dalam masa 0.8 saat, dan kadar pengabaian menurun daripada 48% kepada 12%. Model yang sama, kelajuan yang sama — hanya perbezaan dalam pembentangan.
Kes 3 — Kawalan kos. Satu apl menghantar keseluruhan sejarah sembang kepada model dengan setiap mesej pengguna; Dalam perbualan yang panjang, satu permintaan mencapai 8,000 token, meningkatkan kos. Dengan menghantar hanya beberapa mesej terakhir dan ringkasan, pasukan mengurangkan token setiap permintaan sebanyak 70%, mengurangkan bil bulanan kepada satu pertiga. Pengajaran: ukur apa yang anda hantar.
Gesaan lemah / Gesaan kuat
Gesaan lemah: "Tambahkan sembang seperti ChatGPT pada apl saya."
Gesaan berkuasa: "Tambahkan pembantu sembang pada aplikasi iOS/Swift saya. Seni bina: aplikasi menghantar permintaan ke bahagian belakang saya sendiri, kunci API LLM BUKAN pada PELANGGAN, ia melalui proksi. - Tanggapan datang penstriman, dipaparkan perkataan demi perkataan - Butang 'Berhenti' mengganggu pengeluaran - Mengendalikan tamat masa, ralat rangkaian, 429 dan 500 mesej ringkasan penghantaran: Memendekkan sejarah mesej terakhir + (kawalan kos)Terangkan gambarajah seni bina dahulu, kemudian berikan klien dan kod proksi secara berasingan."
Templat yang boleh disalin
Templat seni bina selamat:"Reka bentuk penyepaduan LLM awan ke dalam aplikasi [platform] saya. Peraturan: Kunci API hanya di bahagian belakang. Pelanggan -> proksi saya -> LLM. Dalam proksi: pengesahan, had kadar setiap pengguna, pengelogan permintaan. Senaraikan tanggungjawab klien dan proksi secara berasingan, kemudian eksport kod."
Templat penstriman: "Tambahkan respons penstriman pada skrin sembang ini:- Tambahkan coretan pada gelembung mesej apabila ia tiba- Tunjukkan kursor/animasi semasa menaip- Minta butang 'Berhenti' membatalkan strim- Simpan teks separa dan amaran jika terdapat ralat semasa strim tamat[kod sedia ada]"
Templat kependaman kos:"Kurangkan kos dan kependaman dalam penyepaduan LLM ini:- Bagaimanakah cara saya mengurangkan token yang dihantar (singkatan sejarah, ringkasan)?- Dalam hal yang manakah model yang lebih kecil/lebih murah sudah memadai?- Cadangkan tamat masa dan cuba semula strategi[kod]"
Templat toleransi kesalahan: "Jadikan panggilan LLM ini berdaya tahan:- Tingkah laku berasingan untuk tiada rangkaian, tamat masa, 429 (had kadar), 500 (pelayan)- Mesej bukan teknikal dan sopan kepada pengguna- Nota pengesahan terhadap risiko halusinasi dalam balasan kritikal[kod]"
Kesilapan biasa
- Membenamkan kunci API ke dalam aplikasi. Pepijat keselamatan yang paling mahal dan biasa; Kuncinya pasti terletak di hujung belakang.
- Tidak menggunakan aliran. Membiarkan pengguna menunggu jawapan yang panjang akan menghalau pengguna.
- Menghantar keseluruhan sejarah sembang dengan setiap permintaan. Ia menggandakan kos token dan kependaman.
- Melangkau keadaan ralat. Jika 429/500/tamat masa tidak ditangani, aplikasi akan ranap atau terhenti.
- Menganggap jawapan LLM sebagai betul tanpa soalan. Halusinasi adalah nyata; Tambahkan lapisan pengesahan di kawasan kritikal.
- Menghantar data pengguna ke LLM yang tidak diperlukan. Tanya sama ada data peribadi diperlukan atau harus ditutup sebelum ia pergi ke awan.
Secara ringkasnya
Cloud LLM membawa keupayaan hebat yang tidak sesuai pada peranti ke mudah alih, tetapi memerlukan keselamatan dan disiplin kos. Peraturan emas: Kunci API tidak pernah pada klien, ia melalui proksi bahagian belakang. Aliran sangat meningkatkan kelajuan dan pengekalan yang dirasakan; Disokong oleh butang "berhenti". Kos ditentukan dengan memendekkan token yang dihantar; Ketahanan dicapai dengan mengendalikan semua kes ralat dengan anggun. Jawapan LLM mungkin termasuk halusinasi; Di kawasan kritikal, pengesahan adalah penting dan data peribadi disemak sebelum menghantarnya ke awan.
Tugasan permohonan
Minta reka bentuk proksi pelanggan + belakang daripada AI menggunakan "Templat seni bina selamat" untuk ciri "ringkasan teks" atau "sembang". Sahkan bahawa kunci API hanya berada di bahagian belakang dalam reka bentuk yang dijana. Kemudian ekstrak sekurang-kurangnya dua cara untuk mengurangkan token yang dihantar dengan "Corak kelewatan kos" dan tulis mesej sopan untuk dipaparkan kepada pengguna untuk keadaan ralat (cth. 429).
senarai semak
- [ ] Saya mengesahkan bahawa kunci API berada di bahagian belakang dan bukan pada klien
- [ ] Saya membuat penstriman respons dan menambah butang 'jeda'
- [ ] Saya mengendalikan tamat masa, ralat rangkaian, 429 dan 500 situasi
- [ ] Saya mengurangkan token yang diserahkan dengan singkatan/ringkasan yang lalu
- [ ] Saya mempertimbangkan pengesahan terhadap risiko halusinasi dalam jawapan LLM
- [ ] Saya menyemak keperluan/menolong data peribadi sebelum pergi ke awan