fiewolf1000 commited on
Commit
b532619
·
verified ·
1 Parent(s): 66a70c6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -5
app.py CHANGED
@@ -42,17 +42,27 @@ models = {}
42
 
43
  def get_model(model_name: str):
44
  logger.info(f"尝试获取模型: {model_name}")
45
- model_to_load = MODEL_MAPPING.get(model_name, model_name) # 兼容直接用开源模型名
 
 
 
 
 
 
46
  if model_name not in models:
47
  try:
48
- models[model_name] = SentenceTransformer(model_to_load)
 
49
  logger.info(f"模型 {model_name} 加载成功")
50
  except Exception as e:
51
- error_msg = f"加载模型 {model_name} 失败: {str(e)}"
52
- logger.error(error_msg)
53
- raise HTTPException(status_code=500, detail=error_msg)
 
54
  return models[model_name]
55
 
 
 
56
  # 验证API密钥
57
  def verify_api_key(authorization: Optional[str] = Header(None)):
58
  logger.info(f"Authorization头部内容: {authorization}")
 
42
 
43
  def get_model(model_name: str):
44
  logger.info(f"尝试获取模型: {model_name}")
45
+ model_to_load = MODEL_MAPPING.get(model_name, model_name)
46
+
47
+ # 提前检查模型是否在已知支持列表中(可选)
48
+ known_models = set(MODEL_MAPPING.keys()).union(set(MODEL_MAPPING.values()))
49
+ if model_to_load not in known_models and not model_to_load.startswith(("BAAI/", "sentence-transformers/")):
50
+ raise HTTPException(status_code=400, detail=f"不支持的模型: {model_name}")
51
+
52
  if model_name not in models:
53
  try:
54
+ hf_token = os.getenv("HUGGINGFACE_HUB_TOKEN")
55
+ models[model_name] = SentenceTransformer(model_to_load, use_auth_token=hf_token)
56
  logger.info(f"模型 {model_name} 加载成功")
57
  except Exception as e:
58
+ if "not a valid model identifier" in str(e):
59
+ raise HTTPException(status_code=400, detail=f"不支持的模型: {model_name}")
60
+ else:
61
+ raise HTTPException(status_code=500, detail=f"加载模型失败: {str(e)}")
62
  return models[model_name]
63
 
64
+
65
+
66
  # 验证API密钥
67
  def verify_api_key(authorization: Optional[str] = Header(None)):
68
  logger.info(f"Authorization头部内容: {authorization}")