配置层: - Settings 新增 llm_provider/api_key/base_url/model/timeout/max_tokens - 生产 fail-closed: GAOKAO_LLM_PROVIDER=none 禁止, provider!=none 且 API key 为空禁止 - .env.docker.example / .env.payment.example 补 LLM 变量 - payment_readiness_doctor 将 LLM 配置纳入 readiness 检查 基础设施: - 新增 data/llm/client.py: OpenAI-compatible LLMClient - 新增 data/llm/prompts.py: audit/cwb/full_plan prompt 模板 - 新增 data/llm/tests/test_llm.py: 12 个单元测试 主链接入: - ReviewResultContract 新增 llm_generated / llm_summary / llm_cwb_suggestions - _start_review_result 优先尝试 LLM 生成审核结果, 失败时回退到原规则默认逻辑 - cwb 页面优先展示 LLM 生成的三档建议 测试适配: - conftest / health / app / p2_4 tests 注入默认 LLM 测试配置,避免被新 fail-closed 提前拦截 验证: - data/llm/tests 12 passed - 核心 prod settings tests 62 passed
36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
GAOKAO_ADMIN_BIND=0.0.0.0
|
|
GAOKAO_ENV=prod
|
|
GAOKAO_ADMIN_PORT=8000
|
|
GAOKAO_ADMIN_USER=admin
|
|
GAOKAO_ADMIN_PASS=change-me-now-admin-pass
|
|
GAOKAO_JWT_SECRET=replace-with-64-char-jwt-secret-before-production-1234567890abcdef
|
|
GAOKAO_PORTAL_TOKEN_SECRET=replace-with-independent-64-char-portal-secret-before-production-abcdef1234567890
|
|
GAOKAO_ORDERS_FERNET_KEY=replace-with-strong-orders-fernet-secret-before-production
|
|
GAOKAO_PORTAL_UPLOAD_DIR=/var/lib/gaokao/portal_uploads
|
|
GAOKAO_PORTAL_UPLOAD_MAX_BYTES=5242880
|
|
GAOKAO_PORTAL_UPLOAD_MAX_FILES=5
|
|
# LLM 自动审核 / 方案生成(生产环境必须配置)
|
|
GAOKAO_LLM_PROVIDER=dashscope
|
|
GAOKAO_LLM_API_KEY=replace-with-real-llm-api-key
|
|
GAOKAO_LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
|
|
GAOKAO_LLM_MODEL=qwen-plus
|
|
GAOKAO_LLM_TIMEOUT=60
|
|
GAOKAO_LLM_MAX_TOKENS=4096
|
|
GAOKAO_PAYMENT_PROVIDER=mock
|
|
GAOKAO_PAYMENT_BASE_URL=https://example.com
|
|
GAOKAO_PAYMENT_WEBHOOK_SECRET=replace-with-independent-payment-webhook-secret
|
|
GAOKAO_PAYMENT_NOTIFY_URL=
|
|
GAOKAO_PAYMENT_RETURN_URL=
|
|
GAOKAO_PAYMENT_APP_ID=
|
|
GAOKAO_PAYMENT_PRIVATE_KEY_PATH=
|
|
GAOKAO_PAYMENT_ALIPAY_PUBLIC_KEY_PATH=
|
|
GAOKAO_SMTP_HOST=
|
|
GAOKAO_SMTP_PORT=25
|
|
GAOKAO_SMTP_SENDER=
|
|
GAOKAO_SMTP_USER=
|
|
GAOKAO_SMTP_PASS=
|
|
GAOKAO_SMTP_USE_TLS=false
|
|
GAOKAO_SMTP_USE_SSL=false
|
|
GAOKAO_ALERT_RECIPIENTS=
|
|
GAOKAO_ALERT_WEBHOOK_URLS=
|
|
GAOKAO_OPS_ALERT_LOG=/var/lib/gaokao/ops-alerts.jsonl |