Update openai_ondemand_adapter.py

#2
Files changed (1) hide show
  1. openai_ondemand_adapter.py +11 -16
openai_ondemand_adapter.py CHANGED
@@ -8,37 +8,32 @@ import logging
8
  import os
9
 
10
  # ====== 读取 Huggingface Secret 配置的私有key =======
11
- PRIVATE_KEY = os.environ.get("PRIVATE_KEY", "")
12
- PRIVATE_KEY = os.environ.get("PRIVATE_KEY", "")
13
- SAFE_HEADERS = ["Authorization", "X-API-KEY"]
14
 
15
  # 全局接口访问权限检查
16
  def check_private_key():
17
- # 可以在这里放宽部分接口,比如首页等
18
  if request.path in ["/", "/favicon.ico"]:
19
  return
20
- key = None
21
- for header in SAFE_HEADERS:
22
- key = request.headers.get(header)
23
- if key:
24
- if header == "Authorization" and key.startswith("Bearer "):
25
- key = key[len("Bearer "):].strip()
26
- break
27
  if not key or key != PRIVATE_KEY:
28
- return jsonify({"error": "Unauthorized, must provide correct Authorization or X-API-KEY"}), 401
29
 
30
  # 应用所有API鉴权
31
  app = Flask(__name__)
32
  app.before_request(check_private_key)
33
 
34
  # ========== KEY池(每行一个)==========
35
- ONDEMAND_APIKEYS = os.environ.get("ONDEMAND_APIKEYS", "").split(",") if os.environ.get("ONDEMAND_APIKEYS") else []
36
- BAD_KEY_RETRY_INTERVAL = 600 # 秒
 
 
 
37
  SESSION_TIMEOUT = 600 # 对话超时时间(10分钟)
38
 
39
  # ========== OnDemand模型映射 ==========
40
  MODEL_MAP = {
41
- "o3-mini": "predefined-openai-gpto3-mini",
42
  "gpt-4o": "predefined-openai-gpt4o",
43
  "gpt-4.1": "predefined-openai-gpt4.1",
44
  "gpt-4.1-mini": "predefined-openai-gpt4.1-mini",
@@ -46,7 +41,7 @@ MODEL_MAP = {
46
  "gpt-4o-mini": "predefined-openai-gpt4o-mini",
47
  "deepseek-v3": "predefined-deepseek-v3",
48
  "deepseek-r1": "predefined-deepseek-r1",
49
- "claude-3-7-sonnet": "predefined-claude-3.7-sonnet",
50
  "gemini-2.0-flash": "predefined-gemini-2.0-flash",
51
  }
52
  DEFAULT_ONDEMAND_MODEL = "predefined-openai-gpt4o"
 
8
  import os
9
 
10
  # ====== 读取 Huggingface Secret 配置的私有key =======
11
+ PRIVATE_KEY = os.environ.get("PRIVATE_KEY", "114514")
12
+ SAFE_HEADER = "X-API-KEY"
 
13
 
14
  # 全局接口访问权限检查
15
  def check_private_key():
 
16
  if request.path in ["/", "/favicon.ico"]:
17
  return
18
+ key = request.headers.get(SAFE_HEADER)
 
 
 
 
 
 
19
  if not key or key != PRIVATE_KEY:
20
+ return jsonify({"error": "Unauthorized, must provide correct X-API-KEY"}), 401
21
 
22
  # 应用所有API鉴权
23
  app = Flask(__name__)
24
  app.before_request(check_private_key)
25
 
26
  # ========== KEY池(每行一个)==========
27
+ ONDEMAND_APIKEYS = [
28
+ "KEY1",
29
+ "KEY2",
30
+ ]
31
+ BAD_KEY_RETRY_INTERVAL = 600 # 秒
32
  SESSION_TIMEOUT = 600 # 对话超时时间(10分钟)
33
 
34
  # ========== OnDemand模型映射 ==========
35
  MODEL_MAP = {
36
+ "gpto3-mini": "predefined-openai-gpto3-mini",
37
  "gpt-4o": "predefined-openai-gpt4o",
38
  "gpt-4.1": "predefined-openai-gpt4.1",
39
  "gpt-4.1-mini": "predefined-openai-gpt4.1-mini",
 
41
  "gpt-4o-mini": "predefined-openai-gpt4o-mini",
42
  "deepseek-v3": "predefined-deepseek-v3",
43
  "deepseek-r1": "predefined-deepseek-r1",
44
+ "claude-3.7-sonnet": "predefined-claude-3.7-sonnet",
45
  "gemini-2.0-flash": "predefined-gemini-2.0-flash",
46
  }
47
  DEFAULT_ONDEMAND_MODEL = "predefined-openai-gpt4o"