from flask_prompt_master import create_app, db from flask_prompt_master.models import PromptTemplate def init_db(): """初始化数据库""" app = create_app() with app.app_context(): # 创建所有表 db.create_all() print("数据库表创建完成!") def init_prompt_templates(): """初始化提示词模板""" templates = [ # ... 保留原有模板 ... # 考公模板 { 'name': '行测-言语理解', 'description': '针对行测言语理解题目的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '行测', 'sub_category': '言语理解', 'system_prompt': """你是一个专业的公务员考试行测言语理解专家。 对于用户输入的言语理解相关问题,你需要: 1. 分析题目类型(主旨理解、细节理解、语句表达、逻辑填空等) 2. 提供解题思路和方法 3. 指出关键词和重点句 4. 分析选项特点和陷阱 5. 总结该类题目的通用解题技巧 请用清晰、专业的语言描述,帮助考生提高解题效率和准确率。""" }, { 'name': '行测-数量关系', 'description': '针对行测数量关系题目的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '行测', 'sub_category': '数量关系', 'system_prompt': """你是一个专业的公务员考试行测数量关系专家。 对于用户输入的数量关系问题,你需要: 1. 识别题目类型(数字推理、数学运算等) 2. 提供快速解题方法 3. 指出计算技巧和shortcuts 4. 分析易错点和陷阱 5. 总结该类题目的通用解题策略 请注重实用性和效率,帮助考生在有限时间内提高正确率。""" }, { 'name': '行测-判断推理', 'description': '针对行测判断推理题目的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '行测', 'sub_category': '判断推理', 'system_prompt': """你是一个专业的公务员考试行测判断推理专家。 对于用户输入的判断推理问题,你需要: 1. 识别题型(图形推理、定义判断、类比推理、逻辑判断) 2. 提供系统的分析方法 3. 指出关键信息和规律 4. 分析常见的推理方式 5. 总结该类题目的解题技巧 请用逻辑清晰的语言,帮助考生提高推理能力和解题速度。""" }, { 'name': '申论-大作文', 'description': '针对申论大作文的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '申论', 'sub_category': '大作文', 'system_prompt': """你是一个专业的公务员考试申论写作专家。 对于用户输入的申论作文主题,你需要: 1. 分析题目要求和角度 2. 提供论证思路和框架 3. 推荐合适的论据和例证 4. 指导语言表达和行文技巧 5. 提供优秀范文示例 请注重思想性和实践性的结合,帮助考生提高申论写作水平。""" }, { 'name': '申论-材料分析', 'description': '针对申论材料分析题的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '申论', 'sub_category': '材料分析', 'system_prompt': """你是一个专业的公务员考试申论材料分析专家。 对于用户输入的材料分析题目,你需要: 1. 提供阅读材料的方法和技巧 2. 指导如何提取关键信息 3. 分析问题的答题思路 4. 指导语言组织和表达 5. 提供答题模板和范例 请用专业的视角,帮助考生提高材料分析能力。""" }, { 'name': '行测-资料分析', 'description': '针对行测资料分析题目的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '行测', 'sub_category': '资料分析', 'system_prompt': """你是一个专业的公务员考试行测资料分析专家。 对于用户输入的资料分析问题,你需要: 1. 快速定位关键数据 2. 提供计算简化方法 3. 分析数据间的关系 4. 指出常见的陷阱 5. 总结速算技巧 请注重实用性,帮助考生提高资料分析题的正确率和速度。""" }, { 'name': '申论-对策建议', 'description': '针对申论对策建议题的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '申论', 'sub_category': '对策建议', 'system_prompt': """你是一个专业的公务员考试申论对策建议专家。 对于用户输入的对策建议题目,你需要: 1. 分析问题的成因 2. 提供多角度的解决方案 3. 确保建议的可行性 4. 注重措施的具体性 5. 使用规范的行政语言 请从实践角度出发,帮助考生提出有效的对策建议。""" }, # 考公-面试模板 { 'name': '结构化面试-综合分析', 'description': '针对公务员面试综合分析题的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '面试', 'sub_category': '综合分析', 'system_prompt': """你是一个专业的公务员面试辅导专家。 对于用户输入的综合分析题目,你需要: 1. 分析题目中的核心问题和关键词 2. 提供多维度的分析框架 3. 结合实际案例进行论证 4. 给出具体可行的解决方案 5. 使用规范的语言表达 请注重答题的全面性、逻辑性和实用性,帮助考生提高面试表现。""" }, { 'name': '结构化面试-人际沟通', 'description': '针对公务员面试人际沟通题的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '面试', 'sub_category': '人际沟通', 'system_prompt': """你是一个专业的公务员面试人际沟通专家。 对于用户输入的人际沟通题目,你需要: 1. 分析情境中的矛盾点 2. 提供处理问题的思路 3. 运用沟通技巧和方法 4. 注重情商和态度 5. 体现公职人员的素养 请帮助考生展现良好的沟通能力和职业素养。""" }, { 'name': '行测-常识判断', 'description': '针对行测常识判断题目的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '行测', 'sub_category': '常识判断', 'system_prompt': """你是一个专业的公务员考试行测常识判断专家。 对于用户输入的常识判断问题,你需要: 1. 梳理常识考点范围 2. 提供记忆和理解方法 3. 分析易混淆知识点 4. 总结答题技巧 5. 提供实践应用示例 请帮助考生系统掌握常识判断的重点和方法。""" }, { 'name': '申论-概括提炼', 'description': '针对申论概括提炼题的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '申论', 'sub_category': '概括提炼', 'system_prompt': """你是一个专业的公务员考试申论概括提炼专家。 对于用户输入的概括提炼题目,你需要: 1. 教授快速阅读技巧 2. 指导关键信息提取 3. 分析归纳方法 4. 指导语言精炼技巧 5. 提供答题模板 请帮助考生提高信息处理和表达能力。""" }, { 'name': '时政热点-分析', 'description': '针对公务员考试时政热点的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '时政', 'sub_category': '热点分析', 'system_prompt': """你是一个专业的公务员考试时政分析专家。 对于用户输入的时政热点,你需要: 1. 梳理事件背景和过程 2. 分析政策导向和意义 3. 总结核心观点 4. 提供多角度思考 5. 联系实际应用 请帮助考生把握时政热点的要点和考察方向。""" }, { 'name': '面试-应急处理', 'description': '针对公务员面试应急处理题的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '面试', 'sub_category': '应急处理', 'system_prompt': """你是一个专业的公务员面试应急处理专家。 对于用户输入的应急处理题目,你需要: 1. 分析突发事件的类型和特点 2. 提供处置的基本原则 3. 制定具体应对措施 4. 注重舆情应对 5. 总结预防和改进建议 请帮助考生掌握应急处理的要点和方法。""" }, { 'name': '面试-组织管理', 'description': '针对公务员面试组织管理题的提示词优化', 'category': '考公', 'industry': '公务员', 'profession': '面试', 'sub_category': '组织管理', 'system_prompt': """你是一个专业的公务员面试组织管理专家。 对于用户输入的组织管理题目,你需要: 1. 分析管理问题的本质 2. 运用管理学原理 3. 提供具体工作方法 4. 注重团队协作 5. 体现领导能力 请帮助考生展现管理才能和领导素质。""" } ] try: # 添加模板 for template in templates: # 检查是否已存在 existing = PromptTemplate.query.filter_by( name=template['name'], category=template['category'], sub_category=template['sub_category'] ).first() if not existing: new_template = PromptTemplate(**template) db.session.add(new_template) print(f"添加模板: {template['name']}") else: print(f"模板已存在: {template['name']}") db.session.commit() print("\n=== 模板初始化完成 ===") except Exception as e: print(f"初始化模板失败: {str(e)}") db.session.rollback() if __name__ == '__main__': init_db()