MCPcopy Create free account
hub / github.com/THESIS-AGENT/AIRouter / is_health_data_empty

Method is_health_data_empty

LoadBalancing.py:202–240  ·  view source on GitHub ↗

检查健康数据是否为空 检查指定模型在所有源上的健康数据是否全部为空数组。 对于健康检测屏蔽清单中的模型,始终返回True以强制使用预设排名。 Args: model_name (str): 要检查的模型名称 Returns: bool: 如果所有健康数据都是空数组则返回True,否则返回False

(self, model_name)

Source from the content-addressed store, hash-verified

200 return ranking_3
201
202 def is_health_data_empty(self, model_name):
203 """检查健康数据是否为空
204
205 检查指定模型在所有源上的健康数据是否全部为空数组。
206 对于健康检测屏蔽清单中的模型,始终返回True以强制使用预设排名。
207
208 Args:
209 model_name (str): 要检查的模型名称
210
211 Returns:
212 bool: 如果所有健康数据都是空数组则返回True,否则返回False
213 """
214 try:
215 # 检查模型是否在健康检测屏蔽清单中
216 if model_name in health_check_blacklist:
217 self.logger.info(f"模型 {model_name} 在健康检测屏蔽清单中,强制使用预设排名")
218 return True
219
220 # 检查健康数据是否有效
221 if not self.healthy or "data" not in self.healthy or not self.healthy["data"]:
222 self.logger.warning(f"模型 {model_name} 的健康数据为空或无效")
223 return True
224
225 # 不再处理多模态模型名称,直接使用完整的model_name
226
227 # 寻找该模型在任意源上的非空数据
228 for key, value in self.healthy["data"].items():
229 try:
230 if len(key) >= 2 and key[1] == model_name and value and len(value) > 0:
231 return False
232 except Exception as e:
233 self.logger.warning(f"处理健康数据键 {key} 时出错: {str(e)}")
234 continue
235
236 self.logger.info(f"模型 {model_name} 在所有源上的健康数据均为空")
237 return True # 所有源的该模型数据均为空
238 except Exception as e:
239 self.logger.error(f"检查模型 {model_name} 的健康数据时出错: {str(e)}")
240 return True # 出错时假设数据为空,使用预设排名
241
242 def get_sources_from_ranking(self, model_name):
243 """基于预设排名获取源和模型配置

Callers 4

mainFunction · 0.95
get_configMethod · 0.95

Calls

no outgoing calls

Tested by 3

mainFunction · 0.76