sunhonghua commited on
Commit
fa2547c
·
verified ·
1 Parent(s): d14eed4

Upload ai_advisor.py

Browse files
Files changed (1) hide show
  1. modules/ai_advisor.py +29 -29
modules/ai_advisor.py CHANGED
@@ -107,6 +107,8 @@ class AIAdvisor:
107
 
108
  【宗师点拨】
109
  """
 
 
110
  def get_master_insight(self, divination_results: Dict[str, Any]) -> Optional[str]:
111
  """调用 Hugging Face Inference API 获取宗师解读"""
112
  if not self.hf_token:
@@ -114,8 +116,6 @@ class AIAdvisor:
114
  return None
115
 
116
  try:
117
- import requests
118
-
119
  prompt = self._build_master_prompt(
120
  divination_results.get('lunar_data', {}),
121
  divination_results.get('bazi', {}),
@@ -133,31 +133,31 @@ class AIAdvisor:
133
 
134
  # 使用官方 InferenceClient 自带的智能路由功能 (支持 Together/HF Pro 等多种后端引擎)
135
  messages = [{"role": "user", "content": prompt}]
136
- try:
137
- response = self.client.chat_completion(
138
- messages=messages,
139
- model=self.model_id,
140
- max_tokens=300,
141
- stream=False,
142
- temperature=0.7,
143
- top_p=0.95
144
- )
145
- elapsed = time.time() - start_time
146
- insight = response.choices[0].message.content.strip()
147
- logger.info(f"AI Advisor response received in {elapsed:.2f}s: {insight[:100]}")
148
- return insight if insight else "【宗师沉默】模型返回了空信息。"
149
 
150
- except Exception as e:
151
- # 捕获 HF Hub 相关错误
152
- err_msg = str(e)
153
- logger.error(f"HF API call failed: {type(e).__name__} - {err_msg}")
154
- if "401" in err_msg or "Unauthorized" in err_msg:
155
- return f"【宗师传音受阻】云端认证失败 (HTTP 401)。请确保 HF_TOKEN 具有 Inference 权限并且未过期。"
156
- elif "503" in err_msg or "loading" in err_msg.lower():
157
- return f"【宗师正在入定】模型节点正在冷启动唤醒中,大约需要半分钟,请稍后重新起课。"
158
- elif "404" in err_msg or "not found" in err_msg.lower():
159
- return f"【时空道标丢失】找不到该模型 ({self.model_id}) 或其不支持此种对话模式,请尝试更换模型ID。"
160
- elif "timeout" in err_msg.lower():
161
- return f"【宗师传音超时】跨越时空通讯未能按时接通,请稍后重试。"
162
- else:
163
- return f"【宗师连接中断】(HTTP: {type(e).__name__}) 请稍后重试。"
 
107
 
108
  【宗师点拨】
109
  """
110
+ return prompt
111
+
112
  def get_master_insight(self, divination_results: Dict[str, Any]) -> Optional[str]:
113
  """调用 Hugging Face Inference API 获取宗师解读"""
114
  if not self.hf_token:
 
116
  return None
117
 
118
  try:
 
 
119
  prompt = self._build_master_prompt(
120
  divination_results.get('lunar_data', {}),
121
  divination_results.get('bazi', {}),
 
133
 
134
  # 使用官方 InferenceClient 自带的智能路由功能 (支持 Together/HF Pro 等多种后端引擎)
135
  messages = [{"role": "user", "content": prompt}]
136
+
137
+ response = self.client.chat_completion(
138
+ messages=messages,
139
+ model=self.model_id,
140
+ max_tokens=300,
141
+ stream=False,
142
+ temperature=0.7,
143
+ top_p=0.95
144
+ )
145
+ elapsed = time.time() - start_time
146
+ insight = response.choices[0].message.content.strip()
147
+ logger.info(f"AI Advisor response received in {elapsed:.2f}s: {insight[:100]}")
148
+ return insight if insight else "【宗师沉默】模型返回了空信息。"
149
 
150
+ except Exception as e:
151
+ # 捕获 HF Hub 相关错误及普通错误
152
+ err_msg = str(e)
153
+ logger.error(f"HF API call failed: {type(e).__name__} - {err_msg}")
154
+ if "401" in err_msg or "Unauthorized" in err_msg:
155
+ return f"【宗师传音受阻】云端认证失败 (HTTP 401)。请确保 HF_TOKEN 具有 Inference 权限并且未过期。"
156
+ elif "503" in err_msg or "loading" in err_msg.lower():
157
+ return f"【宗师正在入定】模型节点正在冷启动唤醒中,大约需要半分钟,请稍后重新起课。"
158
+ elif "404" in err_msg or "not found" in err_msg.lower():
159
+ return f"【时空道标丢失】找不到该模型 ({self.model_id}) 或其不支持此种对话模式,请尝试更换模型ID。"
160
+ elif "timeout" in err_msg.lower():
161
+ return f"【宗师传音超时】跨越时空通讯未能按时接通,请稍后重试。"
162
+ else:
163
+ return f"【宗师连接中断】({type(e).__name__}) 请稍后重试。"