260 lines
8.1 KiB
Python
260 lines
8.1 KiB
Python
#!/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("✅ 转换失败时会自动回退到基础转换") |