Јединице
1. Увод у АИ у мобилном развоју: улоге, границе, аутентификација и безбедност 2. Генерисање мобилног кода са вештачком интелигенцијом: Котлин, Свифт и развој на више платформи 3. Дизајн интерфејса и генерисање УИ кода са вештачком интелигенцијом 4. АИ на уређају: Цоре МЛ, ТенсорФлов Лите и МЛ Кит 5. Цлоуд АИ и ЛЛМ АПИ интеграција: ћаскање, ток и безбедност 6. Генерисање тестова са вештачком интелигенцијом: тестови јединица, интерфејса и аутоматизације 7. Отклањање грешака и анализа пада са вештачком интелигенцијом 8. Оптимизација перформанси и батерије: брзе и ефикасне апликације са вештачком интелигенцијом 9. Приватност, дозволе и безбедно коришћење 10. Издање у продавници: Апп Сторе, Гоогле Плаи и компатибилност са вештачком интелигенцијом 11. Пројекат од краја до краја, одговорно коришћење вештачке интелигенције и путоказ у професији
Јединица 5 / 11

Цлоуд АИ и ЛЛМ АПИ интеграција: ћаскање, ток и безбедност

Добици:

  • Способност успостављања безбедне архитектуре у облаку ЛЛМ која не чува АПИ кључ на клијенту, већ пролази кроз позадински прокси
  • Способност писања робусних интеграција које повећавају перципирану брзину са стримингом и нежно руковање ситуацијама као што су истека времена, мрежне грешке и ограничења брзине
  • Могућност смањења трошкова скраћивањем посланог токена и довођењем у питање неопходности личних података пре него што оду у облак

АИ на уређају је моћан, али ограничен. Када желите да апликацији додате заиста „паметног помоћника за ћаскање“, сажимање дугачког текста или сложену креативну продукцију, потребни су вам модели који су превелики да би стали на телефон. Овде долази у обзир вештачка интелигенција у облаку: ваша апликација се повезује са великим језичким моделом (ЛЛМ) преко АПИ-ја (Апплицатион Программинг Интерфаце – стандардни интерфејс где два софтвера шаљу и примају податке један другом). У овој јединици ћемо научити како да интегришемо Цлоуд ЛЛМ у мобилну апликацију на безбедан, брз и економичан начин. Кључни нагласак ће бити на безбедности: погрешно инсталирана ЛЛМ интеграција може да процури ваш АПИ кључ и резултира рачунима вредним хиљадама фунти.

Златно правило архитектуре: држите кључ на клијенту

Најопаснија грешка која се може направити у интеграцији АИ у облаку је да се АПИ кључ (тајна лозинка која овлашћује коришћење услуге) угради директно у код мобилне апликације. Мобилне апликације се преузимају на уређај корисника и код се може прочитати обрнутим инжењерингом — рашчлањивањем компајлиране апликације и сагледавањем шта је у њој. Ако је ваш кључ унутар апликације, неко га може извући и са вашег налога упутити неограничене захтеве.

Исправна архитектура је следећа: мобилна апликација шаље захтеве вашем сопственом бацкенд серверу (прокси серверу који контролишете); Кључ се налази само на серверу; Сервер иде на ЛЛМ сервис и враћа одговор апликацији. Овај средњи софтвер такође обезбеђује ограничење брзине, спречавање злоупотребе и контролу трошкова.

Приступ

где је кључ

Безбедност

Кључ је у апликацији (ЛАЖНО)

У клијенту, јавно

Цури, рачуница експлодира

Кључ је у позадини (ТРУЕ)

На серверу, скривено

Безбедан, контролисан

Опрез: Када затражите АИ за интеграцију ЛЛМ у облаку, може произвести пример који уписује кључ директно у код апликације ради ваше удобности. Никада не узимај ово уживо. Обавезно укључите реченицу „АПИ кључ не би требало да буде на клијенту, прођите кроз позадински прокси“ у одзивнику.

Стреаминг: повећање перципиране брзине

Одговори ЛЛМ-а могу бити дуги и потрајати неколико секунди да се произведу у целини. Остављање корисника да чека на празном екрану је лоше искуство. Решење је стримовање — приказивање одговора реч по реч, како се генерише. Корисник прати правопис текста, као у ЦхатГПТ; ово драматично повећава перципирану брзину и течност. Проток на мобилном уређају значи додавање делова (токена — дела текста који производи модел) са сервера на интерфејс како стигну. Експлицитно затражите ток када штампате интеграцију у АИ.

Савет: Додајте дугме „пауза“ у одговор на стримовање. Корисник треба да буде у могућности да заустави производњу када добије одговор који жели; Ово истовремено побољшава искуство и смањује трошкове смањењем непотребног генерисања токена. Усред дугог одговора, корисник је можда већ пронашао свој одговор.

Управљање трошковима, кашњењем и грешкама

Цлоуд ЛЛМ носи трошак новца (накнада по токену) и временски трошак (латенција) са сваким захтевом. Три дисциплине су неопходне. Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. Латенција: користите стримовање, подесите временско ограничење, обавестите корисника ако је мрежа спора. Грешка: прекид мреже, услуга може да врати 429 (превише захтева) или 500 (грешка сервера); поступајте са сваким нежно, немојте срушити апликацију. Такође, ЛЛМ понекад даје бесмислене или нетачне (халуцинационе) одговоре; Додајте слој верификације одговора у критичним областима.

три мини кофера

