This commit is contained in:
Cohee
2023-06-07 11:44:56 +03:00
parent 821273630b
commit 95460d6bbc

View File

@@ -2697,18 +2697,10 @@ 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.
// Claude doesn't support message names, so we'll just add them to the message content.
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;
}
if (message.name && message.role !== "system") {
message.content = message.name + ": " + message.content;
delete message.name;
}
}
@@ -2723,7 +2715,14 @@ function convertClaudePrompt(messages) {
prefix = "\n\nHuman: ";
break
case "system":
prefix = "\n\nSystem: ";
// According to the Claude docs, H: and A: should be used for example conversations.
if (v.name === "example_assistant") {
prefix = "\n\nA: ";
} else if (v.name === "example_user") {
prefix = "\n\nH: ";
} else {
prefix = "\n\nSystem: ";
}
break
}
return prefix + v.content;