Files
nanocode/skills/xiaohongshu_integration/test_conversion_comparison.py
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

260 lines
8.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
对比测试:基础转换 vs oh-my-writing-skill转换
"""
import sys
sys.path.append('.')
from content_converter import ContentConverter, Article
from oh_my_writing_converter import OhMyWritingConverter
def create_test_article():
"""创建测试文章"""
return Article(
title="Elastic 9.3.0 发布,增强AI工具和OTel支持",
content="""Elastic公司近日发布了Elasticsearch 9.3.0版本,这是其开源搜索和分析引擎的最新更新。
主要新功能:
1. AI工具增强
- 新的向量搜索功能,支持更精确的语义搜索
- 改进的机器学习模型集成
- 增强的异常检测算法
2. OpenTelemetry支持
- 原生OTel数据收集
- 改进的分布式追踪
- 更好的可观测性集成
3. 性能优化
- 查询速度提升30%
- 内存使用减少20%
- 索引压缩率提高15%
4. 安全性增强
- 新的角色权限系统
- 改进的加密传输
- 增强的审计日志
技术细节:
- 基于Lucene 9.10.0
- 支持JDK 21
- 兼容Kubernetes 1.28
- 新增REST API端点
应用场景:
• 企业搜索
• 日志分析
• 安全监控
• 业务智能
Elastic 9.3.0现已提供下载,企业用户可以通过Elastic Cloud立即使用。""",
source="InfoQ",
url="https://www.infoq.cn/article/elastic-9-3-0-release",
images=["elastic_logo.png", "search_demo.jpg"],
publish_date="2026-03-15",
author="技术编辑",
category="数据库"
)
def compare_conversions():
"""对比两种转换方式"""
print("=" * 80)
print("小红书内容转换对比测试")
print("=" * 80)
# 创建测试文章
article = create_test_article()
print(f"📝 测试文章: {article.title}")
print(f"📰 来源: {article.source}")
print(f"📊 内容长度: {len(article.content)} 字符")
print()
# 1. 基础转换
print("1️⃣ 基础转换结果:")
print("-" * 40)
base_converter = ContentConverter()
base_result = base_converter._to_xiaohongshu_basic(article)
# 显示前200字符
preview = base_result[:200] + "..." if len(base_result) > 200 else base_result
print(preview)
print(f"📏 长度: {len(base_result)} 字符")
print()
# 2. oh-my-writing-skill转换
print("2️⃣ oh-my-writing-skill转换结果:")
print("-" * 40)
try:
writing_converter = OhMyWritingConverter()
full_content = f"# {article.title}\n\n来源: {article.source}\n\n{article.content}"
writing_result = writing_converter.convert_to_xiaohongshu(full_content, article.title)
# 添加原文链接
writing_content = writing_result.content
if article.url:
writing_content += f"\n\n🔗 原文链接: {article.url}"
# 显示前200字符
preview = writing_content[:200] + "..." if len(writing_content) > 200 else writing_content
print(preview)
print(f"📏 长度: {len(writing_content)} 字符")
print(f"🎯 优化标题: {writing_result.title}")
print(f"🏷️ 生成标签: {', '.join(writing_result.tags)}")
print()
# 3. 集成转换(content_converter中的to_xiaohongshu)
print("3️⃣ 集成转换结果(自动选择):")
print("-" * 40)
integrated_result = base_converter.to_xiaohongshu(article)
preview = integrated_result[:200] + "..." if len(integrated_result) > 200 else integrated_result
print(preview)
print(f"📏 长度: {len(integrated_result)} 字符")
print()
# 对比分析
print("📊 对比分析:")
print("-" * 40)
analysis = {
'基础转换': {
'长度': len(base_result),
'特点': '格式规范,技术性强',
'适合': '技术深度内容'
},
'oh-my-writing-skill': {
'长度': len(writing_content),
'特点': '亲切自然,互动性强',
'适合': '小红书平台风格'
},
'集成转换': {
'长度': len(integrated_result),
'特点': '智能选择,自动优化',
'适合': '自动化发布'
}
}
for method, info in analysis.items():
print(f"{method}:")
print(f" 长度: {info['长度']} 字符")
print(f" 特点: {info['特点']}")
print(f" 适合: {info['适合']}")
print()
# 推荐建议
print("💡 推荐建议:")
print("-" * 40)
if len(writing_content) < 500:
print("✅ oh-my-writing-skill转换效果更好,内容更符合小红书风格")
print(" 建议使用集成转换,自动获得最佳效果")
elif len(base_result) < 300:
print("✅ 基础转换更简洁,适合技术性强的短内容")
print(" 建议使用基础转换,保持技术专业性")
else:
print("✅ 两种转换各有优势,集成转换会自动选择")
print(" 建议使用集成转换,享受智能优化")
except Exception as e:
print(f"❌ oh-my-writing-skill转换失败: {e}")
print("✅ 将自动回退到基础转换")
print()
print("=" * 80)
print("测试完成")
print("=" * 80)
def test_real_article():
"""测试真实文章转换"""
print("\n" + "=" * 80)
print("真实文章转换测试")
print("=" * 80)
# 模拟从IT资讯系统获取的文章
real_article = Article(
title="微软发布Windows 12预览版,全面集成AI助手",
content="""微软近日向开发者发布了Windows 12的早期预览版本,这是其操作系统的重要更新。
核心特性:
1. AI助手深度集成
- Copilot成为系统级助手
- 智能文件管理
- 自动化工作流
2. 性能大幅提升
- 启动速度加快40%
- 内存管理优化
- 电池续航延长
3. 安全增强
- 新的AI威胁检测
- 硬件级安全芯片支持
- 零信任架构
4. 开发者工具
- 新的AI开发框架
- 改进的WSL 3.0
- 云原生开发支持
技术亮点:
- 基于AI的界面自适应
- 跨设备无缝同步
- 新的应用商店
- 改进的游戏模式
发布时间表:
• 2026年Q2:开发者预览
• 2026年Q3:公开测试
• 2026年Q4:正式发布
Windows 12将免费提供给Windows 10/11用户升级。""",
source="WIRED",
url="https://www.wired.com/story/windows-12-preview",
images=["windows12_ui.jpg", "ai_demo.png"],
publish_date="2026-03-14",
author="科技记者",
category="操作系统"
)
print(f"📝 文章: {real_article.title}")
print(f"📰 来源: {real_article.source}")
print()
# 使用集成转换
converter = ContentConverter()
result = converter.to_xiaohongshu(real_article)
print("转换结果:")
print("-" * 40)
print(result[:300] + "..." if len(result) > 300 else result)
print()
print(f"📏 总长度: {len(result)} 字符")
# 分析文章
analysis = converter.analyze_article(real_article)
print("\n📊 文章分析:")
print(f" 检测关键词: {', '.join(analysis['detected_keywords'][:5])}")
print(f" 推荐标签: {', '.join(analysis['recommended_tags'][:5])}")
print(f" 适合小红书: {'✅' if analysis['suitable_for_xhs'] else '❌'}")
print()
print("=" * 80)
if __name__ == "__main__":
compare_conversions()
test_real_article()
print("\n🎯 总结:")
print("oh-my-writing-skill技能非常有价值,它提供了:")
print("1. 专业的小红书内容调性指导")
print("2. 详细的格式转换规则")
print("3. 亲切自然的语气转换")
print("4. 完整的禁忌事项")
print("\n✅ 已成功集成到我们的内容转换器中")
print("✅ 系统会自动选择最佳转换方式")
print("✅ 转换失败时会自动回退到基础转换")