88 lines
4.1 KiB
Plaintext
88 lines
4.1 KiB
Plaintext
# ==================== 应用基础配置 ====================
|
||
# 应用名称、版本和运行环境,用于接口文档、日志和运行行为识别。
|
||
RISK_APP_NAME=Dieya Risk Prediction Backend
|
||
RISK_APP_VERSION=0.1.0
|
||
RISK_ENVIRONMENT=development
|
||
RISK_DEBUG=false
|
||
|
||
# ==================== 数据库配置 ====================
|
||
# 风险系统业务数据库连接地址,包含数据库用户、密码、主机、端口和库名。
|
||
RISK_DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/dieya_risk_prediction
|
||
|
||
# ==================== 日志配置 ====================
|
||
# 控制后端日志级别;可选 DEBUG、INFO、WARNING、ERROR。
|
||
RISK_LOG_LEVEL=INFO
|
||
|
||
# ==================== JWT 登录鉴权配置 ====================
|
||
# JWT 签名密钥、签名算法和登录态有效期(分钟)。生产环境必须更换签名密钥。
|
||
RISK_JWT_SECRET_KEY=CHANGE_THIS_IN_PRODUCTION
|
||
RISK_JWT_ALGORITHM=HS256
|
||
RISK_JWT_EXPIRE_MINUTES=480
|
||
|
||
# ==================== 钉钉免登配置 ====================
|
||
# 用于钉钉免登和组织身份校验;未接入钉钉时可以留空。
|
||
RISK_DINGTALK_APP_KEY=
|
||
RISK_DINGTALK_APP_SECRET=
|
||
RISK_DINGTALK_CORP_ID=
|
||
RISK_DINGTALK_AGENT_ID=
|
||
|
||
# ==================== 外部系统风险评估接口 ====================
|
||
# JSON 对象:调用系统编号 -> 独立 HMAC 密钥。默认 {} 禁止所有外部调用。
|
||
# 测试/正式环境使用不同密钥,密钥至少 32 个字符,仅保存在双方后端。
|
||
RISK_INTEGRATION_CLIENTS={}
|
||
# 已批准的非钉钉用户映射:调用系统 -> 对方账号标识 -> 本地 emp_no;默认不允许。
|
||
RISK_INTEGRATION_OPERATOR_MAPPINGS={}
|
||
# 示例:{"dieya-plm":{"superadmin":"plm_superadmin"}}
|
||
# 配置示例(请替换密钥):{"dieya-plm":"replace-with-at-least-32-random-characters"}
|
||
RISK_INTEGRATION_REQUESTS_PER_MINUTE=60
|
||
RISK_INTEGRATION_REPORT_TIMEOUT_SECONDS=110
|
||
|
||
# ==================== 百度 OCR ====================
|
||
# 图片调用 WebImage,PDF 调用 PaddleOCR-VL 文档解析;上传原件仅保存在本机目录。
|
||
BAIDU_OCR_API_KEY=
|
||
BAIDU_OCR_SECRET_KEY=
|
||
RISK_BAIDU_OCR_IMAGE_URL=https://aip.baidubce.com/rest/2.0/ocr/v1/webimage
|
||
RISK_BAIDU_OCR_DOCUMENT_URL=https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task
|
||
RISK_BAIDU_OCR_TIMEOUT_SECONDS=75
|
||
RISK_BAIDU_OCR_POLL_INTERVAL_SECONDS=2
|
||
RISK_OCR_UPLOAD_DIR=.runtime-uploads/ocr
|
||
RISK_OCR_MAX_FILE_MB=10
|
||
RISK_OCR_MAX_BATCH_FILES=5
|
||
RISK_OCR_REVIEW_CONFIDENCE=0.8
|
||
RISK_OCR_JUDGMENT_CONFIDENCE=0.85
|
||
|
||
# ==================== 主 LLM 模型配置 ====================
|
||
# 主模型 API 密钥、OpenAI 兼容接口地址、模型名、请求超时时间和生成温度。
|
||
RISK_LLM_API_KEY=
|
||
RISK_LLM_BASE_URL=https://api.openai.com/v1
|
||
RISK_LLM_MODEL=gpt-4o-mini
|
||
RISK_LLM_TIMEOUT_SECONDS=120
|
||
RISK_LLM_TEMPERATURE=0.2
|
||
|
||
# ==================== LLM 兜底模型配置 ====================
|
||
# 主模型请求失败时使用 DeepSeek;填写独立的 DeepSeek API Key 才会真正启用兜底。
|
||
# API_MODE=responses 时调用 /responses;如服务商只支持 Chat Completions,可改为 chat_completions。
|
||
# MAX_RETRIES 是兜底端点内部的重试次数,REASONING_EFFORT 适用于 Responses 推理配置。
|
||
RISK_LLM_FALLBACK_API_KEY=
|
||
RISK_LLM_FALLBACK_BASE_URL=https://api.deepseek.com
|
||
RISK_LLM_FALLBACK_MODEL=deepseek-v4-pro
|
||
RISK_LLM_FALLBACK_API_MODE=responses
|
||
RISK_LLM_FALLBACK_TIMEOUT_SECONDS=30
|
||
RISK_LLM_FALLBACK_MAX_RETRIES=1
|
||
RISK_LLM_FALLBACK_REASONING_EFFORT=high
|
||
RISK_LLM_FALLBACK_MAX_OUTPUT_TOKENS=16384
|
||
|
||
# ==================== RAG 向量检索配置 ====================
|
||
# 可选的 Embeddings 服务;留空 API Key 时复用主 LLM Key 和地址。
|
||
# 当前数据库未安装 pgvector 时,系统自动使用业务字段 + 文本相关性混合检索。
|
||
RISK_RAG_EMBEDDING_API_KEY=
|
||
RISK_RAG_EMBEDDING_BASE_URL=https://api.openlux.ai/v1
|
||
RISK_RAG_EMBEDDING_MODEL=gemini-embedding-2-preview
|
||
RISK_RAG_EMBEDDING_DIMENSIONS=3072
|
||
RISK_RAG_EMBEDDING_TIMEOUT_SECONDS=10
|
||
RISK_RAG_TOP_K=5
|
||
|
||
# ==================== 跨域配置 ====================
|
||
# 允许访问后端接口的前端地址,多个地址用英文逗号分隔。
|
||
RISK_CORS_ALLOW_ORIGINS=http://localhost:39158,http://127.0.0.1:39158
|