config.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #!/usr/bin/env python3
  2. # -*- coding: UTF-8 -*-
  3. ################################################################################
  4. #
  5. # Copyright (c) 2023 Baidu.com, Inc. All Rights Reserved
  6. #
  7. ################################################################################
  8. """
  9. config
  10. Authors: xiangyiqing(xiangyiqing@baidu.com)
  11. Date: 2023/07/24
  12. """
  13. import os
  14. ENV = os.environ.get("CURRENT_ENV", "online") # sandbox or online
  15. if ENV == "":
  16. ENV = "online"
  17. # Set to either 'debug' or 'info', controls console logging
  18. DEFAULT_LOG_LEVEL = "info"
  19. CONNECTION_TIMEOUT = 30 # second
  20. CONNECTION_RETRY_TIMES = 1
  21. CONNECTION_TIMEOUT_UPLOAD = 60 * 60 # second
  22. CONNECTION_TIMEOUT_DOWNLOAD = 60 * 60 # second
  23. COMMON_FILE_SIZE_LIMIT = 5 * 1024 * 1024 # 5M
  24. LFS_FILE_SIZE_LIMIT = 50 * 1024 * 1024 * 1024 # 50G
  25. LFS_FILE_SIZE_LIMIT_PUT = 5 * 1024 * 1024 * 1024 # 5G
  26. TOKEN_FILE = os.path.expanduser("~/.aistudio_token")
  27. # host
  28. if ENV == "sandbox":
  29. STUDIO_GIT_HOST_DEFAULT = "http://sandbox-git.aistudio.baidu.com"
  30. SALT = "2974edcb4e83f7965c3c6d5720e5f49f"
  31. STUDIO_MODEL_API_URL_PREFIX_DEFAULT = "https://sandbox-aistudio.baidu.com"
  32. STUDIO_CDN_HOST_DEFAULT= "gitea-sandbox.cdn.bcebos.com"
  33. UNLIMITED_HOST = "gitea-sandbox.cdn.bcebos.com"
  34. LIMITED_HOST = "gitea-sandbox.cdn.bcebos.com"
  35. elif ENV == "online":
  36. STUDIO_GIT_HOST_DEFAULT = "https://git.aistudio.baidu.com"
  37. SALT = "f822a915a3785ef9c35bfa0d9a5bcc62"
  38. STUDIO_MODEL_API_URL_PREFIX_DEFAULT = "https://aistudio.baidu.com"
  39. STUDIO_CDN_HOST_DEFAULT = "gitea-cdn.baidu-tech.com"
  40. UNLIMITED_HOST = "gitea-cdn.baidu-tech.com"
  41. LIMITED_HOST = "bj-gitea-online.cdn.bcebos.com"
  42. else:
  43. raise ValueError("Invalid ENV: {}".format(ENV))
  44. # Hub API
  45. HUB_URL = "/modelcenter/v2/models/sdk/add"
  46. HUB_URL_VISIBLE_CHECK = "/modelcenter/v2/models/sdk/checkPermit"
  47. APP_SERVICE_URL = "/serving/web/highapp/sdk/create"
  48. BLACK_LIST_URL = "/modelcenter/v2/models/getSuffixBlackList"
  49. README_CHECK_URL = "/modelcenter/v2/models/checkYaml"
  50. # PP Pipeline API
  51. MOUNT_DATASET_LIMIT = 3
  52. PIPELINE_CODE_SIZE_LIMIT = 50 * 1024 * 1024 # bytes
  53. PIPELINE_CREATE_URL = "/paddlex/v3/pipelines/sdk/create"
  54. PIPELINE_CREATE_CALLBACK_URL = "/paddlex/v3/pipelines/sdk/create/callback"
  55. PIPELINE_BOSACL_URL = "/paddlex/v3/file/api/bosacl"
  56. PIPELINE_QUERY_URL = "/paddlex/v3/pipelines/sdk/list"
  57. PIPELINE_STOP_URL = "/paddlex/v3/pipelines/sdk/stop"
  58. REPO_TYPE_MODEL = "model"
  59. REPO_TYPE_DATASET = "dataset"
  60. REPO_TYPE_SUPPORT = [REPO_TYPE_MODEL, REPO_TYPE_DATASET]
  61. MODEL_ID_SEPARATOR = "/"
  62. DEFAULT_AISTUDIO_GROUP = "demo"
  63. TEMPORARY_FOLDER_NAME = "._tmp"
  64. FILE_HASH = "Sha256"
  65. AISTUDIO_ENABLE_DEFAULT_HASH_VALIDATION = "AISTUDIO_ENABLE_DEFAULT_HASH_VALIDATION"
  66. DEFAULT_REPOSITORY_REVISION = 'master'
  67. DEFAULT_DATASET_REVISION = "master"
  68. DEFAULT_MODEL_REVISION = "master"
  69. AISTUDIO_PARALLEL_DOWNLOAD_THRESHOLD_MB = int(
  70. os.environ.get('AISTUDIO_PARALLEL_DOWNLOAD_THRESHOLD_MB', 160))
  71. AISTUDIO_DOWNLOAD_PARALLELS = int(
  72. os.environ.get('AISTUDIO_DOWNLOAD_PARALLELS', 6))
  73. API_FILE_DOWNLOAD_RETRY_TIMES = 3
  74. API_FILE_DOWNLOAD_TIMEOUT = 60
  75. API_FILE_DOWNLOAD_CHUNK_SIZE = 1024 * 1024 * 1
  76. DEFAULT_MAX_WORKERS = 3
  77. CACHE_KEY = "last_commit_sha"
  78. UPLOAD_MAX_FILE_COUNT = int(os.environ.get('UPLOAD_MAX_FILE_COUNT', 100000))
  79. UPLOAD_MAX_FILE_COUNT_IN_DIR = int(os.environ.get('UPLOAD_MAX_FILE_COUNT_IN_DIR', 50000))
  80. UPLOAD_MAX_FILE_SIZE = int(os.environ.get('UPLOAD_MAX_FILE_SIZE', 100 * 1024 ** 3))
  81. UPLOAD_SIZE_THRESHOLD_TO_ENFORCE_LFS = int(
  82. os.environ.get('UPLOAD_SIZE_THRESHOLD_TO_ENFORCE_LFS', 5 * 1024 * 1024))
  83. UPLOAD_NORMAL_FILE_SIZE_TOTAL_LIMIT = int(
  84. os.environ.get('UPLOAD_NORMAL_FILE_SIZE_TOTAL_LIMIT', 500 * 1024 * 1024))