add role: "system"
support
This commit is contained in:
parent
1176dba282
commit
bcb38d991a
@ -11,6 +11,10 @@ import global_var
|
|||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
interface = ":"
|
||||||
|
user = "Bob"
|
||||||
|
bot = "Alice"
|
||||||
|
|
||||||
|
|
||||||
class Message(BaseModel):
|
class Message(BaseModel):
|
||||||
role: str
|
role: str
|
||||||
@ -40,11 +44,36 @@ async def chat_completions(body: ChatCompletionBody, request: Request):
|
|||||||
else:
|
else:
|
||||||
raise HTTPException(status.HTTP_400_BAD_REQUEST, "no question found")
|
raise HTTPException(status.HTTP_400_BAD_REQUEST, "no question found")
|
||||||
|
|
||||||
completion_text = ""
|
completion_text = f"""
|
||||||
|
The following is a coherent verbose detailed conversation between a girl named {bot} and her friend {user}. \
|
||||||
|
{bot} is very intelligent, creative and friendly. \
|
||||||
|
{bot} is unlikely to disagree with {user}, and {bot} doesn't like to ask {user} questions. \
|
||||||
|
{bot} likes to tell {user} a lot about herself and her opinions. \
|
||||||
|
{bot} usually gives {user} kind, helpful and informative advices.\n
|
||||||
|
"""
|
||||||
for message in body.messages:
|
for message in body.messages:
|
||||||
if message.role == "user":
|
if message.role == "system":
|
||||||
|
completion_text = (
|
||||||
|
f"The following is a coherent verbose detailed conversation between a girl named {bot} and her friend {user}. "
|
||||||
|
+ message.content.replace("\\n", "\n")
|
||||||
|
.replace("\r\n", "\n")
|
||||||
|
.replace("\n\n", "\n")
|
||||||
|
.replace("\n", " ")
|
||||||
|
.strip()
|
||||||
|
.replace("You are", f"{bot} is")
|
||||||
|
.replace("you are", f"{bot} is")
|
||||||
|
.replace("You're", f"{bot} is")
|
||||||
|
.replace("you're", f"{bot} is")
|
||||||
|
.replace("You", f"{bot}")
|
||||||
|
.replace("you", f"{bot}")
|
||||||
|
.replace("Your", f"{bot}'s")
|
||||||
|
.replace("your", f"{bot}'s")
|
||||||
|
.replace("你", f"{bot}")
|
||||||
|
+ "\n\n"
|
||||||
|
)
|
||||||
|
elif message.role == "user":
|
||||||
completion_text += (
|
completion_text += (
|
||||||
"Bob: "
|
f"{user}{interface} "
|
||||||
+ message.content.replace("\\n", "\n")
|
+ message.content.replace("\\n", "\n")
|
||||||
.replace("\r\n", "\n")
|
.replace("\r\n", "\n")
|
||||||
.replace("\n\n", "\n")
|
.replace("\n\n", "\n")
|
||||||
@ -53,14 +82,14 @@ async def chat_completions(body: ChatCompletionBody, request: Request):
|
|||||||
)
|
)
|
||||||
elif message.role == "assistant":
|
elif message.role == "assistant":
|
||||||
completion_text += (
|
completion_text += (
|
||||||
"Alice: "
|
f"{bot}{interface} "
|
||||||
+ message.content.replace("\\n", "\n")
|
+ message.content.replace("\\n", "\n")
|
||||||
.replace("\r\n", "\n")
|
.replace("\r\n", "\n")
|
||||||
.replace("\n\n", "\n")
|
.replace("\n\n", "\n")
|
||||||
.strip()
|
.strip()
|
||||||
+ "\n\n"
|
+ "\n\n"
|
||||||
)
|
)
|
||||||
completion_text += "Alice:"
|
completion_text += f"{bot}{interface}"
|
||||||
|
|
||||||
async def eval_rwkv():
|
async def eval_rwkv():
|
||||||
while completion_lock.locked():
|
while completion_lock.locked():
|
||||||
@ -73,7 +102,7 @@ async def chat_completions(body: ChatCompletionBody, request: Request):
|
|||||||
for response, delta in rwkv_generate(
|
for response, delta in rwkv_generate(
|
||||||
model,
|
model,
|
||||||
completion_text,
|
completion_text,
|
||||||
stop="\n\nBob" if body.stop is None else body.stop,
|
stop=f"\n\n{user}" if body.stop is None else body.stop,
|
||||||
):
|
):
|
||||||
if await request.is_disconnected():
|
if await request.is_disconnected():
|
||||||
break
|
break
|
||||||
@ -113,7 +142,7 @@ async def chat_completions(body: ChatCompletionBody, request: Request):
|
|||||||
for response, delta in rwkv_generate(
|
for response, delta in rwkv_generate(
|
||||||
model,
|
model,
|
||||||
completion_text,
|
completion_text,
|
||||||
stop="\n\nBob" if body.stop is None else body.stop,
|
stop=f"\n\n{user}" if body.stop is None else body.stop,
|
||||||
):
|
):
|
||||||
if await request.is_disconnected():
|
if await request.is_disconnected():
|
||||||
break
|
break
|
||||||
|
Loading…
x
Reference in New Issue
Block a user