OpenAI compat API adapter (#466)
* feat: oai-adapter * simplify optional adapter for instruct start and end tags --------- Co-authored-by: Concedo <39025047+LostRuins@users.noreply.github.com>
This commit is contained in:
parent
80e53af236
commit
96e9539f05
1 changed files with 23 additions and 5 deletions
28
koboldcpp.py
28
koboldcpp.py
|
@ -412,16 +412,34 @@ class ServerRequestHandler(http.server.SimpleHTTPRequestHandler):
|
||||||
elif api_format==4:
|
elif api_format==4:
|
||||||
# translate openai chat completion messages format into one big string.
|
# translate openai chat completion messages format into one big string.
|
||||||
messages_array = genparams.get('messages', [])
|
messages_array = genparams.get('messages', [])
|
||||||
|
adapter_obj = genparams.get('adapter', {})
|
||||||
messages_string = ""
|
messages_string = ""
|
||||||
|
system_message_start = adapter_obj.get("system_start", "\n### Instruction:\n")
|
||||||
|
system_message_end = adapter_obj.get("system_end", "")
|
||||||
|
user_message_start = adapter_obj.get("user_start", "\n### Instruction:\n")
|
||||||
|
user_message_end = adapter_obj.get("user_end", "")
|
||||||
|
assistant_message_start = adapter_obj.get("assistant_start", "\n### Response:\n")
|
||||||
|
assistant_message_end = adapter_obj.get("assistant_end", "")
|
||||||
|
|
||||||
for message in messages_array:
|
for message in messages_array:
|
||||||
if message['role'] == "system":
|
if message['role'] == "system":
|
||||||
messages_string+="\n### Instruction:\n"
|
messages_string += system_message_start
|
||||||
elif message['role'] == "user":
|
elif message['role'] == "user":
|
||||||
messages_string+="\n### Instruction:\n"
|
messages_string += user_message_start
|
||||||
elif message['role'] == "assistant":
|
elif message['role'] == "assistant":
|
||||||
messages_string+="\n### Response:\n"
|
messages_string += assistant_message_start
|
||||||
messages_string+=message['content']
|
|
||||||
messages_string += "\n### Response:\n"
|
messages_string += message['content']
|
||||||
|
|
||||||
|
if message['role'] == "system":
|
||||||
|
messages_string += system_message_end
|
||||||
|
elif message['role'] == "user":
|
||||||
|
messages_string += user_message_end
|
||||||
|
elif message['role'] == "assistant":
|
||||||
|
messages_string += assistant_message_end
|
||||||
|
|
||||||
|
messages_string += assistant_message_start
|
||||||
|
|
||||||
genparams["prompt"] = messages_string
|
genparams["prompt"] = messages_string
|
||||||
frqp = genparams.get('frequency_penalty', 0.1)
|
frqp = genparams.get('frequency_penalty', 0.1)
|
||||||
scaled_rep_pen = genparams.get('presence_penalty', frqp) + 1
|
scaled_rep_pen = genparams.get('presence_penalty', frqp) + 1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue