mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 11:42:29 +08:00
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
from configs.deploy import DeploymentConfig
|
|
from configs.enterprise import EnterpriseFeatureConfig
|
|
from configs.extra import ExtraServiceConfig
|
|
from configs.feature import FeatureConfig
|
|
from configs.middleware import MiddlewareConfig
|
|
from configs.packaging import PackagingInfo
|
|
|
|
|
|
# TODO: Both `BaseModel` and `BaseSettings` has `model_config` attribute but they are in different types.
|
|
# This inheritance is depends on the order of the classes.
|
|
# It is better to use `BaseSettings` as the base class.
|
|
class DifyConfig(
|
|
# based on pydantic-settings
|
|
BaseSettings,
|
|
|
|
# Packaging info
|
|
PackagingInfo,
|
|
|
|
# Deployment configs
|
|
DeploymentConfig,
|
|
|
|
# Feature configs
|
|
FeatureConfig,
|
|
|
|
# Middleware configs
|
|
MiddlewareConfig,
|
|
|
|
# Extra service configs
|
|
ExtraServiceConfig,
|
|
|
|
# Enterprise feature configs
|
|
# **Before using, please contact business@dify.ai by email to inquire about licensing matters.**
|
|
EnterpriseFeatureConfig,
|
|
):
|
|
|
|
model_config = SettingsConfigDict(
|
|
# read from dotenv format config file
|
|
env_file='.env',
|
|
env_file_encoding='utf-8',
|
|
|
|
# ignore extra attributes
|
|
extra='ignore',
|
|
)
|