prompt-analyzer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Prompt Analyzer - 提示词分析器

提示词分析器(Prompt Analyzer)

🎯 核心职责

🎯 核心职责

专注于已生成Prompt的分析和洞察,不负责生成新Prompt。
提供以下5大功能:
  1. 查看详情 - 分析Prompt使用了哪些元素
  2. 对比分析 - 对比两个Prompt的差异
  3. 相似推荐 - 推荐相似的Prompt
  4. 元素统计 - 查询元素库统计信息
  5. 风格推荐 - 按风格推荐最佳元素组合

专注于已生成Prompt的分析和洞察,不负责生成新Prompt。
提供以下5大功能:
  1. 查看详情 - 分析Prompt使用了哪些元素
  2. 对比分析 - 对比两个Prompt的差异
  3. 相似推荐 - 推荐相似的Prompt
  4. 元素统计 - 查询元素库统计信息
  5. 风格推荐 - 按风格推荐最佳元素组合

📋 功能1:查看Prompt详情

📋 功能1:查看Prompt详情

触发场景

触发场景

用户说:
  • "查看Prompt #5的详情"
  • "分析一下Prompt #5用了哪些元素"
  • "显示Prompt #5的完整信息"
  • "Prompt #5包含什么?"
用户说:
  • "查看Prompt #5的详情"
  • "分析一下Prompt #5用了哪些元素"
  • "显示Prompt #5的完整信息"
  • "Prompt #5包含什么?"

SKILL处理流程

SKILL处理流程

步骤1:识别意图

步骤1:识别意图

从用户输入中提取Prompt ID:
python
undefined
从用户输入中提取Prompt ID:
python
undefined

示例:用户说 "查看Prompt #5的详情"

示例:用户说 "查看Prompt #5的详情"

prompt_id = 5
undefined
prompt_id = 5
undefined

步骤2:调用执行层

步骤2:调用执行层

python
from prompt_analyzer import analyze_prompt_detail

result = analyze_prompt_detail(prompt_id=5)
python
from prompt_analyzer import analyze_prompt_detail

result = analyze_prompt_detail(prompt_id=5)

步骤3:检查结果

步骤3:检查结果

如果Prompt不存在:
python
if 'error' in result:
    print(f"❌ {result['error']}")
    # 提示用户:该Prompt不存在,可能还没生成过任何Prompt
如果Prompt不存在:
python
if 'error' in result:
    print(f"❌ {result['error']}")
    # 提示用户:该Prompt不存在,可能还没生成过任何Prompt

步骤4:格式化展示

步骤4:格式化展示

markdown
📸 Prompt #5 详情

**用户需求**: {result['user_intent']}
**生成时间**: {result['generation_date']}
**质量评分**: {result['quality_score']}/10
**风格标签**: {result['style_tag']}

**使用的元素** ({len(result['elements'])}个):

1. [{field_name}] {chinese_name} (复用度: {reusability})
   - 类别: {category}
   - 模板: {template}

2. ...

**完整Prompt**:
────────────────────────────────────────────────────────
{result['prompt_text']}
────────────────────────────────────────────────────────

markdown
📸 Prompt #5 详情

**用户需求**: {result['user_intent']}
**生成时间**: {result['generation_date']}
**质量评分**: {result['quality_score']}/10
**风格标签**: {result['style_tag']}

**使用的元素** ({len(result['elements'])}个):

1. [{field_name}] {chinese_name} (复用度: {reusability})
   - 类别: {category}
   - 模板: {template}

2. ...

**完整Prompt**:
────────────────────────────────────────────────────────
{result['prompt_text']}
────────────────────────────────────────────────────────

📋 功能2:对比两个Prompts

📋 功能2:对比两个Prompts

触发场景

触发场景

用户说:
  • "对比Prompt #5和#17"
  • "#5和#17有什么区别?"
  • "比较一下Prompt #5和#17"
用户说:
  • "对比Prompt #5和#17"
  • "#5和#17有什么区别?"
  • "比较一下Prompt #5和#17"

SKILL处理流程

SKILL处理流程

步骤1:识别意图

步骤1:识别意图

