Eliot0110 commited on
Commit
e3304c9
·
1 Parent(s): e53ed5b

fix: file path

Browse files
Files changed (1) hide show
  1. modules/response_generator.py +6 -16
modules/response_generator.py CHANGED
@@ -13,33 +13,23 @@ class ResponseGenerator:
13
 
14
  def _load_personas(self):
15
  """加载personas配置"""
16
- try:
17
- personas_path = os.path.join(os.path.dirname(__file__), '..', 'data', 'personas.json')
18
- with open(personas_path, 'r', encoding='utf-8') as f:
19
- data = json.load(f)
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
- # 【主流程】按顺序收集信息:目的地 → 天数 → 预算 → persona(可选)
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