mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Properly parse example dialogues into Claude prompts.
This commit is contained in:
16
server.js
16
server.js
@ -2697,6 +2697,22 @@ app.post("/deletepreset_openai", jsonParser, function (request, response) {
|
||||
|
||||
// Prompt Conversion script taken from RisuAI by @kwaroran (GPLv3).
|
||||
function convertClaudePrompt(messages) {
|
||||
// Claude doesn't support system names, so we'll just add them to the message.
|
||||
for (const message of messages) {
|
||||
if (message.name) {
|
||||
if (message.role === "system" && message.name === "example_assistant") {
|
||||
message.role = "assistant";
|
||||
}
|
||||
else if (message.role === "system" && message.name === "example_user") {
|
||||
message.role = "user";
|
||||
}
|
||||
else {
|
||||
message.content = message.name + ": " + message.content;
|
||||
}
|
||||
delete message.name;
|
||||
}
|
||||
}
|
||||
|
||||
let requestPrompt = messages.map((v) => {
|
||||
let prefix = '';
|
||||
switch (v.role) {
|
||||
|
Reference in New Issue
Block a user