# Vision ## Bakgrund och problembeskrivning Supporttekniker på Linneuniversitetet har som arbetsuppgift att hjälpa de anställda med de tekniska system som används i det dagliga arbetet. Det handlar t ex om hantering av användarkonton, åtkomst till e-post, tidsrapportering och bokning av lokaler inom förvaltningen. Många av de problem som de anställda upplever är av liknande karaktär t ex: - Jag lyckas inte ansluta till VPN? - Jag har varit tjänstledig och kommer inte ihåg mitt lösenord - Jag har fått det här mailet som ser ut att komma ifrån fakturaavdelningen men tycker att det inte helt ser korrekt ut. Vågar jag öppna den bifogade filen? Arbetsuppgiften att svara på dessa frågor är prioriterade och tidskrävande för supportteknikerna. De som ställer frågorna kan bli hindrade i sitt arbete medan de väntar på respons och kan få olika svar beroende på vem som replikerar. Fördelarna med ett automatiserat sätt att svara på de anställdas frågor är att supportteknikerna skulle få mer tid till utvecklingsarbete, nya medarbetare har en kunskapsbank att lära ifrån samt ett generellt snabbare förfaringssätt. Flera försök att automatisera svaren med hjälp av AI-tränade chatbotar har gjorts för samma syfte på Linneuniversitetet. Nu med intågandet av AI chatbotar som baserar sina svar på jättestora mängder data och efterliknar konversationer har frågan aktualiserats igen. Kan de nya AI-tränade språkmodellerna uppfylla behovet på ett bättre sätt än de tidigare försöken? I första hand ska chatboten hjälpa supportteknikerna att svara på inkommande frågor. I förlängningen är önskemålet att chatboten självständigt ska sköta servicen till de anställda. För det här projektet är målet att undersöka om en chatbot tränad med AI kan hjälpa supportteknikerna i deras arbete. ## Användare och målgrupper Applikationen är tänkt att användas av supporttekniker på Linneuniversitetet som svarar på tekniska frågor från universitetets personal. Berörda personer är alla anställda på Linneuniversitetet. ## Systemets grundläggande egenskaper Ett baskrav är ett krav på en väldigt hög nivå och innehåller inga detaljer. Sammantaget så skall baskraven lösa problemet i problembeskrivningen och man ska fokusera på det som gör den egna lösningen unik med hänsyn till liknande/konkurrerande lösningar. ### Baskrav * Chatboten ska använda sig av ny AI-teknik * Chatboten ska kunna ge adekvata svar * Chatboten ska kunna tränas med data * Ge svar på om den nya AI-tekniken är en framkomlig väg för Linneuniversitetets chatbot för anställdas teknikfrågor * Chatboten ska i förlängningen kunna ersätta supportteknikern i enklare frågor ## Risklista *P=Probability* *S=Severity* | Risk | Beskrivning | P | S | Actions | Implementation | | -------------------------------------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---:|:---:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| --------------------------------------------------------------------------------------------------------------------------- | | Utdaterad info | När ändringar sker hos kunden behöverchatbotens information också uppdateras. Annars finns risken att användarna av chatboten får felaktiga svar. | 4 | 5 | Kundens kunskapsbank skrapas emellanåt så att ändringar även kommer in i databasen som chatboten använder. | | | Inte tillräcklig domänkunskap | Som utvecklare kan vi inte alltid veta om chatboten ger rätt svar eller på önskat sätt | 4 | 5 | Kunden får verifiera genom användartester | | | Höga kostnader | Anropa OpenAIs Api kostar och kostar mer ju mer data man skickar. Kundens budget kan överskridas | 3 | 5 | Använda de verktyg som finns för att minimera kostnader. Ha dialog med kunden om vilka kostnaderna är. | Kostnadskalkyl kommer | | Förseningar i leverens | Oförutsedda händelser kan göra att målet inte nås eller att produkten inte blir klar i tid. | 3 | 3 | Dialog med kunden kring hur utvecklingen av projektet går. Kommunikation i gruppen för att omfördela och omprioritera arbete om det behövs. | | | Levererar fel produkt | Förhastade slutsatser kring vad kunden önskar kan göra att fel sak utvecklas eller att målet tappas bort på vägen. | 2 | 5 | Dialog med kunden, kunden delar med sig om hur deras arbete går till, gruppen samtalar och diskuterar med kunden allteftersom utvecklingen fortskrider. | | | Inaktuell slutprodukt | Tekniken som är tänkt att användas är relativt ny och föränderlig vilket kan leda till att nya produkter kommer ut på marknaden under projektets gång, vilket leder till att slutprodukten blir inaktuell | 5 | 2 | Gruppen håller sig uppdaterad och bygger tjänsten så att delar kan bytas ut. Beroende på tidpunkt i projektet och hur stor effekten på slutprodukten blir kan ändringar göras. | | | Bygger in oss ett hörn | Eftersom tekniken är ny är det svårt att förutsäga vilka verktyg som behövs för att bygga produkten. Ny tekniker som inte beräknats från början behöver kunna integreras och då en större arkitekturförändring behövas | 3 | 3 | Bygga i utbytbara moduler om det är möjligt | | | Språkmodellerna genererar oönskad text | GPT-3 språkmodellerna är kapabel att generera text av farlig karaktär, e.g. hat- och våldsrelaterade uppgifter. | 2 | 2 | All indata från systemets användare, samt all text som genereras av gpt-3.5 modellen, testas i Moderation API:et för att följa openais regler. | [Moderation API](https://hackmd.io/@verksamhetsprojekt/Sk8rjylTi#002---OpenAI-Moderation-API-för-att-upptäcka-skadlig-text) |