增加代码知识库;修复文档处理内容;增加API设置

This commit is contained in:
2026-05-16 20:20:10 +08:00
parent 69b49d28b2
commit 7aa3ce3294
119 changed files with 182273 additions and 793 deletions

View File

@@ -1,4 +1,5 @@
import os
import secrets
from typing import List, Optional
from pydantic_settings import BaseSettings
@@ -8,6 +9,7 @@ class Settings(BaseSettings):
PROJECT_NAME: str = "RAG Web UI" # Project name
VERSION: str = "0.1.0" # Project version
API_V1_STR: str = "/api" # API version string
ENVIRONMENT: str = os.getenv("ENVIRONMENT", os.getenv("APP_ENV", "development"))
# MySQL settings
MYSQL_SERVER: str = os.getenv("MYSQL_SERVER", "localhost")
@@ -27,7 +29,7 @@ class Settings(BaseSettings):
)
# JWT settings
SECRET_KEY: str = os.getenv("SECRET_KEY", "your-secret-key-here")
SECRET_KEY: str = os.getenv("SECRET_KEY", "")
ALGORITHM: str = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES: int = int(os.getenv("ACCESS_TOKEN_EXPIRE_MINUTES", "10080"))
@@ -48,9 +50,7 @@ class Settings(BaseSettings):
# OpenAI settings
OPENAI_API_BASE: str = os.getenv("OPENAI_API_BASE", "https://api.openai.com/v1")
OPENAI_API_KEY: str = os.getenv(
"OPENAI_API_KEY", os.getenv("API_KEY", "your-openai-api-key-here")
)
OPENAI_API_KEY: str = os.getenv("OPENAI_API_KEY", os.getenv("API_KEY", ""))
OPENAI_MODEL: str = os.getenv("OPENAI_MODEL", "gpt-4")
OPENAI_EMBEDDINGS_MODEL: str = os.getenv("OPENAI_EMBEDDINGS_MODEL", "text-embedding-ada-002")
@@ -63,7 +63,7 @@ class Settings(BaseSettings):
"DASH_SCOPE_API_BASE", "https://dashscope.aliyuncs.com/compatible-mode/v1"
)
DASH_SCOPE_CHAT_MODEL: str = os.getenv("DASH_SCOPE_CHAT_MODEL", "qwen3-max")
DASH_SCOPE_EMBEDDINGS_MODEL: str = os.getenv("DASH_SCOPE_EMBEDDINGS_MODEL", "")
DASH_SCOPE_EMBEDDINGS_MODEL: str = os.getenv("DASH_SCOPE_EMBEDDINGS_MODEL", "text-embedding-v4")
# Vector Store settings
VECTOR_STORE_TYPE: str = os.getenv("VECTOR_STORE_TYPE", "chroma")
@@ -121,3 +121,7 @@ class Settings(BaseSettings):
settings = Settings()
if not settings.SECRET_KEY:
if settings.ENVIRONMENT.lower() in {"prod", "production"}:
raise ValueError("SECRET_KEY must be set in production.")
settings.SECRET_KEY = secrets.token_urlsafe(32)