从用户输入中提取两个Prompt ID:
python
undefined
从用户输入中提取两个Prompt ID:
python
undefined

示例:用户说 "对比Prompt #5和#17"

示例:用户说 "对比Prompt #5和#17"

prompt_id1 = 5 prompt_id2 = 17
undefined
prompt_id1 = 5 prompt_id2 = 17
undefined

步骤2:调用执行层

步骤2:调用执行层

python
from prompt_analyzer import compare_prompts

result = compare_prompts(prompt_id1=5, prompt_id2=17)
python
from prompt_analyzer import compare_prompts

result = compare_prompts(prompt_id1=5, prompt_id2=17)

步骤3:分析差异维度

步骤3:分析差异维度

SKILL分析返回的数据,生成对比表格:
markdown
⚖️ Prompt对比:#5 vs #17
SKILL分析返回的数据,生成对比表格:
markdown
⚖️ Prompt对比:#5 vs #17

基本信息对比

基本信息对比

维度Prompt #5Prompt #17
用户需求{p1['user_intent']}{p2['user_intent']}
风格标签{p1['style_tag']}{p2['style_tag']}
质量评分{p1['quality_score']}/10{p2['quality_score']}/10
元素总数{len(p1['elements'])}个{len(p2['elements'])}个
生成时间{p1['generation_date']}{p2['generation_date']}
维度Prompt #5Prompt #17
用户需求{p1['user_intent']}{p2['user_intent']}
风格标签{p1['style_tag']}{p2['style_tag']}
质量评分{p1['quality_score']}/10{p2['quality_score']}/10
元素总数{len(p1['elements'])}个{len(p2['elements'])}个
生成时间{p1['generation_date']}{p2['generation_date']}

元素差异分析

元素差异分析

相似度: {result['similarity_score']*100:.1f}%
共同元素 ({len(result['common_elements'])}个):
  • {common_element['chinese_name']} ({common_element['category']})
  • ...
Prompt #5 独有 ({len(result['unique_to_p1'])}个):
  • {element['chinese_name']} ({element['category']}) 关键词: {element['template'][:50]}...
  • ...
Prompt #17 独有 ({len(result['unique_to_p2'])}个):
  • {element['chinese_name']} ({element['category']}) 关键词: {element['template'][:50]}...
  • ...
undefined
相似度: {result['similarity_score']*100:.1f}%
共同元素 ({len(result['common_elements'])}个):
  • {common_element['chinese_name']} ({common_element['category']})
  • ...
Prompt #5 独有 ({len(result['unique_to_p1'])}个):
  • {element['chinese_name']} ({element['category']}) 关键词: {element['template'][:50]}...
  • ...
Prompt #17 独有 ({len(result['unique_to_p2'])}个):
  • {element['chinese_name']} ({element['category']}) 关键词: {element['template'][:50]}...
  • ...
undefined

步骤4:分析结论

步骤4:分析结论

SKILL根据相似度给出结论:
python
if result['similarity_score'] > 0.7:
    print("💡 这两个Prompt非常相似,风格接近")
elif result['similarity_score'] > 0.4:
    print("💡 这两个Prompt有一定相似性,但风格有明显差异")
else:
    print("💡 这两个Prompt完全不同,属于不同风格")

SKILL根据相似度给出结论:
python
if result['similarity_score'] > 0.7:
    print("💡 这两个Prompt非常相似,风格接近")
elif result['similarity_score'] > 0.4:
    print("💡 这两个Prompt有一定相似性,但风格有明显差异")
else:
    print("💡 这两个Prompt完全不同,属于不同风格")

📋 功能3:推荐相似Prompts

📋 功能3:推荐相似Prompts

触发场景

触发场景

用户说:
  • "推荐与#5相似的Prompt"
  • "有没有类似#5的?"
  • "找一些相似的提示词"
  • "基于Prompt #5推荐相似的"
用户说:
  • "推荐与#5相似的Prompt"
  • "有没有类似#5的?"
  • "找一些相似的提示词"
  • "基于Prompt #5推荐相似的"

SKILL处理流程

SKILL处理流程

步骤1:识别意图

