Jednotka 5 / 11

Integrácia cloudovej AI a LLM API: Chat, tok a bezpečnosť

zisky:

  • Schopnosť vytvoriť zabezpečenú cloudovú architektúru LLM, ktorá neuchováva kľúč API na klientovi, ale prechádza cez back-end proxy
  • Schopnosť písať robustné integrácie, ktoré zvyšujú vnímanú rýchlosť streamovania a jemne zvládajú situácie, ako sú časové limity, sieťové chyby a obmedzenia rýchlosti
  • Schopnosť znížiť náklady skrátením odosielaného tokenu a spochybniť nevyhnutnosť osobných údajov pred ich presunom do cloudu

Umelá inteligencia na zariadení je výkonná, ale obmedzená. Ak chcete do aplikácie pridať skutočne „inteligentného asistenta četovania“, zhrnutie dlhých textov alebo komplexnú kreatívnu produkciu, potrebujete modely, ktoré sú príliš veľké na to, aby sa zmestili do telefónu. Tu vstupuje do hry cloudová umelá inteligencia: vaša aplikácia sa pripája k veľkému jazykovému modelu (LLM) cez API (Application Programming Interface – štandardné rozhranie, kde si dva softvéry navzájom posielajú a prijímajú dáta). V tejto lekcii sa naučíme, ako integrovať cloud LLM do mobilnej aplikácie bezpečným, rýchlym a cenovo výhodným spôsobom. Kritický dôraz bude kladený na bezpečnosť: nesprávne nainštalovaná integrácia LLM by mohla uniknúť vášmu kľúču API a viesť k účtom v hodnote tisícok libier.

Zlaté pravidlo architektúry: nechať kľúč na klientovi

Najnebezpečnejšou chybou, ktorú možno urobiť pri integrácii AI v cloude, je vložiť kľúč API (tajné heslo, ktoré oprávňuje používanie služby) priamo do kódu mobilnej aplikácie. Mobilné aplikácie sa sťahujú do zariadenia používateľa a kód je možné prečítať pomocou reverzného inžinierstva – analyzovať kompilovanú aplikáciu a zistiť, čo je v nej. Ak je váš kľúč v aplikácii, niekto ho môže extrahovať a vykonávať neobmedzené požiadavky z vášho účtu.

Správna architektúra je takáto: mobilná aplikácia posiela požiadavky na váš vlastný backend server (proxy server, ktorý ovládate); Kľúč sa nachádza iba na serveri; Server prejde do služby LLM a vráti odpoveď aplikácii. Tento middleware tiež poskytuje obmedzenie rýchlosti, prevenciu zneužitia a kontrolu nákladov.

Prístup

kde je kľúč

Bezpečnosť

Kľúč je v aplikácii (FALSE)

U klienta, verejnosti

Vytečie, bankovka vybuchne

Kľúč je v backende (PRAVDA)

Na serveri, skryté

Bezpečné, ovládateľné

Upozornenie: Keď požiadate AI o integráciu cloud LLM, môže vytvoriť príklad, ktorý pre vaše pohodlie zapíše kľúč priamo do kódu aplikácie. Nikdy to neberte naživo. Do výzvy nezabudnite zahrnúť vetu „Kľúč API by nemal byť na klientovi, prejdite cez server proxy“.

Streamovanie: zvýšenie vnímanej rýchlosti

Odpovede LLM môžu byť dlhé a ich vytvorenie môže trvať niekoľko sekúnd. Nechať používateľa čakať na prázdnej obrazovke je zlý zážitok. Riešením je streamovanie – zobrazenie odpovede slovo po slove tak, ako sa generuje. Používateľ sleduje pravopis textu, ako v ChatGPT; to dramaticky zvyšuje vnímanú rýchlosť a plynulosť. Tok v mobile znamená pridávanie častí (tokenov – časti textu vytvoreného modelom) zo servera do rozhrania, keď prichádzajú. Explicitne požiadajte o tok pri integrácii tlače do AI.

Tip: Do odpovede na streamovanie pridajte tlačidlo „pozastaviť“. Používateľ by mal mať možnosť zastaviť výrobu, keď dostane požadovanú odpoveď; To zlepšuje zážitok a znižuje náklady znížením zbytočného generovania tokenov. Uprostred dlhej odpovede už používateľ svoju odpoveď možno našiel.

Správa nákladov, oneskorenia a chýb

Cloud LLM nesie s každou požiadavkou peňažné náklady (poplatok za token) a časové náklady (latencia). Podstatné sú tri disciplíny. Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. Latencia: použite streamovanie, nastavte časový limit, upozornite používateľa, ak je sieť pomalá. Chyba: výpadok siete, služba môže vrátiť 429 (príliš veľa požiadaviek) alebo 500 (chyba servera); zaobchádzajte s každým z nich jemne, neničte aplikáciu. Tiež LLM niekedy dáva nezmyselné alebo nesprávne (halucinácie) odpovede; Pridajte vrstvu overenia odpovede v kritických oblastiach.

tri mini prípady

Prípad 1 – Uniknutý kľúč. Startup vložil kľúč OpenAI priamo do svojej aplikácie React Native, aby sa rýchlo dostal von. Tri týždne po vydaní aplikácie bol kľúč reverzne skonštruovaný a cez noc sa použilo 2 400 dolárov. Tím musel odvolať kľúč a nastaviť backend proxy. Poučenie: skratka zvolená pre pohodlie sa stala najdrahšou trasou.

