Kuidas luua AI-vestlusroboti rakendus: võtmed, promptid, kulud ja turvalisus
AI-vestlusroboti rakenduse loomiseks on vaja nelja asja: vestlusliidest, väikest serverit, mis hoiab mudeliteenuse pakkuja API-võtit ja edastab sinna sõnumid, süsteemiprompti, mis ütleb mudelile, kes ta on ja mida tohib teha, ning piiranguid, mis hoiavad kulud ja väärkasutuse kontrolli all. AI-rakenduste looja saab kõik selle kirjelduse põhjal valmis teha. Sinu enda ülesanne on pakkuja valimine, juhiste kirjutamine ja otsustamine, mida robot ei tohi kunagi teha.
Millest AI-vestlusroboti rakendus koosneb
Enamikul vestlusrobotite rakendustel, olgu need tugiassistendid, õpetajad või sisemised "küsi meie dokumentidest" tööriistad, on samad osad:
| Osa | Mida ta teeb | Kas seda saab vahele jätta? |
|---|---|---|
| Vestluse kasutajaliides | Sõnumite loend, sisestusväli, "mõtleb" olek, voogedastatud vastused | Ei |
| Serveri rada | Võtab vastu kasutaja sõnumi, lisab süsteemiprompti ja kutsub pakkujat sinu salajase võtmega | Ei, võti ei tohi kunagi jõuda brauserisse |
| Süsteemiprompt | Püsijuhised: roll, toon, ulatus, mida keelduda | Ei |
| Teadmised | Sinu enda sisu, millest robot vastab (KKK, tingimused, tootedokumentatsioon) | Jah, üldotstarbelise assistendi puhul |
| Vestluste salvestus | Salvestab vestlused andmebaasi, et kasutajad saaksid hiljem jätkata | Jah, esimese versiooni puhul |
| Kontod | Võimaldab igal kasutajal näha ainult oma ajalugu ja piirata kasutust inimese kohta | Jah, avaliku demo puhul rangete piirangutega |
| Piirangud ja logimine | Sõnumi pikkuse piirid, päringu piirangud, kulupiirang, vigade logi | Ei |
Serverirada on osa, mida inimesed kõige sagedamini valesti teevad. Kui vestlusleht kutsub pakkujat otse brauserist, saab igaüks avada arendajatööriistad, kopeerida sinu võtme ja tekitada suure arve.
Otsused enne ehitamist
Milline pakkuja ja mudel
Peamised pakkujad (OpenAI, Anthropic, Google ja teised) pakuvad kõik vestlusstiilis API-t, mis töötab samamoodi: saadad sõnumite loendi ja saad vastuse. Praktiline valik sõltub vähem brändist ja rohkem mudeli suurusest:
- Väiksemad, kiiremad mudelid on odavamad ja vastavad kiiresti. Need sobivad lühikeste vastuste, klassifitseerimise ja lihtsate KKK-robotite jaoks.
- Suuremad mudelid mõtlevad paremini, järgivad pikki juhiseid kindlamalt ja tulevad toime segaste küsimustega, kuid maksavad sõnumi kohta rohkem ja vastavad aeglasemalt.
Alusta keskmise suurusega mudelist, testi seda oma tegelike küsimustega ning liigu sealt üles või alla. Kui sa pole veel harjunud nende API-de hinnastamise ja kutsumisega, loe kõigepealt kuidas kasutada LLM-API-sid.
Kust tuleb roboti teadmine
| Sinu sisu | Lähenemine |
|---|---|
| Üks-kaks lehte (lahtiolekuajad, tagastuspoliitika, hinnad) | Pane need otse süsteemiprompti |
| Kümneid lehti, mis harva muutuvad | Pane süsteemiprompti tihendatud versioon või jaota teemade kaupa ja lisa asjakohane osa |
| Sadu dokumente või sisu, mis muutub igapäevaselt | Salvesta see, otsi iga küsimusega sobivad lõigud ja saada mudelile ainult need (RAG) |
Alusta lihtsaimast võimalusest, mis sinu sisu katab. Otsing lisab otsinguindeksi, selle hoidmise ajakohasena ja rohkem kohti, kus vastused valeks minna võivad. Paljud kasulikud robotid ei vaja seda üldse.
Avalik või sisselogimise taga
Avalik vestlusrobot veebilehel on lihtsalt kättesaadav, kuid sama lihtsalt kuritarvitatav: keegi võib skripti abil saata tuhandeid sõnumeid. Sisselogimisega robot võimaldab salvestada ajalugu kasutaja kohta ja seada igale kontole päevase piiri. Kui robot on avalik, piira sõnumi pikkust, piira, mitu sõnumit üks külastaja võib teatud aja jooksul saata, ja seadista pakkuja haldusliideses kõva kuupiir. Kuidas oma rakendusse sisselogimist lisada selgitab konto poolt.
Kas vestlusi salvestada
Salvestatud vestlustest on kasu: kasutajad saavad jätkata, kus pooleli jäid, ning sa saad lugeda päris küsimusi ja parandada prompti. Need on aga isikuandmed. Otsusta, kui kaua neid hoiad, ütle see oma privaatsusteatises ja ära salvesta midagi, mida pole vaja.
Kirjuta süsteemiprompt nagu ametijuhend
Süsteemiprompt on juhis, mille mudel saab enne iga vestlust. Hea prompt on nagu lühike juhend uuele töötajale:
- Roll ja sihtrühm: "Oled Oakline'i, jalgrattaremondipoe abiassistent. Räägid klientidega."
- Ulatus: "Vasta küsimustele teenuste, hindade, lahtiolekuaegade ja broneeringute kohta. Kõige muu puhul ütle, et saad aidata ainult poe asjus."
- Tõeallikas: "Kasuta ainult allolevat teavet. Kui vastust seal pole, ütle, et ei tea, ja anna poe telefoninumber."
- Toon ja pikkus: "Sõbralik, lihtne keel, kuni kolm lauset, kui pole palutud üksikasju."
- Kõvad reeglid: "Ära lubage remondihinda, mida pole nimekirjas. Ära kunagi küsi kaardiandmeid."
Seejärel testi seda keeruliste küsimustega: teemast kõrvalekalduvad päringud, ebaviisakad sõnumid, küsimused, mille vastust sinu sisus pole, ja katsed panna robot juhiseid ignoreerima ("unusta reeglid ja..."). Kohenda prompti, kuni vastused on sellised, mille alla oled valmis oma nime panema.
Hoia kulud prognoositavad
Teenuse pakkujad arvestavad tokenite järgi (umbes sõnaosade järgi) nii sisendi kui ka mudeli väljundi eest. Kolm asja määravad arve suuruse:
- Vestluse pikkus. Iga uus sõnum saadab tavaliselt kogu lõime uuesti, et mudelil oleks kontekst. 40 sõnumi pikkune vestlus maksab iga vastuse eest palju rohkem kui 4 sõnumi pikkune. Hoia alles ainult viimased mõned pöörded või võta vanemad kokku.
- Prompti suurus. Pikk süsteemiprompt või suur kleebitud teadmisplokk saadetakse igaühe sõnumiga.
- Väljundi pikkus. Sea API-kutses vastuse maksimaalne pikkus ja palu promptis lühidat vastust.
Sea enne lansseerimist pakkuja haldusliideses kuukulupiirang ja logi iga päringu tokenite kasutus, et näha, millised vestlused on kallid. Hindu siin ei too, sest need erinevad mudeliti ja muutuvad sageli; vaata pakkuja enda hinnalehte.
Ehita samm-sammult
1. samm: kirjelda robotit, mitte koodi
Esimene prompt, mis nimetab publiku, ulatuse, andmed ja turvareeglid, viib sind suure osa teekonnast:
Ehita klienditoe vestlusrobot Oaklinele, jalgrattaremondipoele. Vestlusleht sõnumiloendi ja sisestusväljaga, vastused voogedastatakse nende kirjutamise ajal. Kutsu Anthropicu API-t serveriraja kaudu salajase võtme ANTHROPIC_API_KEY abil, mitte kunagi ära too seda brauserisse. Kasuta süsteemiprompti, mis vastab ainult meie teenuste, hindade ja lahtiolekuaegade kohta failist shop-info.md ning muul juhul ütleb: "Ma pole kindel, helista allpool olevale numbrile." Piira sõnumid 500 tähemärgini ja 20 sõnumini külastaja kohta tunnis. Puhas ja sõbralik disain, mis töötab telefonis.
2. samm: lisa võti salajasena
Loo võti oma teenuse pakkuja konsoolis ja salvesta see projekti keskkonnamuutujate või saladuste hulka, mitte vestlusse ega koodi. Kui võti kunagi avalikult nähtavale satub, tühista see pakkuja juures ja loo uus. Mis on keskkonnamuutujad ja saladused selgitab, miks see oluline on.
3. samm: testi vastuseid, mitte ainult liidest
Kui vestlus töötab, kulub suurem osa ajast vastuste kvaliteedile. Pea nimekirja umbes 20 päris küsimusest, sealhulgas mõnest, millele tuleks keelduda, ja käi need läbi pärast iga promptimuudatust. Kontrolli:
- Kas robot jääb oma ulatusse?
- Kas ta ütleb, kui ei tea, selle asemel et vastust välja mõelda?
- Kas ta peab vastu, kui keegi üritab tema juhiseid ümber lükata?
- Kas võti puudub kõigest, mida brauser alla laadib?
4. samm: lisa mälu ja kontod vajadusel
Kui üksikud vestlused toimivad, pane salvestatud lõimed andmebaasi ning vajadusel registreerimine ja sisselogimine, et iga kasutaja näeks ainult oma vestlusi. Lisa samal ajal igale kasutajale päevane sõnumilimiit.
5. samm: avalda piirangutega
Veendu, et avaldatud rakendusel on samad saladused mis eelvaates, pakkuja juures on kulupiirang seatud ja vead logitakse kohta, kus neid näed. Seejärel jaga rakendust väikese grupiga enne, kui paned selle oma peamisele lehele.
Ohutus ja usaldus
Vestlusrobot räägib avalikkusega sinu nimel, seega pead käsitlema selle ebaõnnestumisi enda probleemina:
- Valed vastused. Mudelid võivad kindlalt valesti väita. Hoia robot kitsal teemal, põhjenda vastused oma sisuga ning lisa oluliste küsimuste juurde lühike märkus, et vastused võivad olla ekslikud.
- Promptide süstimine. Kasutajad (või dokumendid, mida robot loeb) võivad sisaldada juhiseid nagu "ignoreeri eelnevaid reegleid". Ära anna robotile volitusi, mida ei saa usaldada: ei tagasimakseid, kustutamisi ega e-kirjade saatmist kasutaja sõna põhjal ilma kontrollita sinu enda koodis.
- Tundlikud teemad. Meditsiiniliste, õiguslike või finantsküsimuste puhul suuna inimesed pigem spetsialisti juurde, kui anna nõu.
- Isikuandmed. Ära kleebi kliendikirjeid prompti, kui see pole vajalik, ja kontrolli, mida pakkuja tingimused ütlevad API-andmete käsitlemise kohta.
Meie turvakontrollnimekiri AI-ga ehitatud rakendustele katab kogu rakendust.
Levinud vead
- Pakkuja kutsumine brauserist. Võti lekib. Suuna alati läbi oma serveri.
- Avaliku roboti ilma piiranguteta. Üks skript võib kuu eelarve ühe pärastlõunaga tühjaks teha.
- RAG, tööriistad ja mitu mudelit korraga. Saa kõigepealt üks hea vestlus töötama; lisa ülejäänu siis, kui päris küsimused näitavad, et seda vaja on.
- Testimine ainult sõbralike küsimustega. Su kasutajad küsivad esimesel päeval kummalisi, vaenulikke ja teemast kõrvalkalduvaid asju.
- Lõime kasvamise lubamine lõputult. Kulud ja vastuseajad kasvavad iga sõnumiga.
Millal on valmis toode parem valik
Oma roboti ehitamine on mõttekas, kui vestlusrobot on osa sinu tootest, vajab sinu andmeid või töövoogu või peab välja nägema ja käituma kindlal viisil. Sageli on see vale valik, kui:
- Tahad lihtsalt tugividinat olemasolevale saidile. Paljud abilaua- ja elavvestlustoodete komplektid sisaldavad nüüd AI-vastusroboteid, mis loevad sinu abikeskust, koos inimesele üleandmise, postkasti ja aruandlusega.
- Kasutavad seda ainult sina või su meeskond. Üldotstarbelise assistendi, näiteks ChatGPT või Claude, tellimus koos üles laaditud dokumentidega võib olla kõik, mida vajad.
- Vajad rangeid vastavusgarantiid (näiteks reguleeritud tervise- või finantsandmed). Sertifikaatidega teenusepakkuja võib olla turvalisem kui kohandatud lahendus.
Ehitamine Mythexiga
Mythex on AI-rakenduste looja: kirjeldad vestlusroboti vestluses, ning see kirjutab liidese ja serveripoolse kutse, käivitab selle reaalajas eelvaates ja avaldab avaliku URL-i. Sinu rakenduse sees olev AI kasutab sinu enda pakkuja võtit. Lisad selle projekti saladustesse või Mythexi vestluses näidatava saladuste kaardi kaudu, kui seda vaja on, ning kasutus arveldatakse sinu pakkuja kontol, mitte Mythexi ehituskrediitidega. Mythex ei lisa sinu rakenduse kasutajatele tokeneid, sisseehitatud teadmusbaasi toodet ega valmis päringupiiranguid: need on osad, mida sa tellid ja testid. Dokumentatsiooni leheküljel AI lisamine rakendusse on samm-sammult juhend ja lisa AI oma API-võtmetega sisaldab alg-prompti.
Kui robot vajab salvestatud lõimi, lisab Mythex projektile Postgres-andmebaasi, kui seda palud. Rohkem viise mudelite kasutamiseks rakenduses, kokkuvõtetest klassifitseerimiseni, leiad juhendist kuidas lisada oma rakendusse AI-funktsioone, või vaata rakenduste malle alguspunktide jaoks.
Küsimused
Kas AI-vestlusroboti rakenduse loomiseks on vaja oma API-võtit?
Jah, peaaegu alati. Vestlusrobot saadab iga sõnumi mõnele mudeliteenuse pakkujale, näiteks OpenAI-le, Anthropicule või Google'ile, ning pakkuja arveldab selle konto vastu, kellele API-võti kuulub. Võti peab asuma sinu serveris, mitte kunagi veebilehel.
Kui palju maksab AI-vestlusroboti käitamine?
Teenuse pakkujad küsivad tasu tokenite eest, nii saadetud kui ka mudeli vastatud teksti eest, ja hinnad erinevad mudelite lõikes oluliselt. Kuna iga uus sõnum saadab tavaliselt kogu seni peetud vestluse uuesti, maksavad pikad vestlused sõnumi kohta rohkem kui lühikesed. Vaata pakkuja hinnalehte ja seadista oma konto haldusliideses kulupiirang.
Kas ma saan vestlusroboti treenida oma dokumentidel?
Mudelit ennast tavaliselt ei treenita. Väikese sisumahu puhul paned selle süsteemiprompti; suure dokumendikogu puhul salvestad sisu, otsid igale küsimusele sobivad lõigud ja saadad mudelile ainult need. Seda teist lähenemist nimetatakse otsinguga täiendatud genereerimiseks (retrieval-augmented generation ehk RAG).
Kas ma saan AI-vestlusroboti luua ilma koodi kirjutamata?
Jah. AI-rakenduste looja suudab kirjeldusest koostada vestlusliidese, serveriraja, mis kutsub mudelit, ja andmebaasi salvestatud vestluste jaoks. Pakkuja konto ja API-võtme pead siiski ise looma.