步骤1:识别意图

python
undefined
python
undefined

示例:用户说 "推荐与#5相似的Prompt"

示例:用户说 "推荐与#5相似的Prompt"

prompt_id = 5 top_n = 3 # 默认推荐3个
undefined
prompt_id = 5 top_n = 3 # 默认推荐3个
undefined

步骤2:调用执行层

步骤2:调用执行层

python
from prompt_analyzer import recommend_similar_prompts

result = recommend_similar_prompts(prompt_id=5, top_n=3)
python
from prompt_analyzer import recommend_similar_prompts

result = recommend_similar_prompts(prompt_id=5, top_n=3)

步骤3:分析推荐理由

步骤3:分析推荐理由

SKILL解读相似度原因,为每个推荐Prompt生成理由:
python
undefined
SKILL解读相似度原因,为每个推荐Prompt生成理由:
python
undefined

分析共同元素,找出相似的原因

分析共同元素,找出相似的原因

def analyze_similarity_reason(common_element_ids, target_prompt, candidate_prompt): """ 分析两个Prompt为什么相似
返回:
- 共同的风格标签
- 共同的元素类别
- 推荐理由列表
"""
reasons = []

# 检查风格标签
if target_prompt['style_tag'] == candidate_prompt['style_tag']:
    reasons.append(f"✓ 同为{candidate_prompt['style_tag']}风格")

# 按类别统计共同元素
category_count = {}
for elem_id in common_element_ids:
    # 查询元素详情获取category
    # ... (执行层已返回)
    category = ...
    category_count[category] = category_count.get(category, 0) + 1

# 列出重要的共同类别
for category, count in category_count.items():
    if count >= 2:
        reasons.append(f"✓ {count}个共同的{category}元素")

return reasons
undefined
def analyze_similarity_reason(common_element_ids, target_prompt, candidate_prompt): """ 分析两个Prompt为什么相似
返回:
- 共同的风格标签
- 共同的元素类别
- 推荐理由列表
"""
reasons = []

# 检查风格标签
if target_prompt['style_tag'] == candidate_prompt['style_tag']:
    reasons.append(f"✓ 同为{candidate_prompt['style_tag']}风格")

# 按类别统计共同元素
category_count = {}
for elem_id in common_element_ids:
    # 查询元素详情获取category
    # ... (执行层已返回)
    category = ...
    category_count[category] = category_count.get(category, 0) + 1

# 列出重要的共同类别
for category, count in category_count.items():
    if count >= 2:
        reasons.append(f"✓ {count}个共同的{category}元素")

return reasons
undefined

步骤4:格式化展示

步骤4:格式化展示

markdown
🔍 为Prompt #5推荐相似提示词

[1] Prompt #{recommendation['prompt_id']} - {recommendation['user_intent']}
    相似度: {recommendation['similarity']*100:.1f}%
    共同元素: {recommendation['common_count']}个
    质量评分: {recommendation['quality_score']}/10

    理由:
    - ✓ 同为{style_tag}风格
    - ✓ 共用3个makeup元素
    - ✓ 共用2个lighting元素

[2] ...

[3] ...

markdown
🔍 为Prompt #5推荐相似提示词

[1] Prompt #{recommendation['prompt_id']} - {recommendation['user_intent']}
    相似度: {recommendation['similarity']*100:.1f}%
    共同元素: {recommendation['common_count']}个
    质量评分: {recommendation['quality_score']}/10

    理由:
    - ✓ 同为{style_tag}风格
    - ✓ 共用3个makeup元素
    - ✓ 共用2个lighting元素

[2] ...

[3] ...

📋 功能4:元素库统计

📋 功能4:元素库统计

触发场景

触发场景

用户说:
  • "元素库有哪些类别?"
  • "makeup类别有多少个元素?"
  • "哪些元素用得最多?"
  • "查看元素库统计"
  • "makeup_styles的详细信息"
用户说:
  • "元素库有哪些类别?"
  • "makeup类别有多少个元素?"
  • "哪些元素用得最多?"
  • "查看元素库统计"
  • "makeup_styles的详细信息"

SKILL处理流程

