Spaces:
Build error
Build error
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 | |