"""创建 prompt_templates 表并初始化默认数据""" import os import sys from app import create_app from models import db, PromptTemplate # 设置输出编码为UTF-8 if sys.platform.startswith('win'): sys.stdout.reconfigure(encoding='utf-8') def migrate_prompts(): """创建表并初始化默认prompt模板""" app = create_app(os.getenv('FLASK_ENV', 'development')) with app.app_context(): # 创建表 print("正在创建 prompt_templates 表...") db.create_all() print("[OK] 表创建成功") # 检查是否已有数据 existing_count = PromptTemplate.query.count() if existing_count > 0: print(f"[WARN] 表中已有 {existing_count} 条数据,跳过初始化") return # 初始化默认prompt模板 print("正在初始化默认prompt模板...") # 1. 标签生成模板 tags_prompt = PromptTemplate( key='tags', name='标签生成', description='根据网站名称和描述生成3-5个分类标签', system_prompt='你是一个专业的AI工具分类专家,擅长为各类AI产品生成准确的标签。', user_prompt_template='''你是一个AI工具导航网站的标签生成助手。根据以下产品信息,生成3-5个最合适的标签。 产品名称: {name} 产品描述: {description} {existing_tags} 要求: 1. 标签应该准确描述产品的功能、类型或应用场景 2. 每个标签2-4个汉字 3. 标签要具体且有区分度 4. 如果是AI工具,可以标注具体的AI类型(如"GPT"、"图像生成"等) 5. 只返回标签,用逗号分隔,不要其他说明 示例输出格式:写作助手,营销,GPT,内容生成 请生成标签:''', is_active=True ) # 2. 主要功能生成模板 features_prompt = PromptTemplate( key='features', name='主要功能生成', description='根据网站名称和描述生成5-8个主要功能点', system_prompt='你是一个专业的AI产品文案专家,擅长提炼产品核心功能和价值点。', user_prompt_template='''你是一个AI工具导航网站的内容编辑助手。根据以下产品信息,生成详细的主要功能列表。 产品名称: {name} 产品描述: {description} {url_info} 要求: 1. 生成5-8个主要功能点 2. 每个功能点要具体、清晰、有吸引力 3. 使用Markdown无序列表格式(以"- "开头) 4. 每个功能点一行,简洁有力(10-30字) 5. 突出产品的核心价值和特色功能 6. 使用专业但易懂的语言 7. 不要添加任何标题或额外说明,直接输出功能列表 示例输出格式: - 智能文本生成,支持多种写作场景 - 实时语法检查和优化建议 - 多语言翻译,准确率高达95% - 一键生成营销文案和广告语 - 团队协作,支持多人同时编辑 请生成功能列表:''', is_active=True ) # 3. 详细介绍生成模板 description_prompt = PromptTemplate( key='description', name='详细介绍生成', description='根据网站名称和简短描述生成200-400字的详细介绍', system_prompt='你是一个专业的AI产品文案专家,擅长撰写准确、客观、有吸引力的产品介绍。', user_prompt_template='''你是一个AI工具导航网站的内容编辑助手。根据以下产品信息,生成详细、专业且吸引人的产品介绍。 产品名称: {name} {short_desc_info} {url_info} 要求: 1. 生成200-400字的详细介绍 2. 包含以下内容: - 产品定位和核心价值(这是什么产品,解决什么问题) - 主要特点和优势(为什么选择这个产品) - 适用场景和目标用户(谁会用,用在哪里) 3. 使用Markdown格式,可以包含: - 段落分隔(空行) - 加粗重点内容(**文字**) - 列表(- 列表项) 4. 语言专业但易懂,突出产品价值 5. 不要添加标题,直接输出正文内容 6. 语气客观、事实性强,避免过度营销 示例输出格式: ChatGPT是由OpenAI开发的**先进对话式AI助手**,基于GPT-4大语言模型构建。它能够理解和生成自然语言,为用户提供智能对话、内容创作、代码编写等多种服务。 **核心优势:** - 强大的语言理解和生成能力 - 支持多轮对话,上下文连贯 - 覆盖编程、写作、翻译等多个领域 适用于内容创作者、程序员、学生等各类用户,可用于日常问答、文案撰写、学习辅导、编程助手等多种场景。 请生成详细介绍:''', is_active=True ) # 添加到数据库 db.session.add(tags_prompt) db.session.add(features_prompt) db.session.add(description_prompt) db.session.commit() print("[OK] 默认prompt模板初始化成功") print(f" - 标签生成: {tags_prompt.id}") print(f" - 主要功能生成: {features_prompt.id}") print(f" - 详细介绍生成: {description_prompt.id}") if __name__ == '__main__': migrate_prompts()