Big overhaul of the installer, partially based on the #53 commit from LexSong.
The following is new :
- Conda has been replaced with MicroMamba, allows the dependencies to automatically download the best version of Python and prevents all the issues with people failing to download conda.
- The installer now has more options so you can choose not to delete the existing files, and it has new optional virtual K: drive support to bypass all the pathing issues people are having (Sorry Windows 7 users, its still not compatible even now).
- Docker support for Linux systems has been added including ROCm support.
- Environment files are now used to more easily keep everything on track, and to allow conda users to manually create environments across all operating systems (ROCm is an outlier in this because i have to use AMD's Pytorch docker for now it was to much hassle getting their Conda to use the environment file to add it to this commit).
- Play.bat has been changed to allow the virtual drive support, everything should still be compatible with old installations as I kept all the paths intact.
This PR does three things when loading a story from within the browser:
1. Prevents an error if a story file is not valid JSON.
2. Catches an error is a file is JSON, but lacks an actions property.
3. Replaces getcwd() and instead uses the path of the script file itself in case someone does not start the app from the current working directory.
No more manually forcing CUDA to be 11, instead we use conda-forge.
This will pull down a lot more recent versions of pretty much everything, and fixes errors in the GPT-J models that cropped up on the older versions of the dependencies.
I changed the menu order around because Finetuneanon's version is better for most users and needed for 6B.
The github branch it downloads for finetune is updated, and it can now fix the download path length errors if ran as admin.
This changes the installation script to use Miniconda3 inside the KoboldAI directory, this is MUCH more user friendly for the users.
Any existing python environment will be bypassed, and other dependencies like CUDA automatically installed with compatible versions.
With this approach we can better ensure that end users have the correct environment and won't run into other issues because of their existing installations, it also prevents the need for them to install anything else on their system as anything required is automatically downloaded.
Added ability to import World Info files from AI Dungeon.
Added slider for setting World Info scan depth.
Added toggle to control whether prompt is submitted each action.
Added 'Read Only' mode with no AI to startup.
Fixed GPU/CPU choice prompt appearing when GPU isn't an option.
Added error handling to generator calls for CUDA OOM message
Added generator parameter to only return new text
Added in-browser Save/Load/New Story controls
(Force a full refresh in your browser!)
Fixed adding InferKit API key if client.settings already exists
Added cmd calls to bat files so they'll stay open on error
Wait animation now hidden on start state/restart
Improvements to pruning context from text returned from the AI
Colab errors should no longer throw JSON decode errors in client
Improved logic for World Info scanning
Fix for index error in addsentencespacing
Expanded bad_word flagging for square brackets to combat Author's Note leakage
World Info should now work properly if you have an Author's Note defined
Set generator to use cache to improve performance of custom Neo models
Added error handling for Colab disconnections
Now using tokenized & detokenized version of last action to parse out new content
Updated readme
Added square bracket to bad_words_ids to help suppress AN tag from leaking into generator output
Added version number to CSS/JS ref to address browser loading outdated versions from cache