1
0
Fork 0

使用character信息编写system_prompt

This commit is contained in:
killua4396 2024-05-06 14:58:22 +08:00
parent 61443c7330
commit 5c81a56de7
2 changed files with 8 additions and 4 deletions

View File

@ -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())

View File

@ -5,7 +5,7 @@ class DevelopmentConfig:
class UVICORN:
HOST = "0.0.0.0" #uvicorn放行ip0.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