Commit Graph

428 Commits

Author SHA1 Message Date
Cohee 8bf18891b3 Add data model field for WI entry group 2023-12-04 18:47:35 +02:00
valadaptive 3931f791b2 Move parsers into express-common module
This will allow endpoint modules to import them themselves, instead of
requiring server.js to pass them in.
2023-12-04 10:25:40 -05:00
valadaptive 4919a2e9a2 Move endpoints into their own folder 2023-12-04 10:24:21 -05:00
valadaptive 24546621e3 Move endpoints into their own folder 2023-12-04 10:12:27 -05:00
valadaptive ebde9c2c1f Copy chat_completion_sources enum to server code 2023-12-03 15:04:01 -05:00
valadaptive e33c8bd955 Replace use_[source] with chat_completion_source
Same as the is_[api] replacement--it's easier to have one enum field
than several mutually-exclusive boolean ones
2023-12-03 15:03:39 -05:00
valadaptive a68505e857 Copy textgen-types enum to server code 2023-12-03 15:00:25 -05:00
valadaptive ba54e3dea0 Replaces is_[api] params with api_type param
These were 5 mutually-exclusive booleans, which can be replaced with one
param that takes on 5 values, one for each API type.
2023-12-03 14:56:01 -05:00
Cohee 45df576f1c Re-add default presets for content manager 2023-12-03 15:07:21 +02:00
Cohee b09ebb240e Phaseout JSON5 2023-12-03 14:04:43 +02:00
Cohee 64a3564892 lint: Comma dangle 2023-12-02 22:06:57 +02:00
Cohee c63cd87cc0 lint: Require semicolons 2023-12-02 21:11:06 +02:00
valadaptive a37f874e38 Require single quotes 2023-12-02 13:04:51 -05:00
valadaptive 518bb58d5a Enable no-unused-vars lint
This is the big one. Probably needs thorough review to make sure I
didn't accidentally remove any setInterval or fetch calls.
2023-12-02 12:11:19 -05:00
valadaptive 97c49a405b Enable no-extra-boolean-cast lint 2023-12-02 10:32:26 -05:00
valadaptive 0a27275772 Enable no-extra-semi lint 2023-12-02 10:32:26 -05:00
valadaptive 60ac1aa1c7 Enable no-empty lint 2023-12-02 10:32:07 -05:00
valadaptive 8c89f373fa Enable no-irregular-whitespace lint
A couple comments contained non-breaking spaces (I think), which I
replaced with regular spaces.
2023-12-02 10:32:07 -05:00
Cohee bac43a2131 Add CORS proxy placeholder 2023-12-02 16:04:30 +02:00
Cohee 4f05d872f4
Merge pull request #1423 from bdashore3/staging
Fix the CORS proxy again
2023-12-02 16:00:35 +02:00
Cohee a1754c7192
Update server.js 2023-12-02 15:32:09 +02:00
valadaptive 4c4e4caeb7 Pass in Kobold Classic API server url from client 2023-12-02 04:45:20 -05:00
kingbri 641cd614c8 Server: Fix CORS proxy with POST requests and status codes
POST requests always sent an undefined body without the bodyParser
middleware which isn't included with express by default. Add this
as a new dependency and inject it into the express app. This middleware
will also be useful for any other middleware that we might create.

