Add client-mode FastGPT routing
This commit is contained in:
+32
-10
@@ -10,21 +10,43 @@ class Config:
|
||||
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./test.db")
|
||||
DEBUG = os.getenv("DEBUG", "false").lower() in ("true", "1", "t")
|
||||
|
||||
# FastGPT Configuration
|
||||
FASTGPT_API_KEY = os.getenv("ANALYSIS_AUTH_TOKEN")
|
||||
FASTGPT_BASE_URL = os.getenv("ANALYSIS_SERVICE_URL")
|
||||
FASTGPT_APP_ID = os.getenv("APP_ID")
|
||||
DELETE_SESSION_URL = os.getenv("DELETE_SESSION_URL")
|
||||
DELETE_CHAT_URL = os.getenv("DELETE_CHAT_URL")
|
||||
GET_CHAT_RECORDS_URL = os.getenv("GET_CHAT_RECORDS_URL")
|
||||
# FastGPT Configuration. Direct mode falls back to the legacy environment
|
||||
# variable names so existing deployments keep working unchanged.
|
||||
FASTGPT_DIRECT_API_KEY = (
|
||||
os.getenv("FASTGPT_DIRECT_API_KEY")
|
||||
or os.getenv("ANALYSIS_AUTH_TOKEN")
|
||||
)
|
||||
FASTGPT_DIRECT_BASE_URL = (
|
||||
os.getenv("FASTGPT_DIRECT_BASE_URL")
|
||||
or os.getenv("ANALYSIS_SERVICE_URL")
|
||||
)
|
||||
FASTGPT_DIRECT_APP_ID = (
|
||||
os.getenv("FASTGPT_DIRECT_APP_ID")
|
||||
or os.getenv("APP_ID")
|
||||
)
|
||||
|
||||
FASTGPT_BROWSER_ADDON_API_KEY = os.getenv("FASTGPT_BROWSER_ADDON_API_KEY")
|
||||
FASTGPT_BROWSER_ADDON_BASE_URL = (
|
||||
os.getenv("FASTGPT_BROWSER_ADDON_BASE_URL")
|
||||
or FASTGPT_DIRECT_BASE_URL
|
||||
)
|
||||
FASTGPT_BROWSER_ADDON_APP_ID = os.getenv("FASTGPT_BROWSER_ADDON_APP_ID")
|
||||
|
||||
# Backward-compatible aliases for code outside the mode-aware API layer.
|
||||
FASTGPT_API_KEY = FASTGPT_DIRECT_API_KEY
|
||||
FASTGPT_BASE_URL = FASTGPT_DIRECT_BASE_URL
|
||||
FASTGPT_APP_ID = FASTGPT_DIRECT_APP_ID
|
||||
|
||||
@classmethod
|
||||
def validate(cls):
|
||||
"""Validate required configuration."""
|
||||
required = [
|
||||
("FASTGPT_API_KEY", cls.FASTGPT_API_KEY),
|
||||
("FASTGPT_APP_ID", cls.FASTGPT_APP_ID),
|
||||
("FASTGPT_DIRECT_BASE_URL (or ANALYSIS_SERVICE_URL)", cls.FASTGPT_DIRECT_BASE_URL),
|
||||
("FASTGPT_DIRECT_API_KEY (or ANALYSIS_AUTH_TOKEN)", cls.FASTGPT_DIRECT_API_KEY),
|
||||
("FASTGPT_DIRECT_APP_ID (or APP_ID)", cls.FASTGPT_DIRECT_APP_ID),
|
||||
("FASTGPT_BROWSER_ADDON_API_KEY", cls.FASTGPT_BROWSER_ADDON_API_KEY),
|
||||
("FASTGPT_BROWSER_ADDON_APP_ID", cls.FASTGPT_BROWSER_ADDON_APP_ID),
|
||||
]
|
||||
missing = [name for name, value in required if not value]
|
||||
if missing:
|
||||
raise ValueError(f"Missing required environment variables: {', '.join(missing)}")
|
||||
raise ValueError(f"Missing required environment variables: {', '.join(missing)}")
|
||||
|
||||
Reference in New Issue
Block a user