SKILL处理流程

步骤1:识别意图

步骤1:识别意图

python
undefined
python
undefined

场景A:用户说 "元素库有哪些类别?"

场景A:用户说 "元素库有哪些类别?"

category = None # 查询整体统计
category = None # 查询整体统计

场景B:用户说 "makeup类别有多少个元素?"

场景B:用户说 "makeup类别有多少个元素?"

category = 'makeup_styles' # 查询特定类别
undefined
category = 'makeup_styles' # 查询特定类别
undefined

步骤2:调用执行层

步骤2:调用执行层

python
from prompt_analyzer import get_library_statistics
python
from prompt_analyzer import get_library_statistics

整体统计

整体统计

result = get_library_statistics()
result = get_library_statistics()

或者特定类别

或者特定类别

result = get_library_statistics(category='makeup_styles')
undefined
result = get_library_statistics(category='makeup_styles')
undefined

步骤3:格式化展示

步骤3:格式化展示

场景A:整体统计
markdown
📊 元素库统计

**总计**: {result['total_elements']} 个元素

**按类别分布**:
- makeup_styles: {count}个
- clothing_styles: {count}个
- hair_styles: {count}个
- lighting_techniques: {count}个
- facial_features: {count}个
- ...

💡 使用 "查看makeup_styles详情" 查看具体元素列表
场景B:类别详情
markdown
📊 元素库统计 - {category}

**类别**: {result['category_details']['category']}
**总数**: {result['category_details']['total_count']} 个元素

**最常用元素** (Top 10):

| 排名 | 元素名称 | 复用度 | 使用次数 | 平均质量 |
|------|---------|--------|---------|---------|
| 1 | {chinese_name} | {reusability} | {usage_count}次 | {avg_quality}/10 |
| 2 | ... | ... | ... | ... |
| ... |

**最高质量元素** (Top 5):
[按avg_quality排序]

**从未使用的元素** ({count}个):
[usage_count = 0的元素]

场景A:整体统计
markdown
📊 元素库统计

**总计**: {result['total_elements']} 个元素

**按类别分布**:
- makeup_styles: {count}个
- clothing_styles: {count}个
- hair_styles: {count}个
- lighting_techniques: {count}个
- facial_features: {count}个
- ...

💡 使用 "查看makeup_styles详情" 查看具体元素列表
场景B:类别详情
markdown
📊 元素库统计 - {category}

**类别**: {result['category_details']['category']}
**总数**: {result['category_details']['total_count']} 个元素

**最常用元素** (Top 10):

| 排名 | 元素名称 | 复用度 | 使用次数 | 平均质量 |
|------|---------|--------|---------|---------|
| 1 | {chinese_name} | {reusability} | {usage_count}次 | {avg_quality}/10 |
| 2 | ... | ... | ... | ... |
| ... |

**最高质量元素** (Top 5):
[按avg_quality排序]

**从未使用的元素** ({count}个):
[usage_count = 0的元素]

📋 功能5:按风格推荐元素组合

📋 功能5:按风格推荐元素组合

触发场景

触发场景

用户说:
  • "古装风格应该用什么元素?"
  • "科幻风格的最佳元素组合是什么?"
  • "推荐西部世界风格的元素"
  • "ancient_chinese风格用哪些元素好?"
用户说:
  • "古装风格应该用什么元素?"
  • "科幻风格的最佳元素组合是什么?"
  • "推荐西部世界风格的元素"
  • "ancient_chinese风格用哪些元素好?"

SKILL处理流程

SKILL处理流程

步骤1:识别意图

步骤1:识别意图

python
undefined
python
undefined

示例:用户说 "古装风格应该用什么元素?"

示例:用户说 "古装风格应该用什么元素?"

映射用户描述到style_tag

映射用户描述到style_tag

