# Slutleverans
Denna sida dokumenterar hur projektets överlämning kommer att ske.
## Docker Compose
Projektet ska överlämnas till beställande kund i formen av en Docker-container orkestrering som implementeras med hjälp av [Docker Compose](https://docs.docker.com/compose/).
Container orkestreringen finns tillgänglig på [GitHub](https://github.com/lnu-askit/full-local-demo). Instruktioner för att starta och använda systemet finns beskrivna i repositoriets README.
## GitHub Organisation
All projektkod berörande det fullständiga systemet finns publicerat i en GitHub-organisation vid namnet [AskIT - Student Project LNU](https://github.com/lnu-askit). Här finns möjligheten att bjuda in beställande kund, och sedan ge dem äganderättigheter. Det finns också möjlighet att göra forks av samtliga repositorier inuti organisationen.
## Nuvarande brister/avgränsningar
### Funktionellt
#### Ingen text-streaming i Firefox
När chatbotten "skriver" sitt svar så streamas texten normalt sett till klienten "live", alltså ser det ut som att chattbotten skriver sitt svar framför ögonen på en. Denna funktionalitet fungerar ej på Firefox, och det finns ingen indikation på att ett meddelande är påväg.
Problemet kan lindras genom att ha en ruta synlig med texten "AskIT is typing..." någonstans i klienten medan botten skriver sitt svar.
#### Ingen konversation över 4096-tokens i längd
Chatt-historiken kan i nuläget bara hantera en total storlek av 4096 tokens, på grund av en begränsning i `gpt-3.5-turbo`-modellen.
Den textmodell som används kan lätt bytas ut med en miljö-variabel, så ifall `gpt-4`-modellerna blir öppet tillgängliga så skjuts problemet fram till 32,768 tokens
#### Ingen användning av Moderation API:et
Ingen publicerad eller genererad text kontrolleras av OpenAI:s Moderation API i nuläget.
Då systemet endast ska testas internt av beställande kund så bedöms detta inte vara kritiskt i nuläget. Ifall ett vidareutvecklat system exponeras till "allmänheten", det vill säga studenter & personal "på riktigt", så behöver denna funktionalitet implementeras.
### Icke-funktionellt
#### Låg grad av testning
Systemet är i nuläget relativt otestad, åtminstone i en officiell kapacitet. Då vi förlitar oss på systemtestning har vi begränsats av att inte ha ett sammansatt system att testa.
Förfarande kring testning är dock planerad och målet är att genomföra mer genomgående testning under transition-fasen.