Improved profiles by adding 'separator' field to the profile format, improved vicuna-v0 profile, removed default profile from frontend-server cli, updated README
This commit is contained in:
parent
bd44e45801
commit
ae0058bdee
5 changed files with 10 additions and 8 deletions
|
@ -15,7 +15,7 @@ For memory and disk requirements for the different models, see [llama.cpp - Memo
|
||||||
## Supported Models
|
## Supported Models
|
||||||
|
|
||||||
- [🐨 Koala](https://bair.berkeley.edu/blog/2023/04/03/koala/)
|
- [🐨 Koala](https://bair.berkeley.edu/blog/2023/04/03/koala/)
|
||||||
- [🦙 Vicuna](https://lmsys.org/blog/2023-03-30-vicuna/)
|
- [🦙 Vicuna v0](https://lmsys.org/blog/2023-03-30-vicuna/)
|
||||||
|
|
||||||
see `./profiles/`
|
see `./profiles/`
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,9 @@ import uvicorn
|
||||||
from frontend.app import app
|
from frontend.app import app
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
koala_profile_path = Path(__file__).parent / "profiles" / "koala.json"
|
|
||||||
# CLI
|
# CLI
|
||||||
ap = ArgumentParser()
|
ap = ArgumentParser()
|
||||||
ap.add_argument("--profile", help="Path to a profile file that includes settings for a specific model (default: ./profiles/koala.json)", type=Path, default=koala_profile_path)
|
ap.add_argument("--profile", help="Path to a profile file that includes settings for a specific model", type=Path, required=True)
|
||||||
ap.add_argument("--host", help="Address to listen on (default: localhost)", type=str, default="localhost")
|
ap.add_argument("--host", help="Address to listen on (default: localhost)", type=str, default="localhost")
|
||||||
ap.add_argument("--port", help="Port to listen on (default: 8080)", type=int, default=8080)
|
ap.add_argument("--port", help="Port to listen on (default: 8080)", type=int, default=8080)
|
||||||
ap.add_argument("--api", help="URL of the API Server (default: 'http://localhost:7331')", type=str, default="http://localhost:7331")
|
ap.add_argument("--api", help="URL of the API Server (default: 'http://localhost:7331')", type=str, default="http://localhost:7331")
|
||||||
|
@ -34,6 +33,7 @@ if __name__ == "__main__":
|
||||||
"conversation_prefix": profile["conversation_prefix"],
|
"conversation_prefix": profile["conversation_prefix"],
|
||||||
"user_keyword": profile["user_keyword"],
|
"user_keyword": profile["user_keyword"],
|
||||||
"assistant_keyword": profile["assistant_keyword"],
|
"assistant_keyword": profile["assistant_keyword"],
|
||||||
|
"separator": profile["separator"],
|
||||||
"stop_sequences": profile["stop_sequences"]
|
"stop_sequences": profile["stop_sequences"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,10 +111,10 @@ fetch("/config")
|
||||||
function addMessage(message, role) {
|
function addMessage(message, role) {
|
||||||
if (role == Roles.USER) {
|
if (role == Roles.USER) {
|
||||||
conversation.push(
|
conversation.push(
|
||||||
" " + frontend_config.profile.user_keyword + " "
|
frontend_config.profile.user_keyword + " "
|
||||||
+ message + " " + frontend_config.profile.assistant_keyword);
|
+ message + frontend_config.profile.separator + frontend_config.profile.assistant_keyword);
|
||||||
}
|
}
|
||||||
else { conversation.push(message); }
|
else { conversation.push(message + frontend_config.profile.separator); }
|
||||||
// UI
|
// UI
|
||||||
let messageRoleElem = document.createElement("div");
|
let messageRoleElem = document.createElement("div");
|
||||||
messageRoleElem.classList.add("message-type");
|
messageRoleElem.classList.add("message-type");
|
||||||
|
@ -181,7 +181,7 @@ fetch("/config")
|
||||||
let prompt = conversation.join("");
|
let prompt = conversation.join("");
|
||||||
let settings = getSettings();
|
let settings = getSettings();
|
||||||
apiCompletion(prompt, settings).then(r => {
|
apiCompletion(prompt, settings).then(r => {
|
||||||
addMessage(r, Roles.ASSISTANT);
|
addMessage(r.trim(), Roles.ASSISTANT);
|
||||||
enableInput();
|
enableInput();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,5 +3,6 @@
|
||||||
"conversation_prefix": "BEGINNING OF CONVERSATION: ",
|
"conversation_prefix": "BEGINNING OF CONVERSATION: ",
|
||||||
"user_keyword": "USER:",
|
"user_keyword": "USER:",
|
||||||
"assistant_keyword": "GPT:",
|
"assistant_keyword": "GPT:",
|
||||||
|
"separator": " ",
|
||||||
"stop_sequences": ["</s>"]
|
"stop_sequences": ["</s>"]
|
||||||
}
|
}
|
|
@ -1,7 +1,8 @@
|
||||||
{
|
{
|
||||||
"name": "Vicuna",
|
"name": "Vicuna",
|
||||||
"conversation_prefix": "A chat between a curious user and a helpful AI assistant. ",
|
"conversation_prefix": "A chat between a curious user and a helpful AI assistant.\n\n",
|
||||||
"user_keyword": "### Human:",
|
"user_keyword": "### Human:",
|
||||||
"assistant_keyword": "### Assistant:",
|
"assistant_keyword": "### Assistant:",
|
||||||
|
"separator": "\n",
|
||||||
"stop_sequences": ["### Human:"]
|
"stop_sequences": ["### Human:"]
|
||||||
}
|
}
|
Reference in a new issue