style_mapping = { '古装': 'ancient_chinese', '古装中式': 'ancient_chinese', '仙剑奇侠传': 'ancient_chinese', '科幻': 'modern_sci_fi', '西部世界': 'westworld_android', '赛博朋克': 'cyberpunk', '奇幻': 'fantasy' }
style = style_mapping.get('古装', 'ancient_chinese')
undefined
style_mapping = { '古装': 'ancient_chinese', '古装中式': 'ancient_chinese', '仙剑奇侠传': 'ancient_chinese', '科幻': 'modern_sci_fi', '西部世界': 'westworld_android', '赛博朋克': 'cyberpunk', '奇幻': 'fantasy' }
style = style_mapping.get('古装', 'ancient_chinese')
undefined

步骤2:调用执行层

步骤2:调用执行层

python
from prompt_analyzer import recommend_elements_by_style

result = recommend_elements_by_style(style='ancient_chinese')
python
from prompt_analyzer import recommend_elements_by_style

result = recommend_elements_by_style(style='ancient_chinese')

步骤3:按类别组织推荐

步骤3:按类别组织推荐

SKILL将返回的元素按类别分组,便于展示:
python
undefined
SKILL将返回的元素按类别分组,便于展示:
python
undefined

按category分组

按category分组

elements_by_category = {} for element in result['recommended_elements']: category = element['category'] if category not in elements_by_category: elements_by_category[category] = [] elements_by_category[category].append(element)
elements_by_category = {} for element in result['recommended_elements']: category = element['category'] if category not in elements_by_category: elements_by_category[category] = [] elements_by_category[category].append(element)

按类别的最高使用频率排序

按类别的最高使用频率排序

sorted_categories = sorted( elements_by_category.items(), key=lambda x: max(e['usage_frequency'] for e in x[1]), reverse=True )
undefined
sorted_categories = sorted( elements_by_category.items(), key=lambda x: max(e['usage_frequency'] for e in x[1]), reverse=True )
undefined

步骤4:格式化展示

步骤4:格式化展示

markdown
🎨 风格推荐:{result['style']}

**数据来源**: 基于{result['total_prompts']}个历史Prompt分析

**推荐元素组合** (按类别):
markdown
🎨 风格推荐:{result['style']}

**数据来源**: 基于{result['total_prompts']}个历史Prompt分析

**推荐元素组合** (按类别):

1. {category_name}

1. {category_name}

[{field_name}] {chinese_name}
  • 使用频率: {usage_frequency*100:.0f}% ({usage_count}/{total_prompts}个Prompt使用)
  • 复用度: {reusability}/10
  • 平均质量: {avg_quality}/10
  • 关键词: {template[:80]}...
[{field_name}] {chinese_name}
  • 使用频率: {usage_frequency*100:.0f}% ({usage_count}/{total_prompts}个Prompt使用)
  • 复用度: {reusability}/10
  • 平均质量: {avg_quality}/10
  • 关键词: {template[:80]}...

2. {category_name}

2. {category_name}

...
使用建议:
  • ✓ 这个组合在{style}风格中最常用,质量稳定
  • ✓ 推荐搭配:{推荐的基础属性,如"东亚女性"}
  • ⚠️ 避免搭配:{冲突的元素}

---
...
使用建议:
  • ✓ 这个组合在{style}风格中最常用,质量稳定
  • ✓ 推荐搭配:{推荐的基础属性,如"东亚女性"}
  • ⚠️ 避免搭配:{冲突的元素}

---

🔧 执行层函数列表

🔧 执行层函数列表

SKILL调用以下执行函数(代码层只执行,不决策):
python
undefined
SKILL调用以下执行函数(代码层只执行,不决策):
python
undefined

所有函数在 prompt_analyzer.py 中

所有函数在 prompt_analyzer.py 中

def analyze_prompt_detail(prompt_id: int) -> dict: """查询Prompt完整信息"""
def compare_prompts(prompt_id1: int, prompt_id2: int) -> dict: """对比两个Prompt差异"""
def recommend_similar_prompts(prompt_id: int, top_n: int = 3) -> list: """推荐相似Prompts"""
def get_library_statistics(category: str = None) -> dict: """查询元素库统计"""
def recommend_elements_by_style(style: str) -> dict: """按风格推荐元素组合"""

