内容处理模块
AIDigestProcessor - LLM 集成与智能处理
📋 模块概述
内容处理模块负责调用 LLM API 生成智能摘要、翻译标题、验证内容相关性,并计算文章优先级。
核心文件
core/processor.py- AI处理器主类core/rate_limiter.py- 速率限制与成本追踪core/cache.py- 智能缓存系统
🎯 主要功能
1. 智能摘要生成
使用 LLM 生成高质量的中英文双语摘要:
- 自动提取文章核心内容
- 生成 200-300 字的专业摘要
- 包含关键要点和来源链接
- 支持多种 LLM(OpenAI、Claude、Gemini等)
summary_zh = processor.summarize(content, language="zh")
summary_en = processor.summarize(content, language="en")
2. 标题翻译
AI 驱动的标题翻译,保持专业术语准确性:
title_zh = processor.translate_title(title, target_lang="zh")
# 保持产品名、公司名等专业术语原文
3. 内容相关性验证
使用 LLM 判断内容是否与 AI/IT 技术相关:
- 过滤无关内容(商业新闻、政策法律等)
- 保留核心技术内容(模型、算法、产品等)
- 支持白名单公司跳过验证
4. 优先级计算
基于关键词和来源计算热度和关注度分数:
popularity, attention = processor.calculate_priority(
title=title_zh,
summary=summary_zh,
source=source_name
)
# 热度:0-100,关注度:0-100
⚡ 性能优化
智能缓存
缓存 AI 处理结果,节省 30-50% 成本:
cache_key = f"summarize:{lang}:{url}:{text_hash}"
cached_result = self.cache.get(cache_key)
if cached_result:
return cached_result # 直接返回缓存结果
- 默认缓存 24 小时
- 基于内容哈希的精确匹配
- 自动清理过期缓存
速率限制
防止 API 超额使用:
- 每分钟调用次数限制(默认60次)
- 每日成本预算控制(默认$10)
- 实时成本统计和警告
🔧 支持的 LLM
| 提供商 | 模型 | 特点 |
|---|---|---|
| OpenAI | GPT-3.5/4 | 速度快,质量高 |
| Anthropic | Claude | 长上下文,准确性好 |
| Gemini | 多模态支持 | |
| Groq | 多种 | 推理速度极快 |
| Ollama | 本地模型 | 零成本,离线可用 |
⚙️ 配置选项
# .env 文件配置
CLOUD_API_KEY=your_api_key
CLOUD_BASE_URL=https://api.openai.com/v1
CLOUD_MODEL=gpt-3.5-turbo
MAX_API_CALLS_PER_MINUTE=60
MAX_DAILY_COST=10.0
# config.yaml 配置
mode: "cloud" # 或 "local"
ai_engines:
cloud:
timeout: 60.0
max_retries: 2