mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 19:59:50 +08:00
209 lines
4.5 KiB
Python
209 lines
4.5 KiB
Python
|
from typing import Optional
|
||
|
|
||
|
from pydantic import BaseModel, Field, NonNegativeInt
|
||
|
|
||
|
|
||
|
class HostedOpenAiConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted OpenAI service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_OPENAI_API_KEY: Optional[str] = Field(
|
||
|
description='',
|
||
|
default=None,
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_API_BASE: Optional[str] = Field(
|
||
|
description='',
|
||
|
default=None,
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_API_ORGANIZATION: Optional[str] = Field(
|
||
|
description='',
|
||
|
default=None,
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_TRIAL_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_TRIAL_MODELS: str = Field(
|
||
|
description='',
|
||
|
default='gpt-3.5-turbo,'
|
||
|
'gpt-3.5-turbo-1106,'
|
||
|
'gpt-3.5-turbo-instruct,'
|
||
|
'gpt-3.5-turbo-16k,'
|
||
|
'gpt-3.5-turbo-16k-0613,'
|
||
|
'gpt-3.5-turbo-0613,'
|
||
|
'gpt-3.5-turbo-0125,'
|
||
|
'text-davinci-003',
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_QUOTA_LIMIT: NonNegativeInt = Field(
|
||
|
description='',
|
||
|
default=200,
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_PAID_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_PAID_MODELS: str = Field(
|
||
|
description='',
|
||
|
default='gpt-4,'
|
||
|
'gpt-4-turbo-preview,'
|
||
|
'gpt-4-turbo-2024-04-09,'
|
||
|
'gpt-4-1106-preview,'
|
||
|
'gpt-4-0125-preview,'
|
||
|
'gpt-3.5-turbo,'
|
||
|
'gpt-3.5-turbo-16k,'
|
||
|
'gpt-3.5-turbo-16k-0613,'
|
||
|
'gpt-3.5-turbo-1106,'
|
||
|
'gpt-3.5-turbo-0613,'
|
||
|
'gpt-3.5-turbo-0125,'
|
||
|
'gpt-3.5-turbo-instruct,'
|
||
|
'text-davinci-003',
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedAzureOpenAiConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted OpenAI service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_AZURE_OPENAI_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
HOSTED_OPENAI_API_KEY: Optional[str] = Field(
|
||
|
description='',
|
||
|
default=None,
|
||
|
)
|
||
|
|
||
|
HOSTED_AZURE_OPENAI_API_BASE: Optional[str] = Field(
|
||
|
description='',
|
||
|
default=None,
|
||
|
)
|
||
|
|
||
|
HOSTED_AZURE_OPENAI_QUOTA_LIMIT: NonNegativeInt = Field(
|
||
|
description='',
|
||
|
default=200,
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedAnthropicConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted Azure OpenAI service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_ANTHROPIC_API_BASE: Optional[str] = Field(
|
||
|
description='',
|
||
|
default=None,
|
||
|
)
|
||
|
|
||
|
HOSTED_ANTHROPIC_API_KEY: Optional[str] = Field(
|
||
|
description='',
|
||
|
default=None,
|
||
|
)
|
||
|
|
||
|
HOSTED_ANTHROPIC_TRIAL_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
HOSTED_ANTHROPIC_QUOTA_LIMIT: NonNegativeInt = Field(
|
||
|
description='',
|
||
|
default=600000,
|
||
|
)
|
||
|
|
||
|
HOSTED_ANTHROPIC_PAID_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedMinmaxConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted Minmax service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_MINIMAX_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedSparkConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted Spark service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_SPARK_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedZhipuAIConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted Minmax service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_ZHIPUAI_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedModerationConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted Moderation service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_MODERATION_ENABLED: bool = Field(
|
||
|
description='',
|
||
|
default=False,
|
||
|
)
|
||
|
|
||
|
HOSTED_MODERATION_PROVIDERS: str = Field(
|
||
|
description='',
|
||
|
default='',
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedFetchAppTemplateConfig(BaseModel):
|
||
|
"""
|
||
|
Hosted Moderation service config
|
||
|
"""
|
||
|
|
||
|
HOSTED_FETCH_APP_TEMPLATES_MODE: str = Field(
|
||
|
description='the mode for fetching app templates,'
|
||
|
' default to remote,'
|
||
|
' available values: remote, db, builtin',
|
||
|
default='remote',
|
||
|
)
|
||
|
|
||
|
HOSTED_FETCH_APP_TEMPLATES_REMOTE_DOMAIN: str = Field(
|
||
|
description='the domain for fetching remote app templates',
|
||
|
default='https://tmpl.dify.ai',
|
||
|
)
|
||
|
|
||
|
|
||
|
class HostedServiceConfig(
|
||
|
# place the configs in alphabet order
|
||
|
HostedAnthropicConfig,
|
||
|
HostedAzureOpenAiConfig,
|
||
|
HostedFetchAppTemplateConfig,
|
||
|
HostedMinmaxConfig,
|
||
|
HostedOpenAiConfig,
|
||
|
HostedSparkConfig,
|
||
|
HostedZhipuAIConfig,
|
||
|
|
||
|
# moderation
|
||
|
HostedModerationConfig,
|
||
|
):
|
||
|
pass
|