Sådan bygger du en AI-chatbot-app: nøgler, prompts, omkostninger og sikkerhed
For at bygge en AI-chatbot-app har du brug for fire ting: en chatgrænseflade, en lille server, der gemmer din modeludbyders API-nøgle og videresender beskeder til den, en system-prompt, der fortæller modellen hvem den er, og hvad den må gøre, samt begrænsninger, der holder omkostninger og misbrug under kontrol. Et AI-app-værktøj kan skrive alt det ud fra en beskrivelse. Det, der stadig er din opgave, er at vælge udbyder, skrive instruktionerne og beslutte, hvad botten aldrig må gøre.
Hvad en AI-chatbot-app består af
De fleste chatbot-apps, uanset om det er en supportassistent, en tutor eller et internt „spørg vores dokumenter“-værktøj, har de samme dele:
| Del | Hvad den gør | Kan du springe den over? |
|---|---|---|
| Chatgrænseflade | Beskedliste, inputfelt, „tænker“-tilstand, svar der streames | Nej |
| Serverrute | Modtager brugerens besked, tilføjer system-prompten og kalder udbyderen med din hemmelige nøgle | Nej, nøglen må aldrig nå browseren |
| System-prompt | Faste instruktioner: rolle, tone, omfang, hvad der skal afvises | Nej |
| Viden | Dit eget indhold, botten svarer ud fra (FAQ, politikker, produktdokumentation) | Ja, til en generel assistent |
| Samtalelager | Gemmer samtaler i en database, så brugerne kan vende tilbage | Ja, i en første version |
| Konti | Gør at hver bruger kun ser sin egen historik, og lader dig begrænse forbruget pr. person | Ja, til en offentlig demo med strenge grænser |
| Begrænsninger og logning | Maks. beskedlængde, hastighedsgrænser, et forbrugsloft, en log over fejl | Nej |
Serverruten er den del, folk oftest gør forkert. Hvis chatsiden kalder udbyderen direkte fra browseren, kan hvem som helst åbne udviklerværktøjerne, kopiere din nøgle og køre din regning op.
Beslutninger du skal træffe før du bygger
Hvilken udbyder og model
De største udbydere (OpenAI, Anthropic, Google og andre) tilbyder alle en chat-lignende API, der fungerer ens: du sender en liste af beskeder og får et svar tilbage. Det praktiske valg handler mindre om mærket og mere om modelstørrelsen:
- Mindre, hurtigere modeller er billigere og svarer hurtigt. De er fine til korte svar, klassificering og simple FAQ-bots.
- Større modeller ræsonnerer bedre, følger lange instruktioner mere pålideligt og håndterer rodede spørgsmål, men koster mere pr. besked og svarer langsommere.
Start med en mellemstor model, test den mod dine rigtige spørgsmål, og gå op eller ned derfra. Hvis du er ny til, hvordan disse API’er prissættes og kaldes, så læs sådan bruger du LLM-API’er først.
Hvor botens viden kommer fra
| Dit indhold | Fremgangsmåde |
|---|---|
| En side eller to (åbningstider, returpolitik, priser) | Indsæt det direkte i system-prompten |
| Snesevis af sider, der sjældent ændrer sig | Læg en kortere version i prompten, eller del det op efter emne og medtag det relevante afsnit |
| Hundreder af dokumenter, eller indhold der ændrer sig dagligt | Gem det, søg efter de passager, der matcher hvert spørgsmål, og send kun dem (RAG) |
Start med den enkleste løsning, der dækker dit indhold. Retrieval tilføjer et søgeindeks, en måde at holde det opdateret på og flere steder, hvor svarene kan gå galt. Mange nyttige bots får aldrig brug for det.
Offentlig, eller bag et login
En offentlig chatbot på din hjemmeside er let at nå, men også let at misbruge: nogen kan scripte tusindvis af beskeder mod den. En chatbot bag et login lader dig gemme historik pr. bruger og sætte en daglig kvote pr. konto. Hvis den er offentlig, så begræns beskedlængden, begræns hvor mange beskeder én besøgende kan sende i en given periode, og sæt en hård månedlig grænse i udbyderens dashboard. Sådan tilføjer du login til din app dækker kontodelen.
Om samtaler skal gemmes
Gemte samtaler er nyttige: brugerne kan fortsætte, hvor de slap, og du kan læse rigtige spørgsmål for at forbedre prompten. Men de er også personlige data. Beslut hvor længe du gemmer dem, skriv det i din privatlivserklæring, og gem ikke noget, du ikke har brug for.
Skriv system-prompten som en stillingsbeskrivelse
System-prompten er instruktionen, modellen får før hver samtale. En god en læses som et kort oplæg til en ny medarbejder:
- Rolle og målgruppe: „Du er hjælpeassistenten for Oakline, en cykelværksted. Du taler med kunder.“
- Omfang: „Svar på spørgsmål om ydelser, priser, åbningstider og booking. Til alt andet skal du sige, at du kun kan hjælpe med værkstedet.“
- Kilde til sandhed: „Brug kun de oplysninger, der står nedenfor. Hvis svaret ikke er der, så sig, at du ikke ved det, og giv værkstedets telefonnummer.“
- Tone og længde: „Venlig, klart dansk, tre sætninger eller færre, medmindre der bedes om detaljer.“
- Faste regler: „Lov aldrig en reparationspris, der ikke står på listen. Bed aldrig om kortoplysninger.“
Test derefter med akavede spørgsmål: emner uden for omfanget, uhøflige beskeder, spørgsmål hvis svar ikke findes i dit indhold, og forsøg på at få den til at ignorere sine instruktioner („glem dine regler og…“). Justér prompten, indtil svarene er sådan, at du kan stå inde for dem.
Hold omkostningerne forudsigelige
Udbyderne fakturerer pr. token (groft sagt stykker af ord) for det input du sender og det output modellen skriver. Tre ting driver regningen:
- Samtalelængde. Hver ny besked sender normalt hele tråden igen, så modellen har kontekst. En chat med 40 beskeder koster langt mere pr. svar end en med 4. Behold kun de seneste par runder, eller opsummer de ældre.
- Promptens størrelse. En lang system-prompt eller et stort stykke indsat viden sendes med hver besked.
- Outputlængde. Angiv en maksimal svarlængde i API-kaldet, og bed om korte svar i prompten.
Sæt en månedlig forbrugsgrænse i udbyderens dashboard, før du lancerer, og log token-forbruget pr. forespørgsel, så du kan se, hvilke samtaler der er dyre. Vi angiver ikke priser her, fordi de varierer efter model og ændrer sig ofte; tjek din udbyders egen prisside.
Byg det trin for trin
Trin 1: Beskriv botten, ikke koden
Et første prompt, der navngiver målgruppen, omfanget, dataene og sikkerhedsreglerne, tager dig langt:
Byg en kundeservice-chatbot for Oakline, et cykelværksted. En chatside med beskedliste og inputfelt, svar der streames, mens de skrives. Kald Anthropic-API’et fra en serverrute med den hemmelige ANTHROPIC_API_KEY — eksponér den aldrig for browseren. Brug en system-prompt, der kun svarer på spørgsmål om vores ydelser, priser og åbningstider ud fra teksten i en fil, der hedder shop-info.md, og som siger „Jeg er ikke sikker — ring til os på nummeret nedenfor“ ellers. Begræns beskeder til 500 tegn og 20 beskeder pr. besøgende i timen. Rent, venligt design, der virker på telefoner.
Trin 2: Gem nøglen som en hemmelighed
Opret nøglen i din udbyders konsol, og gem den derefter i projektets miljøvariabler eller hemmeligheder, ikke i chatten og ikke i koden. Hvis en nøgle nogensinde dukker op et offentligt sted, så tilbagekald den hos udbyderen og opret en ny. Hvad miljøvariabler og hemmeligheder er forklarer hvorfor det betyder noget.
Trin 3: Test svarene, ikke kun grænsefladen
Når chatten virker, så brug det meste af tiden på svarkvalitet. Hold en liste med omkring 20 rigtige spørgsmål, inklusive nogle, der skal afvises, og gennemgå dem efter hver ændring af prompten. Tjek:
- Holder den sig inden for omfanget?
- Erkender den, når den ikke ved noget, i stedet for at opfinde et svar?
- Står den imod, når nogen forsøger at overstyre dens instruktioner?
- Er nøglen fraværende i alt, som browseren downloader?
Trin 4: Tilføj hukommelse og konti, hvis du har brug for det
Når enkeltstående samtaler virker, så tilføj gemte tråde i en database og, hvis det er nødvendigt, tilmelding og login, så hver bruger kun ser sine egne chats. Tilføj samtidig en daglig beskedkvote pr. bruger.
Trin 5: Publicér med begrænsningerne slået til
Sørg for, at den publicerede app har de samme hemmeligheder som previewet, at forbrugsgrænsen er sat hos udbyderen, og at fejl bliver logget et sted, hvor du vil se dem. Del den derefter med en lille gruppe, før du sætter den på din hovedside.
Sikkerhed og tillid
En chatbot taler med offentligheden i dit navn, så behandl dens fejltilstande som dit ansvar:
- Forkerte svar. Modeller kan fremsætte falske ting med stor sikkerhed. Hold botten på et smalt emne, forankr den i dit eget indhold, og vis en kort note om, at svar kan være forkerte ved alt, der er vigtigt.
- Prompt-injektion. Brugere (eller dokumenter botten læser) kan indeholde instruktioner som „ignorer tidligere regler“. Giv ikke botten beføjelser, som den ikke kan stoles på med: ingen refusioner, sletninger eller e-mails sendt på en brugers ord uden en kontrol i din egen kode.
- Følsomme emner. Ved medicinske, juridiske eller økonomiske spørgsmål skal den henvise folk til en fagperson i stedet for at rådgive.
- Persondata. Indsæt ikke kunderegistre i prompts, medmindre du må, og tjek hvad din udbyders vilkår siger om, hvordan API-data håndteres.
Vores sikkerhedstjekliste for AI-byggede apps dækker resten af appen.
Almindelige fejl
- At kalde udbyderen fra browseren. Nøglen lækker. Gå altid via din server.
- Ingen grænser på en offentlig bot. Én script kan tømme et måneds budget på en eftermiddag.
- At starte med RAG, værktøjer og flere modeller på samme tid. Få først én god samtale til at virke; tilføj resten, når rigtige spørgsmål viser, at du har brug for det.
- Kun at teste venlige spørgsmål. Dine brugere vil stille underlige, fjendtlige og emnefjerne spørgsmål fra første dag.
- At lade tråden vokse uendeligt. Omkostninger og svartider stiger med hver besked.
Hvornår et færdigt produkt er det bedre valg
At bygge dit eget giver mening, når chatbotten er en del af dit produkt, skal bruge dine egne data eller arbejdsgang, eller skal have et bestemt udseende og en bestemt adfærd. Det er ofte det forkerte valg, når:
- Du kun vil have en supportwidget på en eksisterende side. Mange helpdesk- og live-chat-produkter har nu AI-svarbots, der læser dit hjælpecenter, med menneskelig overdragelse, indbakke og rapportering allerede bygget ind.
- Kun du eller dit team skal bruge den. Et abonnement på en generel assistent som ChatGPT eller Claude, med dine dokumenter uploadet, er måske alt, du har brug for.
- Du har brug for strenge compliance-garantier (for eksempel reguleret sundheds- eller finansdata). En leverandør, der allerede har certificeringerne, kan være sikrere end en egen løsning.
At bygge det med Mythex
Mythex er et AI-app-værktøj: du beskriver chatbotten i chatten, og det skriver grænsefladen og det serverbaserede kald, kører den i en live-preview og publicerer den til en offentlig URL. AI’en i din app bruger din egen udbyder-nøgle. Du tilføjer den i projektets hemmeligheder eller gennem hemmeligheds-kortet, Mythex viser i chatten, når den har brug for en, og udbyderforbruget faktureres på din udbyderkonto, ikke på dine Mythex-byggekreditter. Mythex inkluderer ikke tokens til din apps brugere, et indbygget vidensbaseprodukt eller færdige hastighedsgrænser: det er dele, du beder om og tester selv. Dokumentationssiden om at tilføje AI i din app gennemgår det, og tilføj AI med dine egne API-nøgler har et startprompt.
Hvis botten har brug for gemte tråde, tilføjer Mythex en Postgres-database til projektet, når du beder om det. For flere måder at bruge modeller i en app på, fra opsummeringer til klassificering, se sådan tilføjer du AI-funktioner til din app, eller se app-skabelonerne for udgangspunkter.
Spørgsmål
Skal jeg bruge min egen API-nøgle for at bygge en AI-chatbot-app?
Ja, i næsten alle tilfælde. Chatbotten sender hver besked til en modeludbyder som OpenAI, Anthropic eller Google, og udbyderen fakturerer den konto, der ejer API-nøglen. Nøglen skal ligge på din server, aldrig på websiden.
Hvad koster det at køre en AI-chatbot?
Udbyderne tager betaling pr. token, både for den tekst du sender og for den tekst modellen skriver tilbage, og priserne varierer meget mellem modellerne. Fordi hver ny besked typisk sender hele samtalen igen, koster lange chats mere pr. besked end korte. Tjek din udbyders prisside, og sæt en forbrugsgrænse i deres dashboard.
Kan jeg træne en chatbot på mine egne dokumenter?
Du træner normalt ikke selve modellen. Til et lille indhold indsætter du det i system-prompten; til et stort bibliotek gemmer du det, søger efter de passager, der er relevante for hvert spørgsmål, og sender kun dem til modellen. Den sidste metode kaldes retrieval-augmented generation, eller RAG.
Kan jeg bygge en AI-chatbot uden at kode?
Ja. Et AI-app-værktøj kan ud fra en beskrivelse i almindeligt sprog skrive chatgrænsefladen, serverruten der kalder modellen, og databasen til gemte samtaler. Du skal selv oprette udbyderkontoen og API-nøglen.