Spaces:
Sleeping
Sleeping
| """ | |
| 默认内容模块 - 存储预加载的 GDL 规范和 System Prompt | |
| """ | |
| import os | |
| # 默认 GDL 规范文件路径 | |
| DEFAULT_GDL_FILE = "麻将游戏mGDL通用语法_v1.3.txt" | |
| # 默认 System Prompt 文件路径 | |
| DEFAULT_PROMPT_FILE = "m_prompt.txt" | |
| # 支持的多个默认示例 GDL 文档文件名列表(扁平化结构) | |
| DEFAULT_EXAMPLE_GDL_FILES = [ | |
| "两门血战麻将_mGDL_v1.3.txt", | |
| "卡五星麻将_mGDL_v1.3.txt", | |
| "合肥麻将_mGDL_v1.3.txt", | |
| "妙手七星_mGDL_v1.3.txt", | |
| "山西扣点麻将_mGDL_v1.3.txt", | |
| "幺鸡血战_mGDL_v1.3.txt", | |
| "广东100张_mGDL_v1.3.txt", | |
| "广东鸡平胡_mGDL_v1.3.txt", | |
| "武汉麻将_mGDL_v1.3.txt", | |
| "海底捞月_mGDL_v1.3.txt", | |
| "疯狂血战_mGDL_v1.3.txt", | |
| "疯狂血流_mGDL_v1.3.txt", | |
| "红中麻将_mGDL_v1.3.txt", | |
| "经典推倒胡_mGDL_v1.3.txt", | |
| "贵州捉鸡麻将_mGDL_v1.3.txt", | |
| "长沙麻将_mGDL_v1.3.txt", | |
| ] | |
| # 支持的多个默认示例 Markdown 文档文件名列表(扁平化结构) | |
| DEFAULT_EXAMPLE_MD_FILES = [ | |
| "两门血战麻将.md", | |
| "卡五星麻将.md", | |
| "合肥麻将.md", | |
| "妙手七星.md", | |
| "山西扣点麻将.md", | |
| "幺鸡血战.md", | |
| "广东100张.md", | |
| "广东鸡平胡.md", | |
| "武汉麻将.md", | |
| "海底捞月.md", | |
| "疯狂血战.md", | |
| "疯狂血流.md", | |
| "红中麻将.md", | |
| "经典推倒胡.md", | |
| "贵州捉鸡麻将.md", | |
| "长沙麻将.md", | |
| "麻将机制说明.md", | |
| ] | |
| def load_default_gdl(): | |
| """ | |
| 加载默认的 GDL 规范内容 | |
| """ | |
| try: | |
| gdl_path = os.path.join(os.path.dirname(__file__), DEFAULT_GDL_FILE) | |
| if os.path.exists(gdl_path): | |
| with open(gdl_path, "r", encoding="utf-8") as f: | |
| return f.read() | |
| except Exception as e: | |
| print(f"⚠️ 加载默认 GDL 文件失败:{e}") | |
| return "" | |
| def load_default_prompt(): | |
| """ | |
| 加载默认的 System Prompt 内容 | |
| """ | |
| try: | |
| prompt_path = os.path.join(os.path.dirname(__file__), DEFAULT_PROMPT_FILE) | |
| if os.path.exists(prompt_path): | |
| with open(prompt_path, "r", encoding="utf-8") as f: | |
| return f.read() | |
| except Exception as e: | |
| print(f"⚠️ 加载默认 Prompt 文件失败:{e}") | |
| return "" | |
| def load_default_example_gdl(): | |
| """ | |
| 加载默认的示例 GDL 文档内容 | |
| """ | |
| try: | |
| base_dir = os.path.dirname(__file__) | |
| parts = [] | |
| for filename in DEFAULT_EXAMPLE_GDL_FILES: | |
| if not filename: | |
| continue | |
| # 假定所有文件都在同一目录下 | |
| example_path = os.path.join(base_dir, filename) | |
| if os.path.exists(example_path): | |
| try: | |
| with open(example_path, "r", encoding="utf-8") as f: | |
| content = f.read() | |
| if content: | |
| parts.append(f"\n# FILE: {os.path.basename(example_path)}\n" + content.strip() + "\n") | |
| except Exception as inner_e: | |
| print(f"⚠️ 加载默认示例 GDL 文件失败:{example_path},错误:{inner_e}") | |
| return "\n".join(parts).strip() | |
| except Exception as e: | |
| print(f"⚠️ 加载默认示例 GDL 文件失败:{e}") | |
| return "" | |
| def load_default_example_md(): | |
| """ | |
| 加载默认的示例 Markdown 文档内容 | |
| """ | |
| try: | |
| base_dir = os.path.dirname(__file__) | |
| parts = [] | |
| for filename in DEFAULT_EXAMPLE_MD_FILES: | |
| if not filename: | |
| continue | |
| # 假定所有文件都在同一目录下 | |
| example_path = os.path.join(base_dir, filename) | |
| if os.path.exists(example_path): | |
| try: | |
| with open(example_path, "r", encoding="utf-8") as f: | |
| content = f.read() | |
| if content: | |
| parts.append(f"\n# FILE: {os.path.basename(example_path)}\n" + content.strip() + "\n") | |
| except Exception as inner_e: | |
| print(f"⚠️ 加载默认示例 Markdown 文件失败:{example_path},错误:{inner_e}") | |
| return "\n".join(parts).strip() | |
| except Exception as e: | |
| print(f"⚠️ 加载默认示例 Markdown 文件失败:{e}") | |
| return "" | |
| # 在模块加载时预加载内容(提高性能) | |
| DEFAULT_GDL_CONTENT = load_default_gdl() | |
| DEFAULT_PROMPT_CONTENT = load_default_prompt() | |
| DEFAULT_EXAMPLE_GDL_CONTENT = load_default_example_gdl() | |
| DEFAULT_EXAMPLE_MD_CONTENT = load_default_example_md() | |
| def get_default_gdl(): | |
| return DEFAULT_GDL_CONTENT | |
| def get_default_prompt(): | |
| return DEFAULT_PROMPT_CONTENT | |
| def get_default_example_gdl(): | |
| return DEFAULT_EXAMPLE_GDL_CONTENT | |
| def get_default_example_md(): | |
| return DEFAULT_EXAMPLE_MD_CONTENT | |