新增功能: - Prompt管理:后台新增Prompt模板管理功能 - 数据库迁移:新增prompt_templates表及默认数据 - 页脚优化:添加ICP备案号(浙ICP备2025154782号-1)和Microsoft Clarity统计 - 图标修复:详情页Material Icons替换为Emoji - 标签显示:修复编辑页标签名称无法显示的问题 技术改进: - 添加正则表达式提取标签名称 - 优化页脚样式和链接 - 完善增量部署文档 🚀 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
142 lines
5.1 KiB
Python
142 lines
5.1 KiB
Python
"""创建 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()
|