Jak vytvořit aplikaci s AI chatbotem: klíče, prompty, náklady a bezpečnost
Aplikace s AI chatbotem potřebuje čtyři věci: chatovací rozhraní, malý server, který drží API klíč poskytovatele a předává mu zprávy, systémový prompt, který modelu řekne, kdo je a co smí dělat, a omezení, která drží náklady a zneužití pod kontrolou. Nástroj pro tvorbu AI aplikací to všechno dokáže vygenerovat z popisu. Na vás zůstává výběr poskytovatele, napsání instrukcí a rozhodnutí, co bot nesmí nikdy dělat.
Z čeho se aplikace s AI chatbotem skládá
Většina chatbotových aplikací, ať už jde o podpůrného asistenta, tutora nebo interní nástroj „zeptej se na dokumentaci“, má stejné části:
| Část | Co dělá | Dá se vynechat? |
|---|---|---|
| Chatovací UI | Seznam zpráv, vstupní pole, stav „přemýšlím“, průběžně streamované odpovědi | Ne |
| Serverová trasa | Přijme zprávu uživatele, přidá systémový prompt a zavolá poskytovatele s vaším tajným klíčem | Ne, klíč se nesmí dostat do prohlížeče |
| Systémový prompt | Trvalé instrukce: role, tón, rozsah, co odmítat | Ne |
| Znalosti | Váš vlastní obsah, ze kterého bot odpovídá (FAQ, zásady, dokumentace produktu) | Ano, u obecného asistenta |
| Uložení konverzací | Ukládá vlákna do databáze, aby se uživatelé mohli vrátit | Ano, u první verze |
| Účty | Každý uživatel vidí jen svou historii a můžete mu omezit využití | Ano, u veřejného dema s přísnými limity |
| Limity a logování | Maximální délka zprávy, rate limity, limit útraty, záznam chyb | Ne |
Nejčastější chyba je u serverové trasy. Pokud chatovací stránka volá poskytovatele přímo z prohlížeče, kdokoli může otevřít vývojářské nástroje, zkopírovat váš klíč a nechat vám vyrůst účet.
Rozhodnutí před stavbou
Který poskytovatel a model
Hlavní poskytovatelé (OpenAI, Anthropic, Google a další) nabízejí chatovací API, které funguje stejně: pošlete seznam zpráv a dostanete odpověď. Praktická volba se týká méně značky a více velikosti modelu:
- Menší, rychlejší modely jsou levnější a odpovídají rychle. Hodí se na krátké odpovědi, klasifikaci a jednoduché FAQ boty.
- Větší modely lépe uvažují, spolehlivěji dodržují dlouhé instrukce a zvládnou nepřehledné dotazy, ale stojí víc na zprávu a odpovídají pomaleji.
Začněte se středním modelem, vyzkoušejte ho na svých skutečných otázkách a podle výsledků jděte nahoru nebo dolů. Pokud se v tom ještě nevyznáte, nejdřív si přečtěte jak používat LLM API.
Odkud pochází znalost bota
| Váš obsah | Přístup |
|---|---|
| Jedna až dvě stránky (otevírací doba, reklamační řád, ceník) | Vložte je rovnou do systémového promptu |
| Desítky stránek, které se málokdy mění | Vložte zhuštěnou verzi do promptu, nebo ji rozdělte podle témat a přikládejte jen relevantní část |
| Stovky dokumentů nebo obsah, který se mění denně | Uložte je, pro každou otázku vyhledejte odpovídající pasáže a pošlete jen ty (RAG) |
Začněte s nejjednodušší možností, která váš obsah pokryje. Vyhledávání přidává index, způsob, jak ho udržovat aktuální, a další místa, kde může odpověď selhat. Mnoho užitečných botů ho nikdy nepotřebuje.
Veřejně, nebo za přihlášením
Veřejný chatbot na vašem webu je snadno dostupný, ale také snadno zneužitelný: někdo může proti němu skriptem poslat tisíce zpráv. Chatbot za přihlášením umožňuje ukládat historii pro každého uživatele a nastavit denní limit pro každý účet. Pokud je bot veřejný, omezte délku zprávy, počet zpráv, které může jeden návštěvník odeslat za daný čas, a v administraci poskytovatele nastavte pevný měsíční limit. Jak přidat přihlášení do aplikace popisuje stránku účtů.
Zda ukládat konverzace
Uložená vlákna jsou užitečná: uživatelé mohou pokračovat tam, kde skončili, a vy můžete číst skutečné dotazy a zlepšovat prompt. Jsou to ale osobní údaje. Rozhodněte, jak dlouho je budete uchovávat, uveďte to v zásadách ochrany osobních údajů a neukládejte nic, co nepotřebujete.
Systémový prompt napište jako popis práce
Systémový prompt je instrukce, kterou model dostane před každou konverzací. Dobrý prompt se čte jako krátké zadání pro nového kolegu:
- Role a publikum: „Jsi asistent zákaznické podpory pro Oakline, dílnu na opravy kol. Mluvíš se zákazníky.“
- Rozsah: „Odpovídej na otázky o službách, cenách, otevírací době a objednání. Na cokoli jiného řekni, že můžeš pomoci jen s dílnou.“
- Zdroj pravdy: „Používej jen informace níže. Pokud odpověď tam není, řekni, že to nevíš, a dej telefonní číslo dílny.“
- Tón a délka: „Přátelsky, srozumitelně, nejvýš tři věty, pokud se nevyžádá podrobnost.“
- Pevná pravidla: „Nikdy nesliby cenu opravy, která není uvedena. Nikdy nežádej údaje o platební kartě.“
Pak ho otestujte nepříjemnými otázkami: mimo téma, hrubými zprávami, dotazy, na které váš obsah neodpovídá, a pokusy přimět bota, aby ignoroval své instrukce („zapomeň na pravidla a…“). Prompt upravujte, dokud odpovědi nebudou takové, za které byste se podepsali.
Udržte náklady předvídatelné
Poskytovatelé účtují za tokeny (zhruba kousky slov) za vstup, který posíláte, a za výstup, který model napíše. Účet ovlivňují tři věci:
- Délka konverzace. Každá nová zpráva obvykle znovu posílá celé vlákno, aby model měl kontext. Čtyřicetizprávový chat stojí na odpověď výrazně víc než čtyřzprávový. Ponechte jen posledních několik výměn, nebo starší shrňte.
- Velikost promptu. Dlouhý systémový prompt nebo velký blok vloženého obsahu se posílá s každou zprávou.
- Délka výstupu. V API nastavte maximální délku odpovědi a v promptu požádejte o stručné odpovědi.
Před spuštěním nastavte v administraci poskytovatele měsíční limit útraty a logujte spotřebu tokenů u každého požadavku, abyste viděli, které konverzace jsou drahé. Ceny zde neuvádíme, protože se liší podle modelu a často se mění. Zkontrolujte ceník svého poskytovatele.
Postupujte krok za krokem
Krok 1: Popište bota, ne kód
První prompt, který pojmenuje publikum, rozsah, data a bezpečnostní pravidla, vás dovede téměř k cíli:
Vytvoř zákaznického chatbota pro Oakline, dílnu na opravy kol. Chatovací stránka se seznamem zpráv a vstupním polem, odpovědi se streamují, jak vznikají. Volej Anthropic API z serverové trasy pomocí tajného klíče ANTHROPIC_API_KEY, nikdy ho neexponuj v prohlížeči. Systémový prompt má odpovídat jen na otázky o službách, cenách a otevírací době z textu v souboru shop-info.md, a jinak říct „Nejsem si jistý, zavolejte nám na číslo níže“. Omez zprávy na 500 znaků a 20 zpráv na návštěvníka za hodinu. Čistý, přátelský design, který funguje na telefonech.
Krok 2: Přidejte klíč jako tajný údaj
Vytvořte klíč v konzoli svého poskytovatele a uložte ho do proměnných prostředí nebo tajných údajů projektu, ne do chatu a ne do kódu. Pokud se klíč někdy objeví někde veřejně, zrušte ho u poskytovatele a vytvořte nový. Co jsou proměnné prostředí a tajné údaje vysvětluje, proč na tom záleží.
Krok 3: Testujte odpovědi, ne jen rozhraní
Jakmile chat funguje, většinu času věnujte kvalitě odpovědí. Veďte seznam asi dvaceti skutečných otázek, včetně několika, které mají být odmítnuty, a po každé změně promptu jimi projděte. Kontrolujte:
- Zůstává bot v rozsahu?
- Přizná, když něco neví, místo aby vymyslel odpověď?
- Obstojí, když se mu někdo snaží přepsat instrukce?
- Je klíč pryč ze všeho, co prohlížeč stahuje?
Krok 4: Přidejte paměť a účty, pokud je potřebujete
Až budou fungovat jednotlivé konverzace, požádejte o ukládání vláken do databáze a případně o registraci a přihlášení, aby každý uživatel viděl jen své chaty. Zároveň přidejte denní limit zpráv na uživatele.
Krok 5: Publikujte se zapnutými limity
Zkontrolujte, že publikovaná aplikace má stejné tajné údaje jako náhled, že je u poskytovatele nastaven limit útraty a že chyby se logují na místo, kde je uvidíte. Pak ji sdílejte s malou skupinou, než ji dáte na hlavní web.
Bezpečnost a důvěra
Chatbot mluví s veřejností vaším jménem, takže jeho selhání berte jako svůj problém:
- Špatné odpovědi. Modely dokážou sebejistě říct nepravdu. Držte bota v úzkém tématu, opírejte ho o vlastní obsah a u důležitých věcí zobrazte krátkou poznámku, že odpovědi mohou být chybné.
- Prompt injection. Uživatelé (nebo dokumenty, které bot čte) mohou obsahovat instrukce typu „ignoruj předchozí pravidla“. Nedávejte botovi pravomoci, kterým nelze důvěřovat: žádné vracení peněz, mazání ani odesílání e-mailů na základě pokynu uživatele bez kontroly ve vašem vlastním kódu.
- Citlivá témata. U zdravotních, právních nebo finančních otázek ať bot lidi spíš odkáže na odborníka, než aby radil.
- Osobní údaje. Do promptů nevkládejte záznamy zákazníků, pokud to není nutné, a ověřte si v podmínkách poskytovatele, jak nakládá s daty z API.
Naše bezpečnostní kontrolní seznam pro aplikace vytvořené s AI pokrývá celou aplikaci.
Časté chyby
- Volání poskytovatele z prohlížeče. Klíč uniká. Vždy jděte přes svůj server.
- Žádné limity u veřejného bota. Jeden skript dokáže vyčerpat měsíční rozpočet během odpoledne.
- Začít s RAG, nástroji a více modely najednou. Nejdřív zprovozněte jednu dobrou konverzaci; ostatní přidejte, až to ukážou skutečné dotazy.
- Testování jen přátelských otázek. Uživatelé se v prvním dni zeptají na divné, nepřátelské a mimotematické věci.
- Nechat vlákno růst donekonečna. Náklady i doba odpovědi rostou s každou zprávou.
Kdy je lepší hotový produkt
Vlastní bot dává smysl, když je chatbot součástí vašeho produktu, potřebuje vaše data nebo postup práce, nebo potřebuje konkrétní vzhled a chování. Často je ale špatná volba, když:
- Chcete jen podpůrný widget na existujícím webu. Mnoho helpdesk a live-chat produktů už obsahuje AI bota, který čte vaše centrum nápovědy, s předáním člověku, schránkou a reportingem hotovými.
- Bude to používat jen vy nebo váš tým. Předplatné obecného asistenta jako ChatGPT nebo Claude s nahranými dokumenty může stačit.
- Potřebujete přísné záruky shody (například u regulovaných zdravotních nebo finančních dat). Dodavatel, který už má certifikace, může být bezpečnější než vlastní řešení.
Stavba s Mythexem
Mythex je nástroj pro tvorbu AI aplikací: chatbota popíšete v chatu, on napíše rozhraní a volání na straně serveru, spustí ho v živém náhledu a publikuje na veřejnou URL. AI uvnitř vaší aplikace používá váš vlastní klíč poskytovatele. Přidáte ho do tajných údajů projektu nebo přes kartu s tajnými údaji, kterou Mythex zobrazí v chatu, když ho bude potřebovat. Využití poskytovatele se účtuje na váš účet u poskytovatele, ne z kreditů Mythexu na stavbu. Mythex nezahrnuje tokeny pro uživatele vaší aplikace, hotový produkt na znalostní bázi ani připravené rate limity. To jsou části, které si vyžádáte a otestujete. Dokumentace na stránce přidání AI do vaší aplikace to krok za krokem popisuje a přidání AI s vlastními API klíči obsahuje výchozí prompt.
Pokud bot potřebuje ukládat vlákna, Mythex k projektu připojí databázi Postgres, když o ni požádáte. Další způsoby, jak používat modely uvnitř aplikace, od shrnutí po klasifikaci, najdete v článku jak přidat AI funkce do aplikace, nebo si prohlédněte šablony aplikací jako výchozí bod.
Otázky
Potřebuji vlastní API klíč, abych vytvořil aplikaci s AI chatbotem?
Téměř vždy ano. Chatbot posílá každou zprávu poskytovateli modelu, jako je OpenAI, Anthropic nebo Google, a poskytovatel účtuje účet, ke kterému klíč patří. Klíč musí zůstat na vašem serveru, nikdy ne na webové stránce.
Kolik stojí provoz AI chatbota?
Poskytovatelé účtují podle tokenů, a to jak za text, který posíláte, tak za text, který model vrátí. Ceny se mezi modely výrazně liší. Protože každá nová zpráva obvykle znovu odesílá celou konverzaci, jsou dlouhé chaty na zprávu dražší než krátké. Podívejte se na ceník svého poskytovatele a v jeho administraci nastavte limit útraty.
Mohu chatbota natrénovat na vlastních dokumentech?
Model sám obvykle netrénujete. U malého množství obsahu jej vložíte přímo do systémového promptu. U velké knihovny ji uložíte, pro každou otázku vyhledáte relevantní pasáže a modelu pošlete jen ty. Tomuto druhému přístupu se říká retrieval-augmented generation, neboli RAG.
Dá se vytvořit AI chatbot bez programování?
Ano. Nástroj pro tvorbu AI aplikací dokáže z popisu v běžném jazyce napsat chatovací rozhraní, serverovou trasu, která volá model, a databázi pro uložené konverzace. Účet u poskytovatele a API klíč si ale musíte vytvořit sami.