Also properly send status codes and messages to the client so they
can be handled properly.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-12-02 01:43:09 -05:00
Cohee e9ad55aef2 Add seed input field for OpenAI settings #1412 2023-11-30 02:54:52 +02:00
Cohee 19df1f52cd Vector storage file retrieval 2023-11-30 00:01:59 +02:00
Cohee e541c2b186 #1412 Add randomized user ids to OpenAI 2023-11-29 00:11:10 +02:00
kingbri 735c4e7268 Server: Fix CORS proxy with URLs
Using slashes completely stripped the rest of the URL. Fix that.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-27 00:17:07 -05:00
Cohee 87108421b3 Add default config values 2023-11-26 13:13:44 +02:00
Cohee a7024a1d34 Migrate to config.yaml 2023-11-25 23:45:33 +02:00
Cohee b24d4f2340 Add opt-in CORS bypass endpoint 2023-11-25 21:56:57 +02:00
RossAscends 0b9555234e sort ChatCompletion presets by name 2023-11-24 17:15:39 +09:00
kingbri e445aeec14 Tabby: Fix model name return on error
Tabby's model API is always /v1/model/list, so return "None" if the
request fails since that means a model is most likely not loaded.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-23 00:13:28 -05:00
Cohee df4ed389bf System prompt for Claude 2 2023-11-21 22:11:26 +02:00
Cohee 96b87641ca Add OpenAI Whisper API 2023-11-19 20:30:34 +02:00
Cohee 96caddfd71 Add koboldcpp as Text Completion source 2023-11-19 17:14:53 +02:00
Cohee 53c3fc16c1 Assorted SD fixes 2023-11-19 00:40:21 +02:00
LenAnderson e520a50de2 add autorun command line argument 2023-11-18 00:09:42 +00:00
kingbri 5f8c615981 Server: Fix model info logs
Don't use a formatted string.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 15:01:13 -05:00
kingbri f7ed574d04 Tabby: Decouple combined conditionals
Done by request.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 14:51:44 -05:00
kingbri 4cfa267b1b API Tokenizer: Add support for TabbyAPI
Use Tabby's /v1/token endpoints.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 01:48:03 -05:00
kingbri f31b996cb5 Text Generation: Add TabbyAPI support
TabbyAPI is an exllamav2 only API server that aims to provide a simple
experience for loading and chatting with exl2 models.

SillyTavern currently doesn't have the ability to load and unload models,
so only add the OAI compatible completion endpoints.

The repository can be found here:
https://github.com/theroyallab/tabbyAPI

