配置 API Key 环境变量,完成 FastAPI 基础配置

This commit is contained in:
2026-02-24 21:07:05 +08:00
parent 9de6c935fa
commit 5241f68190
8 changed files with 230 additions and 0 deletions

Binary file not shown.

Binary file not shown.

View File

31
backend/app/config.py Normal file
View File

@@ -0,0 +1,31 @@
from pydantic_settings import BaseSettings, SettingsConfigDict
from pathlib import Path
class Settings(BaseSettings):
# 应用基础配置
APP_NAME: str = "FilesReadSystem"
DEBUG: bool = True
API_V1_STR: str = "/api/v1"
# 数据库
MONGODB_URL: str
MONGODB_DB_NAME: str
REDIS_URL: str
# AI 相关
LLM_API_KEY: str
LLM_BASE_URL: str
LLM_MODEL_NAME: str
# 文件路径
BASE_DIR: Path = Path(__file__).resolve().parent.parent.parent
UPLOAD_DIR: str = "data/uploads"
# 允许 Pydantic 从 .env 文件读取
model_config = SettingsConfigDict(
env_file=Path(__file__).parent.parent / ".env",
env_file_encoding='utf-8',
extra='ignore'
)
settings = Settings()

19
backend/app/main.py Normal file
View File

@@ -0,0 +1,19 @@
from fastapi import FastAPI
from config import settings
app = FastAPI(
title=settings.APP_NAME,
openapi_url=f"{settings.API_V1_STR}/openapi.json"
)
@app.get("/")
async def root():
return {
"message": f"Welcome to {settings.APP_NAME}",
"status": "online",
"debug_mode": settings.DEBUG
}
if __name__ == "__main__":
import uvicorn
uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)

View File