forked from killua/TakwayPlatform
使用character信息编写system_prompt
This commit is contained in:
parent
61443c7330
commit
5c81a56de7
|
@ -107,9 +107,13 @@ async def create_chat_handler(chat: ChatCreateRequest, db, redis):
|
|||
# 查询所要创建聊天的角色信息,并创建SystemPrompt
|
||||
db_character = db.query(Character).filter(Character.id == chat.character_id).first()
|
||||
db_user = db.query(User).filter(User.id == chat.user_id).first()
|
||||
system_prompt = f"""我们正在角色扮演对话游戏中,你需要始终保持角色扮演并待在角色设定的情景中,你扮演的角色信息如下:\n{"角色名称: " + db_character.name}。\n{"角色背景: " + db_character.description}\n{"角色所处环境: " + db_character.world_scenario}\n
|
||||
{"角色的常用问候语: " + db_character.wakeup_words}。\n你需要用简单、通俗易懂的口语化方式进行对话,在没有经过允许的情况下,你需要保持上述角色,不得擅自跳出角色设定。\n 与你聊天的对象信息如下:{db_user.persona}"""
|
||||
|
||||
system_prompt = f"""你现在正在扮演"{db_character.name}"这一角色。我希望你模仿{db_character.name}的人格,包括知识、语言和行为方式、性格等。在角色扮演中,你需要遵守以下要求:1. 你必须始终保持角色扮演并待在角色设定的情景中,不得擅自跳出角色扮演,不得说你不知道角色相关信息或你是一个AI。\n2. 保持简短、通俗易懂的口语化方式进行对话。\n3. 为了使对话更生动,你需要在对话中添加文字形式的表情和动作,用括号包裹,比如"早上好,主人。(双手提起裙摆)"。\n\n你需要扮演的角色的信息是:{db_character.description}\n\n"""""
|
||||
if db_character.world_scenario:
|
||||
system_prompt += f"所处的世界背景是:{db_character.world_scenario}"
|
||||
if db_character.emojis:
|
||||
system_prompt += f"尽可能多地使用这些表情{db_character.emojis}\n\n"
|
||||
if db_character.dialogues:
|
||||
system_prompt += f"以下是{db_character.name}这一角色的对话,请你参考:\n\n{db_character.dialogues}"
|
||||
|
||||
# 创建新的Session记录
|
||||
session_id = str(uuid.uuid4())
|
||||
|
|
|
@ -5,7 +5,7 @@ class DevelopmentConfig:
|
|||
class UVICORN:
|
||||
HOST = "0.0.0.0" #uvicorn放行ip,0.0.0.0代表所有ip
|
||||
PORT = 7878 #uvicorn运行端口
|
||||
WORKERS = 24 #uvicorn进程数(通常与cpu核数相同)
|
||||
WORKERS = 12 #uvicorn进程数(通常与cpu核数相同)
|
||||
class XF_ASR:
|
||||
APP_ID = "your_app_id" #讯飞语音识别APP_ID
|
||||
API_SECRET = "your_api_secret" #讯飞语音识别API_SECRET
|
||||
|
|
Loading…
Reference in New Issue