Табыстар:
- Клиентте API кілтін сақтамайтын, бірақ серверлік прокси арқылы өтетін қауіпсіз бұлттық LLM архитектурасын орнату мүмкіндігі
- Ағынмен қабылданатын жылдамдықты арттыратын және күту уақыттары, желі қателері және жылдамдық шектеулері сияқты жағдайларды абайлап өңдейтін сенімді интеграцияларды жазу мүмкіндігі
- Жіберілген токенді қысқарту арқылы шығындарды азайту және жеке деректер бұлтқа өтпес бұрын оның қажеттілігіне күмән келтіру мүмкіндігі
Құрылғыдағы AI күшті, бірақ шектеулі. Қолданбаға шын мәнінде «ақылды чат көмекшісін», ұзақ мәтінді қорытындылауды немесе күрделі шығармашылық өнімді қосқыңыз келсе, телефонға сыймайтындай үлкен үлгілер қажет. Дәл осы жерде бұлттық AI ойнайды: қолданбаңыз API (Application Programming Interface – екі бағдарламалық құрал бір-біріне деректерді жіберетін және қабылдайтын стандартты интерфейс) арқылы үлкен тіл үлгісіне (LLM) қосылады. Бұл бөлімде біз бұлтты LLM-ді мобильді қосымшаға қауіпсіз, жылдам және шығындарды ескере отырып біріктіруді үйренеміз. Қауіпсіздікке маңызды назар аударылады: қате орнатылған LLM интеграциясы API кілтіңізді ағып кетуі мүмкін және мыңдаған фунт шоттарға әкелуі мүмкін.
Сәулет өнерінің алтын ережесі: кілтті клиентте сақтаңыз
Бұлтты AI интеграциясында жасалуы мүмкін ең қауіпті қате - API кілтін (қызметті пайдалануға рұқсат беретін құпия құпия сөз) тікелей мобильді қолданба кодына ендіру. Мобильді қосымшалар пайдаланушының құрылғысына жүктеледі және кодты кері инженерия арқылы оқуға болады — құрастырылған қолданбаны талдау және оның ішінде не бар екенін көру. Кілтіңіз қолданбаның ішінде болса, біреу оны шығарып, есептік жазбаңыздан шексіз сұраулар жасай алады.
Дұрыс архитектура мынада: мобильді қолданба сұрауларды өзіңіздің серверіңізге (сіз басқаратын прокси серверге) жібереді; Кілт тек серверде болады; Сервер LLM қызметіне өтіп, қолданбаға жауапты қайтарады. Бұл аралық бағдарлама сонымен қатар жылдамдықты шектеуді, теріс пайдалануды болдырмауды және шығындарды бақылауды қамтамасыз етеді.
Тәсіл
кілт қайда
Қауіпсіздік
Кілт қолданбада (FALSE)
Клиентте, жалпыға ортақ
Ол ағып кетеді, есепшот жарылып кетеді
Кілт серверде (TRUE)
Серверде, жасырын
Қауіпсіз, басқарылатын
Ескерту: AI-дан бұлтты LLM интеграциясын сұраған кезде, ол сізге ыңғайлы болу үшін кілтті тікелей қолданба кодына жазатын мысалды шығаруы мүмкін. Мұны ешқашан тікелей эфирде қабылдамаңыз. Сұрауда «API кілті клиентте болмауы керек, серверлік прокси арқылы өтіңіз» деген сөйлемді қосуды ұмытпаңыз.
Ағын: қабылданатын жылдамдықты арттыру
LLM жауаптары ұзақ болуы мүмкін және оларды толығымен шығару үшін бірнеше секунд қажет. Пайдаланушыны бос экранда күту - жаман тәжірибе. Шешім ағынды болып табылады — жауапты сөзбен сөзбен көрсетеді, ол жасалғандай. Пайдаланушы ChatGPT сияқты мәтіннің емлесін бақылайды; бұл қабылданатын жылдамдық пен еркін сөйлеуді айтарлықтай арттырады. Ұялы телефондағы ағын серверден интерфейске келген кезде бөліктерді (таңбалауыштар — үлгі шығарған мәтін бөлігі) қосуды білдіреді. AI интеграциясын басып шығару кезінде ағынды нақты сұраңыз.
Кеңес: Ағындық жауапта «кідірту» түймесін қосыңыз. Пайдаланушы қалаған жауабын алған кезде өндірісті тоқтата алуы керек; Бұл қажетсіз таңбалауыш генерациясын қысқарту арқылы тәжірибені жақсартады және шығындарды азайтады. Ұзын жауаптың ортасында пайдаланушы өз жауабын тапқан болуы мүмкін.
Шығындарды, кідірістерді және қателерді басқару
Cloud LLM әр сұрауда ақша құнын (бір таңбалауыш үшін комиссия) және уақыт құнын (кідіріс) қамтиды. Үш пән маңызды. Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. Кідіріс: ағынды пайдаланыңыз, күту уақытын орнатыңыз, желі баяу болса пайдаланушыға хабарлаңыз. Қате: желі үзілуі, қызмет 429 (тым көп сұрау) немесе 500 (сервер қатесі) қайтаруы мүмкін; әрқайсысын ақырын ұстаңыз, қолданбаны бұзбаңыз. Сондай-ақ, LLM кейде мағынасыз немесе дұрыс емес (галлюцинация) жауаптар береді; Маңызды аймақтарда жауапты тексеру қабатын қосыңыз.
үш шағын іс
1-жағдай — Ағып кеткен кілт. Стартап жылдам шығу үшін OpenAI кілтін тікелей React Native қолданбасына ендірді. Қолданба шығарылғаннан кейін үш аптадан кейін кілт кері өңдеуден өтті және бір түнде 2,400 долларлық пайдалану жасалды. Команда кілтті қайтарып алып, серверлік проксиді орнатуы керек болды. Сабақ: ыңғайлы болу үшін алынған төте жол ең қымбат маршрут болды.
2-жағдай - ағынмен бірге оқудан шығу азайды. Білім беру қолданбасы алдымен сұрақ-жауап мүмкіндігін ағынсыз шығарды; пайдаланушылар 6 секунд күту режимінен кейін шығып жатты. Ағын қосылған кезде бірінші сөз 0,8 секундта пайда бола бастады, ал бас тарту көрсеткіші 48%-дан 12%-ға дейін төмендеді. Бірдей модель, бірдей жылдамдық — презентациядағы айырмашылық.
3-жағдай – Шығындарды бақылау. Бір қолданба барлық пайдаланушы хабарымен сөйлесу тарихын үлгіге жіберді; Ұзақ сөйлесулерде бір сұраныс 8 000 таңбалауышқа жетіп, құнын арттырды. Соңғы бірнеше хабарламаны және қысқаша мазмұнын жіберу арқылы команда бір сұрауға арналған белгілерді 70%-ға азайтып, айлық есепшотты үштен біріне дейін қысқартты. Сабақ: сіз жіберген нәрсені өлшеңіз.
Әлсіз шақыру / Күшті шақыру
Әлсіз шақыру: "Менің қолданбама ChatGPT сияқты чатты қосыңыз."
Күшті шақыру: "Менің iOS/Swift қолданбама чат көмекшісін қосыңыз. Архитектура: қолданба менің жеке серверіме сұрау жібереді, LLM API кілті КЛИЕНТТЕ ЕМЕС, ол прокси арқылы өтеді. - Жауап ағынмен келеді, сөзбе-сөз көрсетіледі - "Тоқтату" түймесі өндірісті тоқтатады - Өңдеу күту уақыты, желі қатесі және қысқаша чат тарихы 409: соңғы 6 хабарламаны жіберіңіз + қорытынды (шығындарды бақылау) Алдымен архитектуралық диаграмманы түсіндіріңіз, содан кейін клиент пен прокси кодын бөлек беріңіз."
Көшіретін үлгілер
Қауіпсіз архитектура үлгісі:"Менің [платформа] қолданбамдағы бұлтты LLM интеграциясын жобалау. Ереже: API кілті тек серверде. Клиент -> менің проксим -> LLM. Проксиде: аутентификация, пайдаланушыға арналған жылдамдық шегі, сұрауларды тіркеу. Клиент пен прокси жауапкершіліктерін бөлек тізімдеңіз, содан кейін кодты экспорттаңыз."
Ағынды үлгі: "Осы сөйлесу экранына ағындық жауапты қосыңыз:- Хабарлама көпіршігі келген кезде үзінділерді қосыңыз - Теру кезінде курсорды/анимацияны көрсетіңіз - "Тоқтату" түймесі ағынды болдырмайды - Жартылай мәтінді сақтаңыз және ағынның аяқталуы кезінде қате болса ескертіңіз[бар код]"
Шығын-кідіріс үлгісі:"Осы LLM интеграциясындағы шығындар мен кешіктіруді азайтыңыз:- Жіберілген таңбалауышты қалай азайтуға болады (тарихтың аббревиатурасы, қорытынды)?- Қандай жағдайда кішірек/арзанырақ үлгі жеткілікті?- Күту және қайталау стратегиясын ұсыныңыз[код]"
Қателерге төзімділік үлгісі: "Осы LLM қоңырауын төзімді етіңіз: - Желі жоқ, күту уақыты, 429 (ставка шегі), 500 (сервер) үшін бөлек әрекет - Пайдаланушыға техникалық емес, сыпайы хабарлама - Сыни жауаптардағы галлюцинация қаупіне қарсы растау жазбасы[коды]"
Жалпы қателер
- API кілтін қолданбаға ендіру. Ең қымбат және кең таралған қауіпсіздік қатесі; Кілт сөзсіз артқы жағында жатыр.
- Ағынды қолданбау. Пайдаланушыны ұзақ жауаптарды күту пайдаланушыны алыстатады.
- Әрбір сұраумен сөйлесу тарихын жіберу. Ол таңбалауыш құны мен кешігуді көбейтеді.
- Қате жағдайларын айналып өту. 429/500/тайм-аут ескерілмесе, қолданба бұзылады немесе қатып қалады.
- LLM жауабын сұрақсыз дұрыс деп санау. Галлюцинация шынайы; Маңызды аймаққа растау қабатын қосыңыз.
- Пайдаланушы деректерін қажетсіз LLM-ге жіберу. Жеке деректер бұлтқа өтпес бұрын қажет пе немесе бүркемелеу керек пе екенін сұраңыз.
Қысқаша
Cloud LLM құрылғыда ұялы телефонға сәйкес келмейтін, бірақ қауіпсіздік пен шығын тәртібін талап ететін керемет мүмкіндіктерді береді. Алтын ереже: API кілті ешқашан клиентте болмайды, ол серверлік прокси арқылы өтеді. Ағын қабылданатын жылдамдық пен ұстап тұруды айтарлықтай арттырады; «Тоқтату» түймесі арқылы қолдау көрсетіледі. Құны жіберілген таңбалауышты қысқарту арқылы анықталады; Тұрақтылық барлық қателік жағдайларды ұқыпты өңдеу арқылы қол жеткізіледі. LLM жауаптары галлюцинацияны қамтуы мүмкін; Маңызды аймақтарда тексеру маңызды және жеке деректер бұлтқа жібермес бұрын қаралады.
Қолданбалы тапсырма
«Мәтінді қорытындылау» немесе «чат» мүмкіндігі үшін «Қауіпсіз архитектура үлгісі» арқылы AI-ден клиент + серверлік прокси дизайнын сұраңыз. API кілті жасалған дизайндағы серверде ғана болатынын тексеріңіз. Содан кейін "Шығынды кешіктіру үлгісімен" жіберілген таңбалауышты азайтудың кем дегенде екі әдісін шығарып алыңыз және қате күйі үшін пайдаланушыға көрсетілетін сыпайы хабарды жазыңыз (мысалы, 429).
бақылау парағы
- [ ] API кілті клиентте емес, серверде орналасқанын растадым
- [ ] Мен жауап ағынын жасадым және «кідірту» түймесін қостым
- [ ] Мен күту уақыты, желі қатесі, 429 және 500 жағдайларын өңдедім
- [ ] Мен өткен аббревиатура/қорытындымен ұсынылған таңбалауышты азайттым
- [ ] Мен LLM жауабында галлюцинация қаупіне қарсы тексеруді қарастырдым
- [ ] Мен бұлтқа өтпес бұрын жеке деректердің қажеттілігін/маскировкасын тексердім