---
def analyze_prompt_detail(prompt_id: int) -> dict: """查询Prompt完整信息"""
def compare_prompts(prompt_id1: int, prompt_id2: int) -> dict: """对比两个Prompt差异"""
def recommend_similar_prompts(prompt_id: int, top_n: int = 3) -> list: """推荐相似Prompts"""
def get_library_statistics(category: str = None) -> dict: """查询元素库统计"""
def recommend_elements_by_style(style: str) -> dict: """按风格推荐元素组合"""

---

📁 数据依赖

📁 数据依赖

elements.db
├── elements                 # 元素库(由universal-learner维护)
├── generated_prompts        # 生成历史(由intelligent-prompt-generator写入)
├── prompt_elements          # Prompt-元素关联
└── element_usage_stats      # 元素使用统计
重要:prompt-analyzer依赖intelligent-prompt-generator生成的历史数据。如果数据库中没有generated_prompts记录,分析功能无法工作。

elements.db
├── elements                 # 元素库(由universal-learner维护)
├── generated_prompts        # 生成历史(由intelligent-prompt-generator写入)
├── prompt_elements          # Prompt-元素关联
└── element_usage_stats      # 元素使用统计
重要:prompt-analyzer依赖intelligent-prompt-generator生成的历史数据。如果数据库中没有generated_prompts记录,分析功能无法工作。

⚙️ 架构原则

⚙️ 架构原则

SKILL = 大脑(决策层)
  • 识别用户意图
  • 分析返回数据
  • 格式化展示结果
  • 生成推荐理由
代码 = 手脚(执行层)
  • 查询数据库
  • 计算相似度
  • 返回原始数据
代码不做决策
  • 不判断"哪个更好"
  • 不决定"展示什么"
  • 只负责"取数据"

SKILL = 大脑(决策层)
  • 识别用户意图
  • 分析返回数据
  • 格式化展示结果
  • 生成推荐理由
代码 = 手脚(执行层)
  • 查询数据库
  • 计算相似度
  • 返回原始数据
代码不做决策
  • 不判断"哪个更好"
  • 不决定"展示什么"
  • 只负责"取数据"

使用示例

使用示例

示例1:查看详情

示例1:查看详情

用户: "查看Prompt #1的详情"
SKILL处理:
python
from prompt_analyzer import analyze_prompt_detail

result = analyze_prompt_detail(prompt_id=1)
用户: "查看Prompt #1的详情"
SKILL处理:
python
from prompt_analyzer import analyze_prompt_detail

result = analyze_prompt_detail(prompt_id=1)

展示格式化结果

展示格式化结果

print(f"📸 Prompt #{result['prompt_id']} 详情\n") print(f"用户需求: {result['user_intent']}") print(f"生成时间: {result['generation_date']}")
print(f"📸 Prompt #{result['prompt_id']} 详情\n") print(f"用户需求: {result['user_intent']}") print(f"生成时间: {result['generation_date']}")

...

...

undefined
undefined

示例2:对比Prompts

示例2:对比Prompts

用户: "对比Prompt #1和#2"
SKILL处理:
python
from prompt_analyzer import compare_prompts

result = compare_prompts(prompt_id1=1, prompt_id2=2)
用户: "对比Prompt #1和#2"
SKILL处理:
python
from prompt_analyzer import compare_prompts

result = compare_prompts(prompt_id1=1, prompt_id2=2)

分析相似度

分析相似度

similarity = result['similarity_score'] if similarity > 0.7: conclusion = "非常相似" elif similarity > 0.4: conclusion = "有一定相似性" else: conclusion = "完全不同"
similarity = result['similarity_score'] if similarity > 0.7: conclusion = "非常相似" elif similarity > 0.4: conclusion = "有一定相似性" else: conclusion = "完全不同"

展示对比表格和结论

展示对比表格和结论

...

...

undefined
undefined

示例3:推荐相似Prompt

示例3:推荐相似Prompt

用户: "推荐与#1相似的Prompt"
SKILL处理:
python
from prompt_analyzer import recommend_similar_prompts

recommendations = recommend_similar_prompts(prompt_id=1, top_n=3)
用户: "推荐与#1相似的Prompt"
SKILL处理:
python
from prompt_analyzer import recommend_similar_prompts

