Spaces:
Sleeping
Sleeping
fix: file path
Browse files
modules/response_generator.py
CHANGED
|
@@ -13,33 +13,23 @@ class ResponseGenerator:
|
|
| 13 |
|
| 14 |
def _load_personas(self):
|
| 15 |
"""加载personas配置"""
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
return data.get('personas', {})
|
| 21 |
-
except Exception as e:
|
| 22 |
-
log.error(f"❌ 加载personas.json失败: {e}")
|
| 23 |
-
return {}
|
| 24 |
|
| 25 |
def generate(self, user_message: str, session_state: dict) -> str:
|
| 26 |
try:
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
# 1. 检查是否需要收集目的地
|
| 30 |
if not session_state.get("destination"):
|
| 31 |
return "Hi!你想去欧洲的哪个城市呢?比如巴黎, 罗马, 巴塞罗那?"
|
| 32 |
|
| 33 |
-
# 2. 检查是否需要收集天数
|
| 34 |
if not session_state.get("duration"):
|
| 35 |
return f"好的,{session_state['destination']['name']}是个很棒的选择!你计划玩几天呢?"
|
| 36 |
-
|
| 37 |
-
# 3. 检查是否需要收集预算
|
| 38 |
if not session_state.get("budget"):
|
| 39 |
return f"了解!{session_state['duration']['days']}天的行程。为了给您更合适的建议,请问您的预算大概是多少呢?(比如:2000欧元,或者经济型/舒适型/豪华型)"
|
| 40 |
|
| 41 |
-
# 4. persona由前端传入,这里检查是否存在
|
| 42 |
-
# 注意:如果前端没传persona,可以询问或使用默认值
|
| 43 |
if not session_state.get("persona"):
|
| 44 |
separator = '*' * 60
|
| 45 |
|
|
|
|
| 13 |
|
| 14 |
def _load_personas(self):
|
| 15 |
"""加载personas配置"""
|
| 16 |
+
personas_path = Path("./config/personas.json")
|
| 17 |
+
with open(personas_path, 'r', encoding='utf-8') as f:
|
| 18 |
+
data = json.load(f)
|
| 19 |
+
return data.get('personas', {})
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
def generate(self, user_message: str, session_state: dict) -> str:
|
| 22 |
try:
|
| 23 |
+
|
|
|
|
|
|
|
| 24 |
if not session_state.get("destination"):
|
| 25 |
return "Hi!你想去欧洲的哪个城市呢?比如巴黎, 罗马, 巴塞罗那?"
|
| 26 |
|
|
|
|
| 27 |
if not session_state.get("duration"):
|
| 28 |
return f"好的,{session_state['destination']['name']}是个很棒的选择!你计划玩几天呢?"
|
| 29 |
+
|
|
|
|
| 30 |
if not session_state.get("budget"):
|
| 31 |
return f"了解!{session_state['duration']['days']}天的行程。为了给您更合适的建议,请问您的预算大概是多少呢?(比如:2000欧元,或者经济型/舒适型/豪华型)"
|
| 32 |
|
|
|
|
|
|
|
| 33 |
if not session_state.get("persona"):
|
| 34 |
separator = '*' * 60
|
| 35 |
|