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())