Случај 1 — Процурео кључ. Стартуп је уградио ОпенАИ кључ директно у своју Реацт Нативе апликацију да би се брзо извукао. Три недеље након што је апликација објављена, кључ је реверзно пројектован и преко ноћи је искоришћено 2.400 долара. Тим је морао да опозове кључ и постави бацкенд проки. Поука: пречица која је коришћена ради погодности постала је најскупља рута.

Случај 2 — Одустајање се смањило са протоком. Апликација за образовање је први пут објавила функцију питања и одговора без стримовања; корисници су излазили након 6 секунди чекања у мировању. Када је додат ток, прва реч је почела да се појављује за 0,8 секунди, а стопа напуштања је пала са 48% на 12%. Исти модел, иста брзина — само разлика у презентацији.

Случај 3 — Контрола трошкова. Једна апликација је слала целу историју ћаскања моделу са сваком корисничком поруком; У дугим разговорима, један захтев је достигао 8.000 токена, повећавајући цену. Слањем само последњих неколико порука и резимеа, тим је смањио токене по захтеву за 70%, смањивши месечни рачун на трећину. Лекција: измерите шта шаљете.

Слаби промпт / Јаки промпт

Слаб упит: „Додај ћаскање као што је ЦхатГПТ у моју апликацију.“

Снажан упит: "Додај помоћника за ћаскање у моју иОС/Свифт апликацију. Архитектура: апликација шаље захтев мом сопственом позадину, ЛЛМ АПИ кључ НИЈЕ на КЛИЈЕНТУ, он иде кроз прокси. - Одговор долази у стримингу, приказује се реч по реч - Дугме 'Стоп' прекида производњу - Обради временско ограничење9, грешка у ћаскању, грешка у ћаскању, С 504 историја: пошаљите последњих 6 порука + резиме (контрола трошкова) Прво објасните архитектонски дијаграм, а затим дајте клијенту и прокси код одвојено."

Шаблони који се могу копирати

Шаблон безбедне архитектуре: „Дизајнирајте цлоуд ЛЛМ интеграцију у моју [платформу] апликацију. Правило: АПИ кључ само у позадини. Клијент -> мој прокси -> ЛЛМ. У проксију: аутентификација, ограничење брзине по кориснику, евидентирање захтева. Наведите одговорности клијента и проксија одвојено, а затим извезите код."

Шаблон за стримовање: „Додајте одговор за стримовање на овај екран за ћаскање:- Додајте исечке у облачић поруке када стигну- Прикажи курсор/анимацију док куцате- Нека дугме 'Стоп' откаже стрим- Сачувајте делимичан текст и упозорите ако постоји грешка док се стрим завршава [постојећи код]"

Шаблон за кашњење трошкова: „Смањите трошкове и кашњење у овој ЛЛМ интеграцији:- Како да смањим послани токен (кратица историје, резиме)?- У ком случају је довољан мањи/јефтинији модел?- Предложите стратегију временског ограничења и покушајте поново[код]"

Шаблон толеранције грешака: „Учините овај ЛЛМ позив отпорним:- Одвојено понашање без мреже, временско ограничење, 429 (ограничење брзине), 500 (сервер)- Нетехничка, љубазна порука кориснику- Напомена за верификацију против ризика од халуцинације у критичним одговорима[код]"

Уобичајене грешке

  • Уграђивање АПИ кључа у апликацију. Најскупља и најчешћа безбедносна грешка; Кључ дефинитивно лежи на задњем крају.
  • Не користите проток. Остављање корисника да чека дуге одговоре ће га отерати.
  • Слање целокупне историје ћаскања са сваким захтевом. Умножава цену токена и кашњење.
  • Заобилажење услова грешке. Ако 429/500/тимеоут није адресиран, апликација ће се срушити или замрзнути.
  • Сматрајући одговор ЛЛМ тачним без питања. Халуцинација је стварна; Додајте слој за верификацију у критичну област.
  • Слање корисничких података непотребном ЛЛМ. Питајте да ли су лични подаци потребни или треба да буду маскирани пре него што оду у облак.

Укратко

Цлоуд ЛЛМ доноси одличне могућности које се не уклапају са уређаја на мобилни, али захтева сигурност и дисциплину трошкова. Златно правило: АПИ кључ никада није на клијенту, он иде преко позадинског проксија. Проток у великој мери повећава перципирану брзину и задржавање; Подржава дугме "стоп". Цена се утврђује скраћивањем послатог токена; Отпорност се постиже елегантним руковањем свим случајевима грешке. Одговори на ЛЛМ могу укључивати халуцинације; У критичним областима верификација је неопходна и лични подаци се прегледају пре слања у облак.

Задатак апликације

Затражите дизајн клијента + позадинског проксија од АИ користећи „шаблон безбедне архитектуре“ за функцију „сажимања текста“ или „ћаскања“. Проверите да се АПИ кључ налази само у позадини у генерисаном дизајну. Затим издвојите најмање два начина да смањите токен који се шаље са „обрасцом одлагања трошкова“ и напишите љубазну поруку која ће се приказати кориснику за услов грешке (нпр. 429).

контролна листа

  • [ ] Проверио сам да се АПИ кључ налази у позадини, а не на клијенту
  • [ ] Направио сам стриминг одговора и додао дугме 'пауза'
  • [ ] Обрадио сам временско ограничење, мрежну грешку, ситуације 429 и 500
  • [ ] Смањио сам достављени токен са прошлом скраћеницом/резимеом
  • [ ] Разматрао сам валидацију против ризика од халуцинација у ЛЛМ одговору
  • [ ] Проверио сам неопходност/маскирање личних података пре одласка у облак