agent/users/ziyin/project/content_automation_agent/demo.py
2025-11-14 16:44:12 +08:00

174 lines
5.9 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
# -*- 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()