Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
|
|
|
| 49 |
logger.info(f"模型 {model_name} 加载成功")
|
| 50 |
except Exception as e:
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
|
|
|
| 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}")
|