Spaces:
Running
Running
Upload 7 files
Browse files
app.py
CHANGED
|
@@ -129,7 +129,6 @@ def load_config():
|
|
| 129 |
for i, user_config in enumerate(config["config"]):
|
| 130 |
# 获取必要的配置项
|
| 131 |
cookies = user_config.get("cookies", "")
|
| 132 |
-
session_token = user_config.get("session_token", "")
|
| 133 |
models = user_config.get("models", {})
|
| 134 |
|
| 135 |
# 不再从配置文件读取conversation_id,确保每次启动都使用新会话
|
|
@@ -138,8 +137,22 @@ def load_config():
|
|
| 138 |
# 创建会话对象
|
| 139 |
session = requests.Session()
|
| 140 |
|
| 141 |
-
#
|
| 142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
|
| 144 |
print(f"成功加载了 {len(USER_DATA)} 个用户配置")
|
| 145 |
|
|
@@ -327,34 +340,23 @@ def get_model_map(session, cookies, session_token):
|
|
| 327 |
def init_session():
|
| 328 |
get_password()
|
| 329 |
global USER_NUM, MODELS, USER_DATA
|
| 330 |
-
config_list = resolve_config()
|
| 331 |
-
user_num = len(config_list)
|
| 332 |
-
all_models = set()
|
| 333 |
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
session = requests.Session()
|
| 339 |
-
|
| 340 |
-
session_token = refresh_token(session, cookies)
|
| 341 |
-
if not session_token:
|
| 342 |
-
print(f"无法获取cookie {i+1}的token")
|
| 343 |
-
continue
|
| 344 |
-
|
| 345 |
-
try:
|
| 346 |
-
model_map, models_set = get_model_map(session, cookies, session_token)
|
| 347 |
-
all_models.update(models_set)
|
| 348 |
-
USER_DATA.append((session, cookies, session_token, conversation_id, model_map, i))
|
| 349 |
-
except Exception as e:
|
| 350 |
-
print(f"配置用户 {i+1} 失败: {e}")
|
| 351 |
-
continue
|
| 352 |
|
|
|
|
| 353 |
USER_NUM = len(USER_DATA)
|
| 354 |
if USER_NUM == 0:
|
| 355 |
print("No user available, exiting...")
|
| 356 |
exit(1)
|
| 357 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 358 |
MODELS = all_models
|
| 359 |
print(f"启动完成,共配置 {USER_NUM} 个用户")
|
| 360 |
|
|
@@ -372,7 +374,14 @@ def update_cookie(session, cookies):
|
|
| 372 |
return cookies
|
| 373 |
|
| 374 |
|
| 375 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 376 |
|
| 377 |
|
| 378 |
@app.route("/v1/models", methods=["GET"])
|
|
@@ -1345,13 +1354,6 @@ def get_space_url():
|
|
| 1345 |
# 默认返回None
|
| 1346 |
return None
|
| 1347 |
|
| 1348 |
-
# 获取空间URL
|
| 1349 |
-
SPACE_URL = get_space_url()
|
| 1350 |
-
if SPACE_URL:
|
| 1351 |
-
print(f"Space URL: {SPACE_URL}")
|
| 1352 |
-
print("注意:Hugging Face生成的URL会自动将空间名称中的下划线(_)替换为连字符(-)")
|
| 1353 |
-
|
| 1354 |
-
|
| 1355 |
# 定期保存token使用统计
|
| 1356 |
def auto_save_stats():
|
| 1357 |
"""定期自动保存token使用统计数据的线程函数"""
|
|
|
|
| 129 |
for i, user_config in enumerate(config["config"]):
|
| 130 |
# 获取必要的配置项
|
| 131 |
cookies = user_config.get("cookies", "")
|
|
|
|
| 132 |
models = user_config.get("models", {})
|
| 133 |
|
| 134 |
# 不再从配置文件读取conversation_id,确保每次启动都使用新会话
|
|
|
|
| 137 |
# 创建会话对象
|
| 138 |
session = requests.Session()
|
| 139 |
|
| 140 |
+
# 刷新token
|
| 141 |
+
session_token = refresh_token(session, cookies)
|
| 142 |
+
if not session_token:
|
| 143 |
+
print(f"无法获取用户 {i+1} 的token,跳过该用户")
|
| 144 |
+
continue
|
| 145 |
+
|
| 146 |
+
try:
|
| 147 |
+
# 获取模型映射
|
| 148 |
+
model_map, models_set = get_model_map(session, cookies, session_token)
|
| 149 |
+
|
| 150 |
+
# 添加到USER_DATA
|
| 151 |
+
USER_DATA.append((session, cookies, session_token, conversation_id, model_map, i))
|
| 152 |
+
print(f"用户 {i+1} 配置成功,可用模型: {', '.join(models_set)}")
|
| 153 |
+
except Exception as e:
|
| 154 |
+
print(f"配置用户 {i+1} 失败: {e}")
|
| 155 |
+
continue
|
| 156 |
|
| 157 |
print(f"成功加载了 {len(USER_DATA)} 个用户配置")
|
| 158 |
|
|
|
|
| 340 |
def init_session():
|
| 341 |
get_password()
|
| 342 |
global USER_NUM, MODELS, USER_DATA
|
|
|
|
|
|
|
|
|
|
| 343 |
|
| 344 |
+
# 调用load_config代替resolve_config
|
| 345 |
+
if not load_config():
|
| 346 |
+
print("配置加载失败,退出...")
|
| 347 |
+
exit(1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 348 |
|
| 349 |
+
# 更新USER_NUM和MODELS
|
| 350 |
USER_NUM = len(USER_DATA)
|
| 351 |
if USER_NUM == 0:
|
| 352 |
print("No user available, exiting...")
|
| 353 |
exit(1)
|
| 354 |
|
| 355 |
+
# 获取所有可用模型
|
| 356 |
+
all_models = set()
|
| 357 |
+
for session, cookies, session_token, conversation_id, model_map, i in USER_DATA:
|
| 358 |
+
all_models.update(model_map.keys())
|
| 359 |
+
|
| 360 |
MODELS = all_models
|
| 361 |
print(f"启动完成,共配置 {USER_NUM} 个用户")
|
| 362 |
|
|
|
|
| 374 |
return cookies
|
| 375 |
|
| 376 |
|
| 377 |
+
# 获取空间URL
|
| 378 |
+
SPACE_URL = get_space_url()
|
| 379 |
+
if SPACE_URL:
|
| 380 |
+
print(f"Space URL: {SPACE_URL}")
|
| 381 |
+
print("注意:Hugging Face生成的URL会自动将空间名称中的下划线(_)替换为连字符(-)")
|
| 382 |
+
|
| 383 |
+
# 初始化会话
|
| 384 |
+
init_session()
|
| 385 |
|
| 386 |
|
| 387 |
@app.route("/v1/models", methods=["GET"])
|
|
|
|
| 1354 |
# 默认返回None
|
| 1355 |
return None
|
| 1356 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1357 |
# 定期保存token使用统计
|
| 1358 |
def auto_save_stats():
|
| 1359 |
"""定期自动保存token使用统计数据的线程函数"""
|