Signed-off-by: kingbri <bdashore3@proton.me>
2023-11-17 00:37:39 -05:00
Cohee 3fb26d3927 Add lazy loading of sentencepiece tokenizers 2023-11-15 19:39:55 +02:00
Cohee 5b5e42361a Fix chat backups saving with incorrect file extension 2023-11-15 01:06:27 +02:00
Cohee 5fe8f70eb1 #1345 Add API endpoint for web search interaction 2023-11-14 00:16:41 +02:00
Cohee 7afe9e6481 #1343 Add status check bypass 2023-11-12 13:23:46 +02:00
Cohee 4c0b3fb7ae Add null checks for OR pricing 2023-11-12 13:07:57 +02:00
Cohee abe4bb6d54 Add error handling for empty Palm response 2023-11-10 15:55:49 +02:00
Cohee 81fe9aa699 Fix updated tokenization via ooba API 2023-11-09 19:39:08 +02:00
Cohee 3780321ae6 Fix ooba model name displaying as turbo 2023-11-09 19:27:19 +02:00
Cohee 0e89bf90bc Use correct tokenizers for logit bias for Mistral and Llama models over OpenRouter 2023-11-09 01:03:54 +02:00
Cohee 76b8880972 Normalize response statuses 2023-11-08 23:20:55 +02:00
Cohee 480099ee97 Mancer will work in legacy API mode. Remove Soft Prompt mentions. 2023-11-08 18:16:47 +02:00
Cohee 4f1dbaa34b Remove /v1 from the ooba API URLs 2023-11-08 17:09:33 +02:00
Cohee 740f6548a2 Increase timeouts of OAI out of quota requests 2023-11-08 12:07:14 +02:00
Cohee e76c18c104 Legacy ooba API compatibility shim 2023-11-08 10:13:28 +02:00
Cohee 865256f5c0 Fix ooba tokenization via API. Fix requiring streaming URL to generate 2023-11-08 03:38:04 +02:00
Cohee b2629d9718 Refactor status checks and indicators. 2023-11-08 02:52:03 +02:00
Cohee 00a1eaab28 Add timeout for status check 2023-11-08 01:47:31 +02:00
Cohee 2c7b954a8d #1328 New API schema for ooba / mancer / aphrodite 2023-11-08 00:17:13 +02:00
Cohee 2d2ff5230c
Merge pull request #1318 from artisticMink/feature/bulk-edit-enhanced
Feature/bulk edit enhanced
2023-11-07 20:47:06 +02:00
Cohee 1896732f17 Add DALL-E to OpenAI plugin 2023-11-06 21:47:00 +02:00
artisticMink c584da2ea9 Accept both v1 and v2 spec for editcharacterattributes endpoint 2023-11-06 16:13:34 +01:00
artisticMink 42d838a0b3 Refactor TavernCardValidator error property 2023-11-06 16:13:34 +01:00
artisticMink 6eb6527d11 Prototyping 2023-11-06 16:13:34 +01:00
Cohee f10833a516 Add prompt format override for OpenRouter 2023-11-03 00:34:22 +02:00
RossAscends 75c6e74d41 support for min P on Kobold API 2023-11-02 14:53:57 +09:00
Cohee 922007ea25 #1294 Fix selective logic for embedded lorebooks 2023-10-28 12:28:03 +03:00
Cohee 24f406917d Add seed to Kobold APi 2023-10-26 21:22:00 +03:00
Cohee 51d2c9feba Add UI option for group gen strategy 2023-10-25 22:39:31 +03:00
Cohee 5dbe2ebf29 Add chat file backups 2023-10-24 22:09:55 +03:00
Cohee 18fa925855 Use named constant 2023-10-21 23:33:17 +03:00
Cohee ca73a3a7b7 Merge branch 'release' into staging 2023-10-21 15:06:19 +03:00
Cohee 008fcece04 Rewrite to sync readdir, add try-catch, filter out invalid files 2023-10-21 15:04:36 +03:00
Xrystal 1d38109dcf Use JSON instead of json5 2023-10-21 18:56:51 +08:00
Xrystal 6f0f420063 Promisify getallchatsofcharacter 2023-10-21 18:55:52 +08:00
Cohee b167eb9e22 Add raw token ids support to OAI logit bias. Fix token counting for turbo models 2023-10-19 13:37:08 +03:00
Cohee 6a1b230c7e #1226 Add chat-bound lorebooks 2023-10-16 23:03:42 +03:00
Cohee 8a3547ecd0 #1248 Fix a server crash on unexpected models response 2023-10-16 20:25:51 +03:00
majick 89d7a05ea7 Missed a spot 2023-10-14 20:08:45 -10:00
majick a9ebd2f80e Make v2 spec read logspam slightly actionable
The existing logspam doesn't even tell the user what char is failing, which means it's
just going to emit every startup, forever, grinding at the poor user's soul, never
letting them know *which* of their 352 cards is causing the spam... day after day after
day.  Until one day, the poor beleaguered user will emit the world's ugliest PR to at
least find the broken card in an attempt kill it.

