mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Expressions: Classify using LLM
Rather than using a separate BERT model to classify the last message, use the LLM itself to get the classified expression label as a JSON and set that as the current sprite. Doing this should take more information into consideration and cut down on extra processing. This is made possible by the use of constrained generation with JSON schemas. Only available to TabbyAPI since it's the only backend that supports the use of JSON schemas, but there can hopefully be a way to use this with other backends as well. Intercepts the generation and sets top_k = 1 (for greedy sampling) and the json_schema to an emotion enum. Doing this also prevents reingestion of the entire context every time a message is sent and then asked to be classified, which doesn't compromise the chat experience. Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
@@ -6,10 +6,6 @@
|
||||
</div>
|
||||
|
||||
<div class="inline-drawer-content">
|
||||
<label class="checkbox_label" for="expression_local" title="Use classification model without the Extras server.">
|
||||
<input id="expression_local" type="checkbox" />
|
||||
<span data-i18n="Local server classification">Local server classification</span>
|
||||
</label>
|
||||
<label class="checkbox_label" for="expression_translate" title="Use the selected API from Chat Translation extension settings.">
|
||||
<input id="expression_translate" type="checkbox">
|
||||
<span>Translate text to English before classification</span>
|
||||
@@ -22,6 +18,16 @@
|
||||
<input id="image_type_toggle" type="checkbox">
|
||||
<span>Image Type - talkinghead (extras)</span>
|
||||
</label>
|
||||
<div class="expression_api_block m-b-1 m-t-1">
|
||||
<label for="expression_api">Classifier API</label>
|
||||
<small>Select the API for classifying expressions.</small>
|
||||
<select id="expression_api" class="flex1 margin0" data-i18n="Expression API" placeholder="Expression API">
|
||||
<option value="0">Local</option>
|
||||
<option value="1">Extras</option>
|
||||
<option value="2">LLM</option>
|
||||
<option value="3">TalkingHead</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="expression_fallback_block m-b-1 m-t-1">
|
||||
<label for="expression_fallback">Default / Fallback Expression</label>
|
||||
<small>Set the default and fallback expression being used when no matching expression is found.</small>
|
||||
|
Reference in New Issue
Block a user