Commit Graph

866 Commits

Author SHA1 Message Date
Gnome Ann a327eed2c3 Fix editor scrolling issues 2021-09-27 17:44:22 -04:00
henk717 01339f0b87
Merge branch 'KoboldAI:main' into united 2021-09-25 17:44:51 +02:00
Gnome Ann 5893e495b6 Change AutoModel to AutoModelForCausalLM
This fixes breakmodel mode for the official models from the model
selection menu.
2021-09-25 11:41:15 -04:00
henk717 c9290d02dc Update aiserver.py
Better way of checking for the model type
2021-09-25 16:50:24 +02:00
henk717 7d35f825c6 Huggingface GPT-J Support
Finetune's fork has unofficial support which we supported, but this is not compatible with models designed for the official version. In this update we let models decide which transformers backend to use, and fall back to Neo if they don't choose any. We also add the 6B to the menu and for the time being switch to the github version of transformers to be ahead of the waiting time. (Hopefully we can switch back to the conda version before merging upstream).
2021-09-25 16:26:17 +02:00
Gnome Ann 4d9eab3785 K80 test 2021-09-23 20:57:18 -04:00
henk717 6520cac75d
Support models that are formatted with CRLF
A new model was released that uses a different formatting for its enters, this causes to many enters in the UI. In this change we fix the issue so that when this happens the UI still displays the content as you would expect. Removing the formatting burden from the Model developers.
2021-09-22 00:34:05 +02:00
henk717 30a7e945a1
Merge pull request #18 from VE-FORBRYDERNE/doc
Correct misindicated model VRAM requirements
2021-09-21 18:54:19 +02:00
henk717 dd1c3ab67e Allow models to set formatting defaults
Originally omitted when model settings were forced. Now that models can only define the defaults for KoboldAI its a good idea to give model authors control over what formatting they think works best for their models.
2021-09-21 15:46:54 +02:00
Gnome Ann bbf2bd4026 Correct misindicated model VRAM requirements 2021-09-20 18:49:17 -04:00
Gnome Ann 8df2ccae5b Update client-side story name when saving
If you save a story as a different name than it was loaded with, and
then try to download it as JSON/plaintext, the downloaded file's name
will now match the new story name.
2021-09-19 23:40:52 -04:00
Gnome Ann 99d2ce6887 Don't broadcast getanote and requestwiitem
This prevents duplicate submissions when multiple people are connected
to the same server and one person submits changes to memory, author's
note or world info, by pressing Submit (for author's note or memory) or
Accept (for world info).
2021-09-19 17:00:14 -04:00
Gnome Ann da03360e92 Fix filename/memory/AN not syncing when downloading in some cases 2021-09-19 14:46:30 -04:00
Gnome Ann b5883148a5 Download Story as JSON/Plaintext no longer requires server 2021-09-19 11:41:37 -04:00
henk717 b264823fed More polishing
Improved the default settings, better distinction on client / server. The python parts have been renamed to server, the browser to the client to be conform what you'd expect from a client and a server. The model name will also be shown now instead of NeoCustom.
2021-09-18 21:50:23 +02:00
henk717 1df051a420 Settings per Model
Models can no longer override client settings, instead settings are now saved on a model per model basis with the settings provided by the model being the default. Users can also specify the desired configuration name as a command line parameter to avoid conflicting file names (Such as all Colabs having Colab.settings by default).
2021-09-18 21:18:58 +02:00
henk717 fbd07d82d7 Allow models to override some settings
Many models have that one setting that just work best, like repetition penalty 2 or 1.2 while being incompatible with existing settings. Same applies for Adventure mode on or off. With this change models are allowed to override user preferences but only for the categories we deem this relevant (We don't want them to mess with things like tokens, length, etc). For users that do not want this behavior this can be turned off by changing msoverride to false in the client.settings.

Model creators can specify these settings in their config.json with the allowed settings being identical to their client.settings counterparts.
2021-09-18 18:08:50 +02:00
henk717 a651400870 Readme improvements, badwords replacement
Bit of a workaround for now, but the [ badwords search routine has been replaced with a hardcoded list used by the colabs. This is far more effective at filtering out artifacts when running models locally. We can get away with this because all known models use the same vocab.json, in the future we will probably want to load this from badwords.json if present so model creators can bundle this with the model.
2021-09-18 02:16:17 +02:00
henk717 753177a87e Further Readme Progress
More model descriptions, the beginning of the downloadable model section. Lacks download links for now.
2021-09-17 17:59:17 +02:00
henk717 6668bada47 New documentation
Replaces the placeholder readme with a proper one, the menu is also updated and reorganized to encourage users to use custom models and to better reflect the real world VRAM requirements.
2021-09-02 14:04:25 +02:00
Gnome Ann 24d57a7ac3 Clip off ".json" from story name when downloading 2021-09-01 14:07:56 -04:00
Gnome Ann 7e1b1add11 Don't import breakmodel until it's actually needed
breakmodel imports torch which takes a long time to import.
We should delay the importing of torch as long as possible.
2021-09-01 14:04:37 -04:00
Gnome Ann 6bd6415749 Prevent remote-mode-forbidden actions server-side
Since some user interface buttons are disabled while in --remote mode,
they should also be disabled in aiserver.py so a malicious user can't
manually send those commands to the server.
2021-09-01 13:55:25 -04:00
Gnome Ann 8ae9304cda Clean up code for saving story as plaintext 2021-09-01 13:49:04 -04:00
Gnome Ann 543acf9ba4 Also allow downloading stories as plaintext 2021-09-01 13:46:37 -04:00
Gnome Ann fab51b64a3 Don't leave memory mode when downloading 2021-09-01 13:36:05 -04:00
Gnome Ann b5d9aaf785 Remember to actually import "Response" from flask 2021-09-01 13:31:05 -04:00
Gnome Ann 4e9b371564 Merge branch 'united' into story-manager 2021-09-01 13:25:28 -04:00
Gnome Ann 16184ceee8 Catch and display errors from "Save As" 2021-09-01 12:58:01 -04:00
henk717 4151fd1b6a Save story in plain text along the save
Not just saving in .json but also in plain text, should help story writers get their stories out more easily. Especially since they can technically add some markdown into their stories manually in the interface.
2021-09-01 17:41:18 +02:00
henk717 9b3e298089
Foundation for in browser downloading
This adds /download as a URL to immediately download the file, this will allow html changes that initiate a file download.
2021-09-01 15:58:56 +02:00
Gnome Ann c276220a35 Allow deleting and renaming stories in the browser 2021-08-31 18:22:30 -04:00
Gnome Ann 63a4048053 Remove typing.Literal (a Python 3.8+ feature) 2021-08-26 15:38:58 -04:00
Gnome Ann 75c68c2b78 Fix world info depth being ignored 2021-08-26 12:50:17 -04:00
Gnome Ann d7605a717b Merge branch 'united' into big-o
This resolves two merge conflicts that arose because this branch was
a few commits behind.
2021-08-26 01:37:40 -04:00
Gnome Ann 8fd8612cca Adventure mode colouring now controlled by a CSS class
So that we can just toggle the class instead of having aiserver.py send
back the entire story.
2021-08-26 01:06:57 -04:00
Gnome Ann 27c7baab92 Prevent some errors when the prompt is the only chunk 2021-08-25 23:58:12 -04:00
Gnome Ann b0d64985bb Fix Retry and Back buttons popping the wrong chunk 2021-08-25 19:56:57 -04:00
henk717 bbd5bd0cd7
Merge pull request #8 from VE-FORBRYDERNE/misc
General usability fixes
2021-08-26 01:56:42 +02:00
Gnome Ann 796f5ffd05 Make vars.actions a dictionary instead of a list 2021-08-25 19:28:26 -04:00
Gnome Ann 6dcd7888c8 Change "recieved" to "received" 2021-08-25 14:55:26 -04:00
Gnome Ann c3528e6221 Retry after Back no longer pops an extra story chunk 2021-08-25 14:54:51 -04:00
Gnome Ann cf677c60fc Stability fixes for back/retry re genseqs/useprompt
* Back and Retry buttons no longer pop a story chunk while in the
  "Select sequence to keep" menu
* No longer freezes if you retry with no story chunks beyond the initial
  prompt chunk
* When "Always Add Prompt" is on, allow Retry even if the prompt is the
  only chunk in the story
* Added error messages for Back and Retry buttons
2021-08-25 14:42:37 -04:00
henk717 d848d03d60
Merge pull request #7 from VE-FORBRYDERNE/wi-constant
Constant world info keys
2021-08-25 20:14:19 +02:00
henk717 3da0c3d24a Remote improvements
Some colab's use KoboldAI as a subprocess, rather than making that to complicated for Colab developers its better to just dump the Cloudflare link to a log, in addition to showing the message on screen. That way if KoboldAI itself gets filtered you can easily cat the link or use the existing link grabbing methods.
2021-08-25 13:57:38 +02:00
Gnome Ann b1c6aee8d3 Integrate inline chunk editor and Adventure mode with Javalar's branch 2021-08-24 19:02:52 -04:00
Gnome Ann 735fc9431b Still HTML-escape chunks if Adventure is off
(cherry picked from commit 3409d8c12e3fbb1e3232f2df82740b012e8f3604)
2021-08-24 18:46:34 -04:00
Gnome Ann 09030573e5 Broadcast updatechunk and removechunk 2021-08-24 18:40:12 -04:00
Gnome Ann 6d5845ff8d Merge https://github.com/KoboldAI/KoboldAI-Client/pull/45 into big-o 2021-08-24 17:27:50 -04:00
Gnome Ann 2a7c6244cb Constant world info keys 2021-08-24 13:45:20 -04:00
Gnome Ann 90e558cf3f Won't freeze anymore if you delete the prompt 2021-08-24 11:24:29 -04:00
henk717 f0962155b8
Merge pull request #5 from VE-FORBRYDERNE/editable-chunks
Scroll down on submit
2021-08-24 01:22:57 +02:00
Gnome Ann 13ce16b859 Scroll down on submit 2021-08-23 19:19:36 -04:00
henk717 c108e080bf Various Fixes
Various Fixes, mostly to make the UI play a little nicer in the new edit mode. Also reverted and optimized some of the setting stuff.
2021-08-24 01:18:09 +02:00
Gnome Ann 3bf467e63c Added dedicated inline editing commands to aiserver.py
It's a lot faster now.
2021-08-23 18:52:45 -04:00
henk717 a151e1a33a Small fix for Authors Notes in multiplayer
Multiplayer support was causing all players to automatically submit authors notes. This is now fixed only the person submitting the authors notes counts.
2021-08-22 15:54:35 +02:00
henk717 09ec15c91b
Merge pull request #3 from VE-FORBRYDERNE/breakmodel
Low VRAM patch
2021-08-21 21:03:46 +02:00
Gnome Ann 3c9ce2c541 Use torch.no_grad() and more garbage collection 2021-08-21 12:15:31 -04:00
Gnome Ann fae15b8a17 Fix typo in previous commit 2021-08-21 10:54:57 -04:00
Gnome Ann a8bbfab87a Actually use args.breakmodel_layers 2021-08-20 20:50:03 -04:00
Gnome Ann e00d9c4362 breakmodel fix for models without lm_head 2021-08-20 19:32:18 -04:00
Gnome Ann 8bfcf86a8b Fix for non-rotary models without "rotary" in config.json 2021-08-20 13:00:53 -04:00
henk717 68836728d4 Update World Info on Submit
Still VERY far from ideal for multiplayer, only one person can realistically edit it at a time. Whoever submits counts. Will need more major interface changes so things can be submitted one by one. But hey, it works and its good enough for a group of friends to play the game :D
2021-08-20 17:51:49 +02:00
Gnome Ann 56c9dc2c04 Fix "Expected all tensors to" on non-rotary models
Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking arugment for argument index in method wrapper_index_select)
2021-08-20 11:34:31 -04:00
Gnome Ann 5f82e5ba0d Also clear CUDA cache twice if using breakmodel 2021-08-20 11:17:34 -04:00
Gnome Ann f986c65a4e Manually strip and decode tokens if not using a pipeline 2021-08-20 11:15:32 -04:00
Gnome Ann 7717168676 Only allow --breakmodel if it's supported 2021-08-20 10:52:57 -04:00
Gnome Ann b1c13f832a Implement arrmansa's low VRAM patch 2021-08-20 10:25:03 -04:00
henk717 f12e3576a8 Multiple Browser Session Syncing
Multiplayer anyone? :D
2021-08-20 15:32:02 +02:00
henk717 dd77ac2f3a GPU detection bugfix 2021-08-20 12:30:52 +02:00
henk717 99c5ff240c Command Line Part 2
Automated Colab and GPU selection
2021-08-20 11:39:04 +02:00
henk717 ba20c3407c Command line support
Added command line options for model selection, this makes it usable inside Google Colab or other unattended servers people might want to use/provide.
2021-08-20 10:49:35 +02:00
henk717 136dd71171 Added --remote Mode
First step towards native Colab support, built in Cloudflare tunnels easily allows players to play KoboldAI on another device. This mode also removes buttons that would get you stuck if you have no local PC access.
2021-08-20 00:37:59 +02:00
henk717 72bfc417da top_k and tfs support by Frogging101
Adds top_k and tfs support, also fixes a SocketIO error.
2021-08-19 14:47:57 +02:00
henk717 33215a87b3 Added VE_FORBRYDERNE's Selective World Info
This update allows you to selectively choose when World Info is loaded for more control and RAM savings.
2021-08-19 13:48:33 +02:00
henk717 00414d26e2 Integrated VE_FORBRYDERNE's Adventure Mode + Cleanup
Adventure Mode allows you to play this like AID, perfect for Choose your own Adventure models
2021-08-19 13:18:01 +02:00
henk717 efbe40f1f6 Random Story Generator
Add the Random Story Generator and more userfriendly defaults
2021-08-19 12:54:44 +02:00
Yves Dubois 81aba7cba8 Fix typo 2021-06-15 01:02:11 -04:00
Javalar 9559347f82
Update or remove targeted chunks in Game Screen (#2) 2021-06-15 00:59:08 -04:00
Ralf e9b62cd3ae escape the prompt too 2021-06-02 21:23:36 +02:00
KoboldAI Dev 1e95f7e1a5 Hotfix: HTML escaped story output. Shodan can no longer run JS popups in your browser. 2021-06-02 09:01:13 -04:00
Yves Dubois 4cb3df5e7e Performance increase for `refresh_story` on large stories 2021-05-29 21:36:24 -04:00
KoboldAI Dev 65ad0e01e3 Bugfix for InferKit submit failing when starting new story. 2021-05-29 20:43:30 -04:00
KoboldAI Dev bed1eba6eb Added option to generate multiple responses per action.
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
2021-05-29 05:46:03 -04:00
KoboldAI Dev f9bbb174a6 Added OpenAI API support
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
2021-05-22 05:28:40 -04:00
KoboldAI Dev 4996e0ff46 Bugfixes:
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
2021-05-18 17:59:59 -04:00
KoboldAI Dev 3d070f057e Bugfixes:
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
2021-05-17 20:28:18 -04:00
ioncorimenia 0e855ef1d8 Catch some edge cases when importing 2021-05-17 16:00:32 +02:00
KoboldAI Dev 95cb94e979 Compatability update for latest AIDCAT export format 2021-05-16 17:45:21 -04:00
KoboldAI Dev ce2e4e1f9e Switched aidg.club import from HTML scrape to API call
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
2021-05-16 14:53:19 -04:00
KoboldAI Dev 47f1f7a85b Corrected requests import location for aidg.club support 2021-05-16 05:37:38 -04:00
KoboldAI Dev b05a73a04f Added ability to import aidg.club scenarios
Changed menu bar to bootstrap navbar to allow for dropdown menus
2021-05-16 05:29:39 -04:00
KoboldAI Dev 2cef3bceaf Bugfix for save function not appending .json extension by default
Bugfix for New Story function not clearing World Info from previous story
Torch will not be initialized unless you select a local model, as there's no reason to invoke it for InferKit/Colab
Changed JSON file writes to use indentation for readability
2021-05-15 19:29:41 -04:00
KoboldAI Dev 429c9b13f5 Bug fixes for AIDCAT import issues.
Modified CSS to prevent Import dialog from expanding off the page.
Updated readme with Colab link.
2021-05-14 16:27:47 -04:00
KoboldAI Dev 5d53f1a676 It helps if you commit all the files in the bugfix 2021-05-14 02:39:36 -04:00
KoboldAI Dev c9b6f89d1d Hotfix for Google Colab generator call failing if when called from a fresh prompt. 2021-05-13 23:30:54 -04:00
KoboldAI Dev 3c0638bc73 Added support for running model remotely on Google Colab 2021-05-13 18:58:52 -04:00
KoboldAI Dev 0b113a75b4 Hotfix for tokenizer modifying spaced ellipses and breaking new text recognition. 2021-05-13 09:35:11 -04:00
KoboldAI Dev c0736a8ec7 Added World Info
Added additional punctuation triggers for Add Sentence Spacing format
Added better screen reset logic when refresing screen or restarting server
2021-05-13 01:26:42 -04:00
KoboldAI Dev fff77c5a88 Hotfix for top_p parameter in generator call 2021-05-11 14:16:34 -04:00
KoboldAI Dev 1cc069a779 Added ability to import AIDungeon games from AIDCAT 2021-05-11 00:27:34 -04:00
KoboldAI Dev b55266a7c8 Added Formatting options
Added Bootstrap toggle library for UI
Added injection points for input/output modification
2021-05-10 19:17:10 -04:00
KoboldAI Dev 0e0947d93a Bugfix: Add apikey check to loadsettings 2021-05-10 09:33:41 -04:00
KoboldAI Dev 739a8a5268 Bugfix: Check for keys in client.settings before attempting to access 2021-05-10 09:26:31 -04:00
KoboldAI Dev ba1ba0fc8a Reduced default max_length parameter to 512.
Added warning about VRAM usage to Max Tokens tooltip.
2021-05-07 19:04:51 -04:00
KoboldAI Dev d632976fbf Settings menu modularized.
Help text added to settings items.
Settings now saved to client file when changed.
Separated transformers settings and InferKit settings.
Reorganized model select list.
2021-05-07 14:32:10 -04:00
KoboldAI Dev a27d5beb36 Replaced easygui with tkinter to address file prompts appearing beneath game window
Removed easygui from requirements.txt
Save directory is no longer stored in save file for privacy
2021-05-05 11:18:24 -04:00
KoboldAI Dev 229b10cb91 Added support for Author's Note
Increased input textarea height
Removed generator options from save/load system
Set output length slider to use steps of 2
2021-05-05 03:04:06 -04:00
KoboldAI Dev 0ce77f4875 Fixed InferKit API requests sending a default top_p value instead of the user-selected value 2021-05-04 11:48:24 -04:00
KoboldAI Dev 6e54f654d6 Added settings menu to adjust generator parameters from game UI
Fixed text scrolling when content exceeded game screen height
2021-05-04 09:56:48 -04:00
KoboldAI Dev 1c9c219251 Added support for selecting custom trained models 2021-05-04 01:47:23 -04:00
KoboldAI Dev 734b0b54d4 Added VRAM requirements info to model list
Added ability to opt for CPU gen if you have GPU support
Added better error checking to model selection
2021-05-03 15:19:03 -04:00
KoboldAI Dev 1214062292 Fixed Max Length limits not being enforced for transformers & InferKit 2021-05-03 13:57:27 -04:00
KoboldAI Dev ace2b2db12 Fixing GPU support broke CPU support. Now testing for capabilities before creating pipeline 2021-05-03 00:24:16 -04:00
KoboldAI Dev 97ad42efe6 Added device selection to transformers pipeline request to utilize GPU for inference 2021-05-02 23:34:33 -04:00
KoboldAI 7476163494
Initial Upload 2021-05-02 18:46:45 -04:00