""" 配置文件 - 集中管理应用配置 """ import os # ==================== API 配置 ==================== # DeepSeek V3 API 配置 API_KEY = os.getenv("DEEPSEEK_API_KEY") or "tmBBchNoClGSrUmV" API_BASE_URL = os.getenv("DEEPSEEK_BASE_URL") or "http://env-cvcgvp6m1hkmaaarobeg-cn-wulanchabu.alicloudapi.com/v1" MODEL_NAME = os.getenv("MODEL_NAME") or "DeepSeek-V3-0324" if not API_KEY: print("⚠️ 警告:未找到 DEEPSEEK_API_KEY 环境变量") print("请设置环境变量:export DEEPSEEK_API_KEY='your-api-key'") # 模型参数配置 MAX_TOKENS = 8192 TEMPERATURE = 0.85 TOP_P = 0.9 # ==================== 文件处理配置 ==================== # 上传GDL文本的本地合并上限(仅本地拼接、非服务端限制) MAX_FILE_CHARS = 200000 SUPPORTED_FILE_TYPES = [".txt"] # ==================== 默认提示词 ==================== SYSTEM_PROMPT = """你是一位资深的麻将与东亚棋牌玩法设计专家,熟悉各地番型体系、操作节奏与现代桌游融合设计手法。 请根据用户需求,输出兼具创新性与可落地性的麻将玩法方案(包含番型结构、组件、流程与体验亮点)。""" # ==================== UI 配置 ==================== APP_TITLE = "🀄️ 麻将玩法创意工坊" CHATBOT_HEIGHT = 640 MIN_WIDTH_LEFT = 320 MIN_WIDTH_RIGHT = 640 # ==================== 生成质量增强(可开关) ==================== # 是否启用“参考玩法检索注入”(只注入与用户需求最相关的少量参考,而不是全量示例堆叠) ENABLE_REFERENCE_RETRIEVAL = (os.getenv("ENABLE_REFERENCE_RETRIEVAL") or "1").strip() == "1" # 最多注入多少个参考玩法(每个玩法会注入 .md(主) + 对应 mGDL(辅)) REFERENCE_MAX_VARIANTS = int((os.getenv("REFERENCE_MAX_VARIANTS") or "3").strip()) # 是否注入“参考玩法 mGDL”(默认关闭;mGDL更适合做语法约束而非RAG语义参考) INJECT_REFERENCE_MGDL = (os.getenv("INJECT_REFERENCE_MGDL") or "0").strip() == "1" # 是否仍注入全量示例 mGDL(不推荐,容易稀释注意力) INJECT_ALL_EXAMPLE_GDL = (os.getenv("INJECT_ALL_EXAMPLE_GDL") or "0").strip() == "1" # 是否对模型输出做静态校验(缺模块/占位符/缺少 mGDL 等) ENABLE_OUTPUT_VALIDATION = (os.getenv("ENABLE_OUTPUT_VALIDATION") or "1").strip() == "1" # 非流式路径下:校验失败时是否自动追加一次“最小修改修复”调用(成本更高,但更稳) ENABLE_AUTO_REPAIR = (os.getenv("ENABLE_AUTO_REPAIR") or "0").strip() == "1"