diff --git a/index.html b/index.html
index 4d32adc..69bf3ed 100644
--- a/index.html
+++ b/index.html
@@ -10706,6 +10706,22 @@
return seqs;
}
+ function cleanup_story_completion(resp)
+ {
+ if(!gametext_arr[gametext_arr.length-1].endsWith(" ") && !gametext_arr[gametext_arr.length-1].endsWith("\n"))
+ {
+ if(/^\.\.\.[a-zA-Z0-9]/.test(resp))
+ {
+ resp = resp.slice(3);
+ }
+ if(/^[^\p{P}\p{Z}\s]/u.test(resp))
+ {
+ resp = " "+resp;
+ }
+ }
+ return resp;
+ }
+
function dispatch_submit_generation(submit_payload, input_was_empty) //if input is not empty, always unban eos
{
console.log(submit_payload);
@@ -10929,20 +10945,30 @@
claude_payload =
{
"model": custom_claude_model,
- "messages": [{"role": "user", "content": submit_payload.prompt}],
+ "messages": [],
"max_tokens": submit_payload.params.max_length,
"top_k": (submit_payload.params.top_k<1?300:submit_payload.params.top_k),
"temperature": submit_payload.params.temperature,
"top_p": submit_payload.params.top_p,
};
+ claude_payload.messages.push({"role": "user", "content": submit_payload.prompt})
if(sysprompt)
{
claude_payload.system = sysprompt;
}
+ if(localsettings.opmode==1)
+ {
+ claude_payload.system = "Always respond with a direct partial continuation of the story immediately from the latest word.";
+ if(sysprompt)
+ {
+ claude_payload.system = sysprompt +"\n"+ claude_payload.system;
+ }
+ }
if(assistantprompt)
{
claude_payload.messages.push({"role": "assistant", "content": assistantprompt});
}
+
}
else
{
@@ -11008,6 +11034,10 @@
if(custom_claude_key != "" && data.content && data.content.length > 0 && data.content[0].text)
{
data.completion = data.content[0].text; //for claudev3
+ if(localsettings.opmode==1 && gametext_arr.length>0 && data.completion!="")
+ {
+ data.completion = cleanup_story_completion(data.completion);
+ }
}
if (custom_claude_key != "" && data.completion != null && data.completion != "")
{
@@ -11144,6 +11174,11 @@
synchro_polled_response = data.candidates[0].output;
}else if (custom_palm_key != "" && data.candidates != null && data.candidates.length>0 && data.candidates[0].content && data.candidates[0].content.parts != null && data.candidates[0].content.parts.length>0) {
synchro_polled_response = data.candidates[0].content.parts[0].text;
+ //try to handle the stripping of spaces
+ if(localsettings.opmode==1 && gametext_arr.length>0 && synchro_polled_response!="")
+ {
+ synchro_polled_response = cleanup_story_completion(synchro_polled_response);
+ }
}
else {
//error occurred, maybe captcha failed