Prípad 2 – Výpadok klesá s prietokom. Vzdelávacia aplikácia prvýkrát vydala svoju funkciu otázok a odpovedí bez streamovania; používatelia odchádzali po 6 sekundách nečinného čakania. Keď sa pridal tok, prvé slovo sa začalo objavovať o 0,8 sekundy a miera opustenia klesla zo 48 % na 12 %. Rovnaký model, rovnaká rýchlosť – len rozdiel v prezentácii.

Prípad 3 – Kontrola nákladov. Jedna aplikácia posielala modelu celú históriu chatu s každou správou používateľa; V dlhých rozhovoroch jedna požiadavka dosiahla 8 000 tokenov, čo zvýšilo náklady. Odoslaním niekoľkých posledných správ a súhrnu tím znížil počet tokenov na žiadosť o 70 %, čím sa mesačný účet znížil na tretinu. Ponaučenie: merajte, čo posielate.

Slabá výzva / Silná výzva

Slabá výzva: „Pridať chat ako ChatGPT do mojej aplikácie.“

Výkonná výzva: "Pridať chatového asistenta do mojej aplikácie iOS/Swift. Architektúra: aplikácia odošle požiadavku na môj vlastný backend, kľúč LLM API NIE JE na KLIENTOVI, ide cez proxy. - Odpoveď prichádza streamovaná, zobrazená slovo po slove - Tlačidlo 'Stop' preruší produkciu - Časový limit spracovania, chyba siete, 429 a 50 krátkych súhrnných správ. (kontrola nákladov) Najprv vysvetlite architektonický diagram a potom oddelene uveďte kód klienta a proxy."

Kopírovateľné šablóny

Šablóna bezpečnej architektúry: "Navrhnite cloudovú integráciu LLM do mojej aplikácie [platformy]. Pravidlo: Kľúč API iba v backende. Klient -> môj proxy -> LLM. V proxy: overenie, limit počtu používateľov, protokolovanie požiadaviek. Samostatne uveďte zodpovednosti klienta a proxy a potom exportujte kód."

Šablóna streamovania: „Pridajte na túto obrazovku rozhovoru odpoveď na streamovanie:- Pridajte úryvky do bubliny správy hneď po ich príchode- Zobrazte kurzor/animáciu počas písania- Zrušte stream tlačidlom „Zastaviť“- Zachovať čiastočný text a upozorniť, ak dôjde k chybe, keď sa stream končí[existujúci kód]“

Šablóna latencie nákladov: „Znížte náklady a latenciu v tejto integrácii LLM:- Ako znížim odoslaný token (skratka histórie, súhrn)?- V takom prípade stačí menší/lacnejší model?- Navrhnite časový limit a skúste stratégiu znova[kód]“

Šablóna tolerancie chýb: „Urobte tento hovor LLM odolným:- Samostatné správanie pre žiadnu sieť, časový limit, 429 (limit rýchlosti), 500 (server)- Netechnická, zdvorilá správa používateľovi- Poznámka na overenie proti riziku halucinácií v kritických odpovediach[kód]“

Časté chyby

  • Vloženie API kľúča do aplikácie. Najdrahšia a najbežnejšia bezpečnostná chyba; Kľúč určite leží na zadnej strane.
  • Nepoužívanie toku. Ak necháte používateľa čakať na dlhé odpovede, odvedie ho preč.
  • Odosielanie celej histórie chatu s každou žiadosťou. Znásobuje náklady na token a latenciu.
  • Obchádzanie chybových stavov. Ak nie je adresované 429/500/timeout, aplikácia spadne alebo zamrzne.
  • Považovať odpoveď LLM za správnu bez otázok. Halucinácia je skutočná; Pridajte overovaciu vrstvu do kritickej oblasti.
  • Odosielanie používateľských údajov do nepotrebnej LLM. Opýtajte sa, či sú osobné údaje požadované alebo či by mali byť maskované predtým, ako sa dostanú do cloudu.

V súhrne

Cloud LLM prináša skvelé možnosti, ktoré sa nezmestia na mobilnom zariadení, ale vyžadujú bezpečnosť a nákladovú disciplínu. Zlaté pravidlo: API kľúč nikdy nie je na klientovi, ide cez backend proxy. Flow výrazne zvyšuje vnímanú rýchlosť a zadržiavanie; Podporované tlačidlom "stop". Cena je určená skrátením zasielaného tokenu; Odolnosť sa dosahuje elegantným spracovaním všetkých prípadov chýb. Odpovede LLM môžu zahŕňať halucinácie; V kritických oblastiach je overenie nevyhnutné a osobné údaje sa pred odoslaním do cloudu skontrolujú.

Aplikačná úloha

Požiadajte o návrh klienta + backend proxy od AI pomocou „šablóny zabezpečenej architektúry“ pre funkciu „textovej sumarizácie“ alebo „chatu“. Overte, či sa kľúč API nachádza iba v backende vo vygenerovanom návrhu. Potom extrahujte aspoň dva spôsoby, ako znížiť token odoslaný s „vzorom oneskorenia nákladov“ a napíšte zdvorilú správu, ktorá sa zobrazí používateľovi pri chybovom stave (napr. 429).

kontrolný zoznam

  • [ ] Overil som, že kľúč API sa nachádza v backende a nie na klientovi
  • [ ] Urobil som streamovanie odpovede a pridal som tlačidlo „pozastaviť“.
  • [ ] Spracoval som časový limit, chybu siete, situácie 429 a 500
  • [ ] Znížil som odovzdaný token o minulú skratku/súhrn
  • [ ] Zvažoval som overenie proti riziku halucinácií v odpovedi LLM
  • [ ] Pred prechodom do cloudu som si overil nevyhnutnosť/maskovanie osobných údajov