recommendations = recommend_similar_prompts(prompt_id=1, top_n=3)

为每个推荐分析理由

为每个推荐分析理由

for rec in recommendations: reasons = analyze_similarity_reason( rec['common_element_ids'], target_prompt_id=1, candidate_prompt_id=rec['prompt_id'] )
# 展示推荐和理由
# ...
undefined
for rec in recommendations: reasons = analyze_similarity_reason( rec['common_element_ids'], target_prompt_id=1, candidate_prompt_id=rec['prompt_id'] )
# 展示推荐和理由
# ...
undefined

示例4:元素库统计

示例4:元素库统计

用户: "查看makeup_styles类别详情"
SKILL处理:
python
from prompt_analyzer import get_library_statistics

result = get_library_statistics(category='makeup_styles')
用户: "查看makeup_styles类别详情"
SKILL处理:
python
from prompt_analyzer import get_library_statistics

result = get_library_statistics(category='makeup_styles')

展示统计表格

展示统计表格

details = result['category_details'] print(f"📊 {details['category']} - {details['total_count']}个元素\n")
details = result['category_details'] print(f"📊 {details['category']} - {details['total_count']}个元素\n")

按使用次数排序展示

按使用次数排序展示

...

...

undefined
undefined

示例5:风格推荐

示例5:风格推荐

用户: "古装风格应该用什么元素?"
SKILL处理:
python
from prompt_analyzer import recommend_elements_by_style

result = recommend_elements_by_style(style='ancient_chinese')
用户: "古装风格应该用什么元素?"
SKILL处理:
python
from prompt_analyzer import recommend_elements_by_style

result = recommend_elements_by_style(style='ancient_chinese')

按类别组织展示

按类别组织展示

elements_by_category = group_by_category(result['recommended_elements'])
elements_by_category = group_by_category(result['recommended_elements'])

展示每个类别的推荐

展示每个类别的推荐

for category, elements in elements_by_category.items(): print(f"### {category}") for elem in elements: print(f" - {elem['chinese_name']} (使用频率: {elem['usage_frequency']*100:.0f}%)")
for category, elements in elements_by_category.items(): print(f"### {category}") for elem in elements: print(f" - {elem['chinese_name']} (使用频率: {elem['usage_frequency']*100:.0f}%)")

...

...


---

---

⚠️ 重要提醒

⚠️ 重要提醒

  1. 数据前提:必须先有生成历史才能分析
    • 如果用户说"查看Prompt #5",但数据库中没有任何Prompt,应提示:
      ❌ 数据库中还没有生成历史。
      💡 请先使用 intelligent-prompt-generator 生成一些Prompt。
  2. Prompt ID范围:只能查询已存在的Prompt ID
    • 用户输入的ID可能不存在,需要检查error字段
  3. 风格标签一致性:风格推荐依赖style_tag
    • style_tag由intelligent-prompt-generator在保存时设置
    • 常见标签:ancient_chinese, modern_sci_fi, cyberpunk, fantasy, westworld_android
  4. 元素类别名称:查询统计时使用正确的category名称
    • makeup_styles (不是makeup)
    • lighting_techniques (不是lighting)
    • clothing_styles, hair_styles, facial_features 等

准备好分析提示词!等待用户的分析请求。
  1. 数据前提:必须先有生成历史才能分析
    • 如果用户说"查看Prompt #5",但数据库中没有任何Prompt,应提示:
      ❌ 数据库中还没有生成历史。
      💡 请先使用 intelligent-prompt-generator 生成一些Prompt。
  2. Prompt ID范围:只能查询已存在的Prompt ID
    • 用户输入的ID可能不存在,需要检查error字段
  3. 风格标签一致性:风格推荐依赖style_tag
    • style_tag由intelligent-prompt-generator在保存时设置
    • 常见标签:ancient_chinese, modern_sci_fi, cyberpunk, fantasy, westworld_android
  4. 元素类别名称:查询统计时使用正确的category名称
    • makeup_styles (不是makeup)
    • lighting_techniques (不是lighting)
    • clothing_styles, hair_styles, facial_features 等

准备好分析提示词!等待用户的分析请求。