diff --git a/main/xiaozhi-server/config.yaml b/main/xiaozhi-server/config.yaml index bc06f983..36e61ec9 100644 --- a/main/xiaozhi-server/config.yaml +++ b/main/xiaozhi-server/config.yaml @@ -143,6 +143,13 @@ prompt: | - 长篇大论,叽叽歪歪 - 长时间严肃对话 +# 结束语prompt +end_prompt: + enable: true # 是否开启结束语 + # 结束语 + prompt: | + 请你以“时间过得真快”未来头,用富有感情、依依不舍的话来结束这场对话吧。! + # 具体处理时选择的模块(The module selected for specific processing) selected_module: # 语音活动检测模块,默认使用SileroVAD模型 diff --git a/main/xiaozhi-server/core/handle/receiveAudioHandle.py b/main/xiaozhi-server/core/handle/receiveAudioHandle.py index 96df9f23..9d4a82ac 100644 --- a/main/xiaozhi-server/core/handle/receiveAudioHandle.py +++ b/main/xiaozhi-server/core/handle/receiveAudioHandle.py @@ -98,9 +98,15 @@ async def no_voice_close_connect(conn): conn.close_after_chat = True conn.client_abort = False conn.asr_server_receive = False - prompt = ( - "请你以“时间过得真快”未来头,用富有感情、依依不舍的话来结束这场对话吧。" - ) + end_prompt = conn.config.get("end_prompt", {}) + if end_prompt and end_prompt.get("enable", True) is False: + conn.logger.bind(tag=TAG).info("结束对话,无需发送结束提示语") + await conn.close() + return + prompt = end_prompt.get("prompt") + if not prompt: + conn.logger.bind(tag=TAG).warn("开启结束对话提示词功能,但未配置结束提示语!请确认配置文件end_prompt字段下是否包含prompt属性!") + prompt = '请你以“时间过得真快”未来头,用富有感情、依依不舍的话来结束这场对话吧。!' await startToChat(conn, prompt)