planRun / some_base_method /path_tex.py
sanbo
update sth. at 2025-01-04 18:31:02
68515e1
raw
history blame
2.39 kB
import os
replace_chat = os.getenv("REPLACE_CHAT","/replace/chat")
prefix_chat = os.getenv("PREFIX_CHAT","/pre/api,/pre/hf")
append_chat = os.getenv("APPEND_CHAT","/append/v1/go,/append/v2")
def get_dynamic_routes():
"""
根据环境变量动态生成路由路径。
优先级: REPLACE_CHAT > PREFIX_CHAT > APPEND_CHAT
- REPLACE_CHAT: 替换默认访问地址,直接替换默认路径,支持多个,逗号分割
- PREFIX_CHAT: 在默认访问地址前加上前缀,支持多个,逗号分割
- APPEND_CHAT: 添加额外的访问地址,支持多个,逗号分割
:return: 返回一个包含动态生成的路由路径的列表
"""
# 默认路径
default_path = "/v1/chat/completions"
# 获取环境变量,默认为空字符串
replace_chat = os.getenv("REPLACE_CHAT", "")
prefix_chat = os.getenv("PREFIX_CHAT", "")
append_chat = os.getenv("APPEND_CHAT", "")
# 优先级: 如果设置了 REPLACE_CHAT,直接返回替换路径
if replace_chat:
# 如果设置了 REPLACE_CHAT,按逗号分割,返回多个替换路径
return [path.strip() for path in replace_chat.split(",") if path.strip()]
# 如果没有 REPLACE_CHAT,检查是否设置了 PREFIX_CHAT
routes = [] # 用于保存最终生成的路由列表
# 处理 PREFIX_CHAT: 在默认路径前加前缀
if prefix_chat:
# 将 PREFIX_CHAT 按逗号分隔,支持多个前缀
prefixes = prefix_chat.split(",")
for prefix in prefixes:
# 确保路径拼接时,前缀和默认路径之间有一个斜杠
routes.append(prefix + default_path)
# 如果设置了 PREFIX_CHAT,返回所有生成的前缀路径
return routes
# 如果没有设置 PREFIX_CHAT,检查是否设置了 APPEND_CHAT
if append_chat:
# 将 APPEND_CHAT 按逗号分隔,去除可能的空值和空白字符
append_paths = [path.strip() for path in append_chat.split(",") if path.strip()]
# 将默认路径和 APPEND_CHAT 中的路径合并
routes = [default_path] + append_paths
# 如果没有设置 REPLACE_CHAT、PREFIX_CHAT 或 APPEND_CHAT,返回默认路径
if not routes:
routes.append(default_path)
# 返回生成的所有路由路径
return routes
if __name__ == '__main__':
print(get_dynamic_routes())