174 lines
5.9 KiB
Python
174 lines
5.9 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
内容自动化创作Agent - 演示脚本
|
||
展示核心功能:内容提取 → AI改稿 → 文本输出
|
||
"""
|
||
|
||
import asyncio
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
# 添加项目根目录到Python路径
|
||
sys.path.append(str(Path(__file__).parent))
|
||
|
||
from src.crawler.web_crawler import WebCrawler
|
||
from src.extractor.content_extractor import ContentExtractor
|
||
from src.rewriter.content_rewriter import ContentRewriter
|
||
from src.utils.config_loader import ConfigLoader
|
||
from src.utils.logger import setup_logger
|
||
|
||
|
||
async def demo_content_processing():
|
||
"""演示内容处理流程"""
|
||
print("🚀 内容自动化创作Agent 演示")
|
||
print("=" * 60)
|
||
|
||
# 加载配置
|
||
print("📋 加载配置...")
|
||
try:
|
||
config = ConfigLoader.load_config("config/config.yaml")
|
||
logger = setup_logger("Demo", config)
|
||
except Exception as e:
|
||
print(f"❌ 配置加载失败: {e}")
|
||
return
|
||
|
||
print("✅ 配置加载成功")
|
||
|
||
# 初始化各个模块
|
||
print("\n🔧 初始化模块...")
|
||
crawler = WebCrawler(config)
|
||
extractor = ContentExtractor(config)
|
||
|
||
# 由于需要API密钥,这里模拟改写器
|
||
# rewriter = ContentRewriter(config)
|
||
|
||
print("✅ 模块初始化完成")
|
||
|
||
# 演示文本(模拟从网页提取的内容)
|
||
sample_content = """
|
||
人工智能正在改变我们的生活方式。从智能手机的语音助手到自动驾驶汽车,
|
||
AI技术已经深入到我们日常生活的方方面面。机器学习算法能够分析大量数据,
|
||
识别模式,并做出预测。这种技术不仅提高了效率,还为我们提供了全新的解决方案。
|
||
|
||
在医疗领域,AI帮助医生更准确地诊断疾病。在金融领域,AI算法能够检测欺诈行为。
|
||
在教育领域,个性化学习系统根据每个学生的需求调整教学内容。
|
||
这些应用展示了AI技术的巨大潜力和价值。
|
||
"""
|
||
|
||
print("\n📄 原始内容:")
|
||
print("-" * 40)
|
||
print(sample_content)
|
||
print("-" * 40)
|
||
|
||
# 模拟内容提取过程
|
||
print(f"\n🔍 内容提取完成")
|
||
print(f"📊 内容长度: {len(sample_content)} 字符")
|
||
|
||
# 模拟AI改稿(由于需要API密钥,这里展示改写后的示例)
|
||
rewritten_content = """
|
||
你知道吗?人工智能已经悄悄地改变了我们的日常生活!
|
||
|
||
从早上醒来拿起手机的那一刻开始,AI就在为我们服务。
|
||
语音助手帮我们查天气、定闹钟,智能推荐给我们推送感兴趣的内容。
|
||
这些看似平常的功能,背后都是强大的AI技术在支撑。
|
||
|
||
更厉害的是,AI不只在手机里大显身手。
|
||
在医院的诊室里,它帮医生分析X光片,让诊断更准确;
|
||
在银行的风控部门,它像火眼金睛一样识别可疑交易;
|
||
在学校的在线课堂上,它为每个学生量身定制学习计划。
|
||
|
||
这就是AI的魅力所在 - 它不只是冷冰冰的技术,
|
||
而是真正能让生活变得更美好的智能助手!
|
||
"""
|
||
|
||
print("\n✍️ AI改稿后:")
|
||
print("-" * 40)
|
||
print(rewritten_content)
|
||
print("-" * 40)
|
||
|
||
print(f"\n🎨 改稿效果:")
|
||
print(f"📈 内容长度: {len(rewritten_content)} 字符")
|
||
print(f"🔄 改写比例: {(len(rewritten_content) / len(sample_content) * 100):.1f}%")
|
||
|
||
# 展示不同风格的改写示例
|
||
print("\n🎭 不同风格改写示例:")
|
||
|
||
styles = {
|
||
"正式": "人工智能技术正在深刻影响人类社会的发展进程。通过机器学习算法的应用,我们能够处理和分析海量数据,从而获得前所未有的洞察力和预测能力。",
|
||
|
||
"简洁": "AI改变生活,应用广泛,前景无限。",
|
||
|
||
"幽默": "AI这玩意儿,简直比对象还贴心!你说啥它都懂,你要啥它都给,24小时在线,从不发脾气!"
|
||
}
|
||
|
||
for style, content in styles.items():
|
||
print(f"\n📝 {style}风格:")
|
||
print(f" {content}")
|
||
|
||
print("\n" + "=" * 60)
|
||
print("✨ 演示完成!")
|
||
print("\n💡 要体验完整功能,请:")
|
||
print(" 1. 配置API密钥 (OpenAI, Azure语音等)")
|
||
print(" 2. 运行: python main.py <URL> --format voice")
|
||
print(" 3. 查看生成的音频/视频文件")
|
||
|
||
|
||
async def demo_web_crawling():
|
||
"""演示网页爬取功能"""
|
||
print("\n🌐 网页爬取演示")
|
||
print("-" * 40)
|
||
|
||
# 加载配置
|
||
try:
|
||
config = ConfigLoader.load_config("config/config.yaml")
|
||
except Exception as e:
|
||
print(f"❌ 配置加载失败: {e}")
|
||
return
|
||
|
||
# 初始化爬虫
|
||
crawler = WebCrawler(config)
|
||
|
||
# 演示URL验证
|
||
test_urls = [
|
||
"https://www.zhihu.com/question/123456789",
|
||
"https://www.juejin.cn/post/123456789",
|
||
"https://www.bilibili.com/video/BV123456789",
|
||
"invalid-url",
|
||
"https://www.example.com"
|
||
]
|
||
|
||
print("🔗 URL验证测试:")
|
||
for url in test_urls:
|
||
is_valid = crawler.validate_url(url)
|
||
is_supported = crawler.is_supported_platform(url)
|
||
status = "✅" if is_valid else "❌"
|
||
platform = "支持" if is_supported else "不支持"
|
||
print(f" {status} {url[:50]}... - {platform}")
|
||
|
||
|
||
def main():
|
||
"""主函数"""
|
||
print("内容自动化创作Agent - 功能演示")
|
||
print("=" * 60)
|
||
|
||
# 运行演示
|
||
asyncio.run(demo_content_processing())
|
||
asyncio.run(demo_web_crawling())
|
||
|
||
print("\n" + "=" * 60)
|
||
print("🎉 演示结束!")
|
||
print("\n📖 使用说明:")
|
||
print(" python main.py <URL> --format voice # 生成配音")
|
||
print(" python main.py <URL> --format video # 生成视频")
|
||
print(" python main.py <URL> --format text # 仅文本处理")
|
||
print(" python examples/basic_usage.py # 完整示例")
|
||
|
||
|
||
if __name__ == "__main__":
|
||
main()
|
||
|
||
|
||
|
||
|