Spaces:
Paused
Paused
| from typing import Optional | |
| from pydantic import Field, NonNegativeInt | |
| from pydantic_settings import BaseSettings | |
| class HostedOpenAiConfig(BaseSettings): | |
| """ | |
| Configuration for hosted OpenAI service | |
| """ | |
| HOSTED_OPENAI_API_KEY: Optional[str] = Field( | |
| description="API key for hosted OpenAI service", | |
| default=None, | |
| ) | |
| HOSTED_OPENAI_API_BASE: Optional[str] = Field( | |
| description="Base URL for hosted OpenAI API", | |
| default=None, | |
| ) | |
| HOSTED_OPENAI_API_ORGANIZATION: Optional[str] = Field( | |
| description="Organization ID for hosted OpenAI service", | |
| default=None, | |
| ) | |
| HOSTED_OPENAI_TRIAL_ENABLED: bool = Field( | |
| description="Enable trial access to hosted OpenAI service", | |
| default=False, | |
| ) | |
| HOSTED_OPENAI_TRIAL_MODELS: str = Field( | |
| description="Comma-separated list of available models for trial access", | |
| 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="Quota limit for hosted OpenAI service usage", | |
| default=200, | |
| ) | |
| HOSTED_OPENAI_PAID_ENABLED: bool = Field( | |
| description="Enable paid access to hosted OpenAI service", | |
| default=False, | |
| ) | |
| HOSTED_OPENAI_PAID_MODELS: str = Field( | |
| description="Comma-separated list of available models for paid access", | |
| 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(BaseSettings): | |
| """ | |
| Configuration for hosted Azure OpenAI service | |
| """ | |
| HOSTED_AZURE_OPENAI_ENABLED: bool = Field( | |
| description="Enable hosted Azure OpenAI service", | |
| default=False, | |
| ) | |
| HOSTED_AZURE_OPENAI_API_KEY: Optional[str] = Field( | |
| description="API key for hosted Azure OpenAI service", | |
| default=None, | |
| ) | |
| HOSTED_AZURE_OPENAI_API_BASE: Optional[str] = Field( | |
| description="Base URL for hosted Azure OpenAI API", | |
| default=None, | |
| ) | |
| HOSTED_AZURE_OPENAI_QUOTA_LIMIT: NonNegativeInt = Field( | |
| description="Quota limit for hosted Azure OpenAI service usage", | |
| default=200, | |
| ) | |
| class HostedAnthropicConfig(BaseSettings): | |
| """ | |
| Configuration for hosted Anthropic service | |
| """ | |
| HOSTED_ANTHROPIC_API_BASE: Optional[str] = Field( | |
| description="Base URL for hosted Anthropic API", | |
| default=None, | |
| ) | |
| HOSTED_ANTHROPIC_API_KEY: Optional[str] = Field( | |
| description="API key for hosted Anthropic service", | |
| default=None, | |
| ) | |
| HOSTED_ANTHROPIC_TRIAL_ENABLED: bool = Field( | |
| description="Enable trial access to hosted Anthropic service", | |
| default=False, | |
| ) | |
| HOSTED_ANTHROPIC_QUOTA_LIMIT: NonNegativeInt = Field( | |
| description="Quota limit for hosted Anthropic service usage", | |
| default=600000, | |
| ) | |
| HOSTED_ANTHROPIC_PAID_ENABLED: bool = Field( | |
| description="Enable paid access to hosted Anthropic service", | |
| default=False, | |
| ) | |
| class HostedMinmaxConfig(BaseSettings): | |
| """ | |
| Configuration for hosted Minmax service | |
| """ | |
| HOSTED_MINIMAX_ENABLED: bool = Field( | |
| description="Enable hosted Minmax service", | |
| default=False, | |
| ) | |
| class HostedSparkConfig(BaseSettings): | |
| """ | |
| Configuration for hosted Spark service | |
| """ | |
| HOSTED_SPARK_ENABLED: bool = Field( | |
| description="Enable hosted Spark service", | |
| default=False, | |
| ) | |
| class HostedZhipuAIConfig(BaseSettings): | |
| """ | |
| Configuration for hosted ZhipuAI service | |
| """ | |
| HOSTED_ZHIPUAI_ENABLED: bool = Field( | |
| description="Enable hosted ZhipuAI service", | |
| default=False, | |
| ) | |
| class HostedModerationConfig(BaseSettings): | |
| """ | |
| Configuration for hosted Moderation service | |
| """ | |
| HOSTED_MODERATION_ENABLED: bool = Field( | |
| description="Enable hosted Moderation service", | |
| default=False, | |
| ) | |
| HOSTED_MODERATION_PROVIDERS: str = Field( | |
| description="Comma-separated list of moderation providers", | |
| default="", | |
| ) | |
| class HostedFetchAppTemplateConfig(BaseSettings): | |
| """ | |
| Configuration for fetching app templates | |
| """ | |
| HOSTED_FETCH_APP_TEMPLATES_MODE: str = Field( | |
| description="Mode for fetching app templates: remote, db, or builtin" " default to remote,", | |
| default="remote", | |
| ) | |
| HOSTED_FETCH_APP_TEMPLATES_REMOTE_DOMAIN: str = Field( | |
| description="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 | |