Commit Graph

505 Commits

Author SHA1 Message Date
valadaptive 92bd766bcb Rename chat completions endpoints
OpenAI calls this the "Chat Completions API", in contrast to their
previous "Text Completions API", so that's what I'm naming it; both
because other services besides OpenAI implement it, and to avoid
confusion with the existing /api/openai route used for OpenAI extras.
2023-12-13 18:52:08 -05:00
Cohee c8bc9cf24c Fix route name 2023-12-14 01:37:51 +02:00
Cohee 0cd92f13b4 Merge branch 'staging' into separate-kobold-endpoints 2023-12-14 01:33:36 +02:00
Cohee 52de5869fe Rename file, add missing fetch 2023-12-13 02:22:35 +02:00
valadaptive 2c159ff93f Move Kobold API endpoints to their own module 2023-12-12 16:42:12 -05:00
valadaptive 274605a07c Rename Kobold-related endpoints 2023-12-12 16:42:12 -05:00
valadaptive 35c2f8bf66 Move text completions API endpoints to own module 2023-12-12 16:41:16 -05:00
valadaptive 5b3c96df50 Rename /textgenerationwebui endpoint
I'd like to migrate over to using "textgen" to mean text-generation APIs
in general, so I've renamed the /textgenerationwebui/* endpoints to
/backends/text-completions/*.
2023-12-12 16:40:14 -05:00
valadaptive ce8cc59e4d Remove fetchJSON 2023-12-11 13:32:38 -05:00
valadaptive d33cb0d8d1 Clarify getstatus API
Instead of "version" and "koboldVersion", have "koboldUnitedVersion" and
"koboldCppVersion", the latter of which is null if we're not connected
to KoboldCpp.
2023-12-10 20:34:11 -05:00
valadaptive 1fbf4394c8 Separate Kobold Horde status function 2023-12-10 20:16:07 -05:00
Cohee dbd52a7994
Merge pull request #1482 from valadaptive/sse-stream
Refactor server-sent events parsing
2023-12-10 18:32:19 +02:00
valadaptive 04e92efe29 Move API tokenization endpoint into /tokenizers
Requires extracting some more functions out of server.js.
2023-12-09 19:35:49 -05:00
valadaptive 8bad059a62 Rename /tokenize_via_api endpoint
No redirect for this since I don't expect any extensions to be calling this directly.
2023-12-09 19:29:24 -05:00
Cohee a8224c16de Fix order of middleware application
Previously: CSRF => auth => whitelist
Now: auth => whitelist => CSRF
2023-12-09 19:56:26 +02:00
Cohee 44ac2ca4e6 Avoid returning 401 as API response code 2023-12-09 15:11:35 +02:00
Cohee b0e7b73a32 Fix streaming processor error handler hooks 2023-12-08 02:01:08 +02:00
valadaptive 055d6c4337 Properly forward status codes from streams 2023-12-07 18:06:17 -05:00
valadaptive 32c86c1e95 Move backgrounds endpoints into separate file 2023-12-07 15:24:05 -05:00
valadaptive 2367f4f38f Rename backgrounds API endpoints 2023-12-07 15:17:19 -05:00
valadaptive eb1d4aed4d Move stats helpers into stats endpoint 2023-12-07 13:04:54 -05:00
valadaptive afe0dfe913 Move stats endpoints into separate file 2023-12-07 13:00:34 -05:00
valadaptive 26ebb417f4 Rename stats API endpoints 2023-12-07 13:00:34 -05:00
valadaptive d6f5e63d85 Move (re)creation of stats to its own function 2023-12-07 13:00:34 -05:00
valadaptive bf2b59279b Move worldinfo endpoints into separate file 2023-12-06 20:00:51 -05:00
valadaptive c746e6a426 Rename worldinfo API endpoints 2023-12-06 20:00:51 -05:00
valadaptive cf2b074d4b Move group endpoints into separate file 2023-12-06 20:00:31 -05:00
valadaptive 8027372fc2 Rename group API endpoints 2023-12-06 19:59:58 -05:00
valadaptive dcde1bd5ba Redirect deprecated chat endpoints 2023-12-06 19:59:32 -05:00
valadaptive e870c35613 Move chat endpoints into separate file 2023-12-06 19:59:32 -05:00
valadaptive 6efe95f4f1 Rename chat API endpoints 2023-12-06 19:58:24 -05:00
Cohee 1683b76c65 Add awaiter to /recreatestats 2023-12-07 01:06:56 +02:00
Cohee f3ae2e4046
Merge pull request #1477 from valadaptive/bool-simplify-1
Remove boolean equality checks from cliArguments
2023-12-07 00:59:28 +02:00
Cohee cf256a547c Remove unnecessary cast of "enableCorsProxy" 2023-12-07 00:57:23 +02:00
Cohee 6a516bf3eb Require only one autorun argument to be true 2023-12-07 00:55:36 +02:00
valadaptive 9c850b0b0c Fix double file extension on uploaded images 2023-12-06 17:29:10 -05:00
valadaptive 5096e70c11 Move client-relative path logic to helper function 2023-12-06 17:22:37 -05:00
valadaptive 39d771cc4a Replace path "\" with "/" server-side 2023-12-06 17:22:37 -05:00
valadaptive e65d1ad20f Remove boolean equality checks from cliArguments
yargs ensures that the Boolean options will always be booleans, so the
strict equality checks are unnecessary.
2023-12-06 13:29:58 -05:00
valadaptive 7b13c5b37d Redirect deprecated character endpoints 2023-12-06 12:05:01 -05:00
valadaptive a457484c2d Move character endpoints into their own module 2023-12-04 17:35:06 -05:00
valadaptive 17959a60a4 Remove charactersPath and chatsPath
We already have these paths in the DIRECTORIES constant.
2023-12-04 17:35:06 -05:00
valadaptive b689b8bd30 Rename character API endpoints
Precursor to moving the character API into its own module
2023-12-04 17:35:06 -05:00
Cohee 1ade0fda11 Merge branch 'staging' into stable-diffusion-router 2023-12-05 00:25:24 +02:00
Cohee b287d5f3bd Merge branch 'staging' into tokenizers-router 2023-12-05 00:19:44 +02:00
Cohee 21e19674b4 Merge branch 'staging' into vectors-router 2023-12-05 00:15:36 +02:00
Cohee 444f67e930 Merge branch 'staging' into translate-router 2023-12-05 00:11:06 +02:00
Cohee eb273ced59 Merge branch 'staging' into thumbnails-router 2023-12-05 00:08:15 +02:00
Cohee 9d0a0bc139 Merge branch 'staging' into sprites-router 2023-12-05 00:01:03 +02:00
Cohee 2acb7d1ae5 Merge branch 'staging' into serpapi-router 2023-12-04 23:57:23 +02:00
Cohee 1eb6f33e8b Merge branch 'staging' into secrets-router 2023-12-04 23:54:54 +02:00
Cohee 6fc0e485cd Merge branch 'staging' into presets-router 2023-12-04 23:51:08 +02:00
Cohee 32c3c34e4b Merge branch 'staging' into openai-router 2023-12-04 23:45:50 +02:00
Cohee dca470c9e9 Merge branch 'staging' into novelai-router 2023-12-04 22:14:46 +02:00
Cohee 6fd6d4fc4d Merge branch 'staging' into horde-router 2023-12-04 22:07:39 +02:00
Cohee 3085dbe12c Merge branch 'staging' into extensions-router 2023-12-04 21:51:00 +02:00
Cohee d22d0c7cc2 Merge branch 'staging' into content-manager-router 2023-12-04 21:46:25 +02:00
Cohee a2387130f3 Merge branch 'staging' into classify-router 2023-12-04 21:39:39 +02:00
Cohee 1d4ac50fd7 Merge branch 'staging' into caption-router 2023-12-04 21:31:01 +02:00
valadaptive 68049afd84 Use Express router for vectors endpoint 2023-12-04 13:01:52 -05:00
valadaptive 15ba2441ce Use Express router for translate endpoint 2023-12-04 13:00:59 -05:00
valadaptive 4e073250a2 Use Express router for tokenizers endpoint 2023-12-04 13:00:13 -05:00
valadaptive 2d54a67a1f Use Express router for thumbnails endpoint 2023-12-04 12:59:24 -05:00
valadaptive 7f129df7b8 Use Express router for stable diffusion endpoint 2023-12-04 12:58:02 -05:00
valadaptive 173bc5975f Use Express router for sprites endpoint 2023-12-04 12:57:13 -05:00
valadaptive 35ce955b00 Use Express router for serpapi endpoint 2023-12-04 12:56:22 -05:00
valadaptive 091255d451 Use Express router for secrets endpoint 2023-12-04 12:55:13 -05:00
valadaptive ba74288e4a Use Express router for presets endpoint 2023-12-04 12:54:18 -05:00
valadaptive 2d19645c4e Use Express router for openai endpoint 2023-12-04 12:53:17 -05:00
valadaptive e6b549bc48 Use Express router for novelai endpoint 2023-12-04 12:52:27 -05:00
valadaptive 2e990bf336 Use Express router for horde endpoint 2023-12-04 12:51:02 -05:00
valadaptive babe9abbe9 Use Express router for extensions endpoint 2023-12-04 12:48:29 -05:00
valadaptive 4c911d3155 Use Express router for content endpoint 2023-12-04 12:47:38 -05:00
valadaptive 0ad753f317 Use Express router for classify endpoint 2023-12-04 12:45:17 -05:00
valadaptive d2e1577acb Use Express router for caption endpoint 2023-12-04 12:43:37 -05:00
valadaptive d24c1dde10 Use Express router for assets + "files" endpoints
I've split out the "file/upload" endpoint into its own module, and
renamed it to "files" to be consistent with the existing naming scheme.
2023-12-04 12:40:53 -05:00
Cohee 95ef108e84 Merge branch 'staging' into express-common 2023-12-04 19:09:20 +02:00
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