Ask me how I know.
2023-10-14 17:41:23 -10:00
50h100a 6e78ec11fb Check for errors on the `stream_end` event 2023-10-10 18:04:28 -04:00
Cohee 15c81749b8 Filter out invalid/broken characters 2023-10-09 19:17:49 +03:00
Cohee 0873d3eaf9 Filter out invalid/broken characters 2023-10-09 19:09:33 +03:00
Cohee d265179f46 Don't crash ST server on invalid streaming URL 2023-10-08 23:42:28 +03:00
Cohee f8b5fe8b1e Add Character note to char.card embeds 2023-10-04 22:13:56 +03:00
Cohee bb47712696 Split oobabooga/mancer sources. Add aphrodite support 2023-09-28 19:10:00 +03:00
Cohee 01f14b461f Fix embedded lorebook depths 2023-09-25 20:11:16 +03:00
Cohee a081f78bd8 (WIP) PaLM API 2023-09-23 20:48:56 +03:00
city-unit cd1a8c9224 Quick and dirty stat re-creator button 2023-09-21 17:34:09 -04:00
kalomaze ad9382a98c
Custom --grammar support [for koboldcpp] (#1161)
* Basic kobold grammar implementation

This is probably jank as all hell, I don't write js, but I think I got it to work.

* No value by default

* Visual cleanup

+ reworded it a bit

* Conditionally enable Grammar based on version flag. Fix layout

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2023-09-21 15:21:59 +03:00
Cohee e3f760a9dd Add assistant postfix to converted ChatML => text completion prompts. 2023-09-20 21:50:14 +03:00
Cohee 11e7ca76e1 Use simpleGit to get app version 2023-09-17 14:27:41 +03:00
Cohee bfdd071001 Move tokenizer endpoint and functions to separate file 2023-09-16 18:48:06 +03:00
Cohee ab9aa28fe4 Move missed endpoints 2023-09-16 18:03:31 +03:00
Cohee 61995bb33f Move preset management into a separate file 2023-09-16 17:36:54 +03:00
Cohee 38b63b07f5 Extract sprite and custom content endpoints to a separate files. Update constants references 2023-09-16 17:28:28 +03:00
Cohee 4e1630c17d Extract endpoints for secrets and assets to separate files 2023-09-16 16:39:07 +03:00
Cohee 6e562bd1ff Extract server endpoints for thumbnails and extensions into separate files 2023-09-16 16:16:48 +03:00
Cohee 6dd09858d4 Don't remove names from the past chat. Fix non-streaming auto-continue.
We took fair criticism from the NovelAI dev.
2023-09-15 23:32:01 +03:00
Cohee eaca6ddaf0 Don't try to resolve unknown tiktoken models 2023-09-15 19:31:17 +03:00
Cohee 599904d589 Move NovelAI endpoints to separate file 2023-09-15 17:54:13 +03:00
Cohee 0f1a0963fd Merge branch 'release' into staging 2023-09-15 15:06:13 +03:00
Cohee 2b3055a84a Webp cards format is no longer supported 2023-09-15 14:56:15 +03:00
Cohee 0cc048cb64 Refactor transformers.js usage 2023-09-14 23:12:33 +03:00
Cohee 9fb4b3425e Costume subfolders 2023-09-14 19:12:54 +03:00
Cohee 52891898d2 Pass max length to Kobold GUI settings 2023-09-14 18:20:12 +03:00
Cohee ece34dc337 Move default files creation to post-install 2023-09-14 14:21:38 +03:00
Cohee 66ec17620f Move Horde and SD endpoints into separate files 2023-09-12 20:45:36 +03:00
Cohee f149fc9aaa Endpoint for local captioning pipeline 2023-09-11 04:47:14 +03:00
Cohee 74d627f674 Set default DNS resolution order to IPv4 first 2023-09-10 19:03:18 +03:00
Cohee 599261dc31 Set default DNS resolution order to IPv4 first 2023-09-10 19:02:58 +03:00
Cohee 4fdc533bd7 Change net workaround for node 20 2023-09-10 18:23:50 +03:00
Cohee d17ac770e6 Change net workaround for node 20 2023-09-10 18:22:39 +03:00
Cohee ec23356c99 Move translation endpoints into a separate file 2023-09-10 16:41:36 +03:00
Cohee 98cc969d18 Merge branch 'staging' into vectors 2023-09-10 16:06:15 +03:00
Cohee d81c94de0b Fix sort by date 2023-09-10 14:30:29 +03:00
Cohee e2e32da4e6 Unrestrict console logs display limit 2023-09-10 04:12:14 +03:00
Cohee 0480acebcd #1059 Mancer model selector 2023-09-10 04:08:32 +03:00
Cohee b605b940eb Replace transformers.js with patched version 2023-09-09 16:29:11 +03:00
Cohee 967a084aad (WIP) Local emotion classification pipeline 2023-09-09 15:14:16 +03:00
Cohee 42fd317188 Merge branch 'staging' into vectors 2023-09-08 16:41:26 +03:00
Cohee a5acc7872d Add OpenAI vector source. 2023-09-08 13:57:27 +03:00
Cohee 3abee9e37a
Merge pull request #1115 from SillyTavern/release
Release
2023-09-08 12:48:37 +03:00
ThisIsPIRI a96aad6073 Make API tokenization work again for ooba 2023-09-08 18:31:30 +09:00
Cohee b5a6257352 Forgot that groups exist 2023-09-08 10:51:59 +03:00
Cohee 8c00f38a1f Add local vectors storage 2023-09-07 21:53:47 +03:00
Cohee e681f1f36f #1069 Fix sort by date for v2 cards 2023-09-06 20:59:59 +03:00
Cohee ded1e3a859 Add NAI Diffusion upscaling. Add Anlas guard and view Anlas button 2023-09-04 18:00:15 +03:00
Cohee f69aa07ec1 Fix background URI encoding 2023-09-04 02:51:39 +03:00
Cohee 3e1815f599 Fix [BUG] Card sorting is broken #1069 2023-09-03 18:52:04 +03:00
Cohee e8545db9a5 Fix the last of type errors 2023-09-03 18:37:52 +03:00
Cohee a26e8ef455 #1084 Fix dupe char suffix 2023-09-03 15:18:23 +03:00
Cohee ce2c2b0dac Add AUTO1111 upscaling controls 2023-09-03 14:56:02 +03:00
Cohee e4e02c69f3 Fix post-crop image resize with "Never resize avatars" enabled 2023-09-03 01:39:28 +03:00
Cohee ef69dcd502 Add auth support for AUTO1111 2023-09-03 01:19:31 +03:00
Cohee e3e6fa2218 Connect to AUTO111 without Extras. Add NAI Diffusion. 2023-09-03 00:41:26 +03:00
rbmj 6c097560ca
goodbye axios (#1073)
* goodbye axios

* Rewrite error handling for OpenAI

* Increase instruct sequence length limit

* Buttons markup

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2023-09-01 19:00:32 +03:00
Cohee 7a325f03ea Fix disable thumbnails 2023-09-01 16:20:31 +03:00
Cohee 02f9aded4b Merge branch 'release' into staging 2023-09-01 15:53:22 +03:00
Cohee 52ae038297 Add error handling to AI21 tokenization 2023-09-01 15:44:41 +03:00
Cohee 83ff2e6edc
Merge pull request #1066 from bdashore3/staging
Allow additional headers to be passed to local backends
2023-09-01 14:52:32 +03:00
Cohee 6a98701e61 Fix unban EOS for Kobold
565ab8a38f
2023-09-01 01:58:32 +03:00
rbmj 5cbd5c8210
get rid of node-rest-client and fix types (#1072)
* get rid of node-rest-client and fix types

* remove from package manager

* postAsync is used above its def, need hoisting

* handle client agent undefined, fixes type error

* handle invalid / missing query.name for sanitize

* more type guards

* Make code formatter happy

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2023-09-01 01:30:33 +03:00
Cohee e9de47615a #1047 Unban EOS token and mirostat for Kobold 2023-09-01 01:04:58 +03:00
Cohee bc1d745209 Rewrite getstatus_openai using fetch 2023-08-31 22:46:13 +03:00
rbmj deeedad19e
Make jsdoc/type-checker happy Pt 3 (#1070)
* png-chunks-extract.extract has no create_date

* `new Buffer.from` is not a thing

* handle failed character read

* stop lying about your return value

* what we get for mixing booleans and strings

* localeCompare makes more sense and fixes types

* uhh wtf, there is no callback in readFileSync

* no subtracting Dates, only Numbers (timestamps)

* handle if no file in request

* changing types makes typechecker mad

* handle false or undefined character read

* default param does not exist

* can't have same property assigned twice

* json5.parse expects a string, not buffer

* handle invalid thumbnail type

* handle invalid thumbnail type case

* ignore bad axios typing

* fix ambiguous typing

* types is incorrect? no .destroy(). use type guard

* include intended error handling of refactor

* Make API urls const

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2023-08-31 19:44:58 +03:00
Cohee c19eb3146f Force set create date string 2023-08-31 19:30:27 +03:00
kingbri 4e553cf6ab Server: Allow appending of additional headers for local backends
This is a useful feature for those who want to utilize APIs with
proxy middleware for adding extra features or security. For cloud
API safety and abiding by rate limits, this feature only applies to
local backends such as ooba or kobold.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-08-31 00:15:07 -04:00
Cohee 218cfb43d8 Fix gallery files caching, filter by mime type. Use fetch instead of Jquery Ajax 2023-08-31 00:55:17 +03:00
Cohee 194278d171 Merge branch 'staging' into feature/exorcism 2023-08-31 00:42:34 +03:00