Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

View File

@@ -0,0 +1,816 @@
# AK-AI-News 多语言AI新闻系统
一个功能完整的多语言AI驱动新闻系统提供内容翻译、分析、智能对话和个性化推荐等服务。
## 🌟 主要特性
### 🔄 多语言翻译服务 (AITranslationService)
- **多提供商支持**: OpenAI、Google Translate、百度翻译
- **智能缓存机制**: LRU缓存策略减少重复翻译成本
- **批量处理**: 支持批量翻译,提高处理效率
- **质量评估**: 自动评估翻译质量,确保内容准确性
- **语言检测**: 自动识别源语言
- **成本控制**: 实时监控翻译成本
### 🔍 内容分析服务 (AIContentAnalysisService)
- **情感分析**: 分析内容情感倾向(正面/负面/中性)
- **实体识别**: 提取人名、地名、组织等关键实体
- **主题提取**: 自动识别文章主题和关键词
- **内容分类**: 智能分类新闻内容(政治、经济、科技等)
- **质量评估**: 评估内容可读性、可信度、客观性
- **毒性检测**: 识别有害或不当内容
- **自动摘要**: 生成内容摘要
### 💬 智能对话服务 (AIChatService)
- **多语言对话**: 支持多种语言的自然对话
- **上下文理解**: 维护对话上下文,提供连贯回复
- **新闻助手**: 专业的新闻查询和分析助手
- **会话管理**: 完整的会话生命周期管理
- **个性化回复**: 基于用户偏好的个性化响应
- **实时翻译**: 对话中的实时语言切换
### 🎯 智能推荐服务 (AIRecommendationService)
- **个性化推荐**: 基于用户行为的个性化内容推荐
- **多算法支持**: 协同过滤、内容过滤、混合算法
- **热门推荐**: 基于热度和时效性的推荐
- **相似内容**: 基于内容相似度的推荐
- **用户画像**: 详细的用户兴趣和行为分析
- **多样性控制**: 确保推荐内容的多样性
### ⚙️ 自动化处理管道 (ContentProcessingPipeline)
- **全流程自动化**: 从内容获取到发布的自动化处理
- **可配置步骤**: 灵活配置处理步骤和参数
- **批量处理**: 支持大批量内容的并行处理
- **错误恢复**: 完善的错误处理和回滚机制
- **质量控制**: 多层次的内容质量检查
- **状态监控**: 实时监控处理进度和状态
### 🎛️ 服务管理器 (AIServiceManager)
- **统一管理**: 所有AI服务的统一入口和管理
- **负载均衡**: 智能选择最佳AI提供商
- **健康监控**: 实时监控服务健康状态
- **成本控制**: 严格的成本限制和预警机制
- **性能监控**: 详细的性能统计和分析
- **缓存管理**: 统一的缓存策略和管理
## 🚀 快速开始
### 1. 安装和配置
```typescript
import {
AIServiceManager,
type AIServiceConfig
} from '@/uni_modules/ak-ai-news'
// 配置AI服务
const aiConfig: AIServiceConfig = {
openai: {
apiKey: 'your-openai-api-key',
model: 'gpt-3.5-turbo',
maxTokens: 2000,
temperature: 0.7
},
google: {
apiKey: 'your-google-api-key',
model: 'gemini-pro'
},
baidu: {
apiKey: 'your-baidu-api-key',
secretKey: 'your-baidu-secret-key',
model: 'ernie-bot'
},
costLimits: {
dailyUSD: 100,
monthlyUSD: 2000,
perRequestUSD: 5
}
}
// 创建服务管理器
const serviceManager = new AIServiceManager(aiConfig)
await serviceManager.initialize()
```
### 2. 翻译服务使用
```typescript
const translationService = serviceManager.getTranslationService()
// 单个翻译
const result = await translationService.translateText(
'人工智能正在改变世界',
'en',
'zh-CN',
{
provider: 'openai',
culturalAdaptation: true
}
)
// 批量翻译
const batchResult = await translationService.translateBatch(
['新闻1', '新闻2', '新闻3'],
'en',
'zh-CN'
)
```
### 3. 内容分析使用
```typescript
const analysisService = serviceManager.getAnalysisService()
const analysis = await analysisService.analyzeContent(
'今日股市大涨,投资者信心提升...',
{
types: ['sentiment', 'entities', 'categories', 'summary'],
language: 'zh-CN'
}
)
console.log('情感分析:', analysis.data?.sentimentLabel)
console.log('关键实体:', analysis.data?.entities)
console.log('内容分类:', analysis.data?.categories)
```
### 4. 智能对话使用
```typescript
const chatService = serviceManager.getChatService()
// 创建会话
const session = await chatService.createChatSession('user123', 'zh-CN')
// 发送消息
const response = await chatService.sendMessage(
session.data!.id,
'今天有什么重要新闻?'
)
console.log('AI回复:', response.data?.content)
```
### 5. 推荐服务使用
```typescript
const recommendationService = serviceManager.getRecommendationService()
// 记录用户行为
await recommendationService.recordUserBehavior({
userId: 'user123',
contentId: 'news001',
actionType: 'view',
timestamp: Date.now(),
duration: 120
})
// 获取个性化推荐
const recommendations = await recommendationService.getPersonalizedRecommendations(
'user123',
availableNews,
{
algorithm: 'hybrid',
maxResults: 10
}
)
```
### 6. 自动化处理管道
```typescript
const pipeline = serviceManager.getProcessingPipeline()
// 处理单个内容
const result = await pipeline.processContent({
id: 'news001',
title: '突破性AI技术发布',
content: '详细内容...',
originalLanguage: 'zh-CN',
publishedAt: Date.now()
})
// 批量处理
const batchResult = await pipeline.processBatch(newsArray)
```
## 📊 系统架构
```mermaid
graph TB
A[AIServiceManager] --> B[AITranslationService]
A --> C[AIContentAnalysisService]
A --> D[AIChatService]
A --> E[AIRecommendationService]
A --> F[ContentProcessingPipeline]
B --> G[OpenAI API]
B --> H[Google Translate]
B --> I[Baidu Translate]
C --> G
C --> J[Content Analysis Engine]
D --> G
D --> K[Chat Context Manager]
E --> L[Recommendation Engine]
E --> M[User Profile System]
F --> B
F --> C
F --> N[Processing Queue]
A --> O[Monitoring & Stats]
A --> P[Cost Control]
A --> Q[Health Check]
```
## 🎛️ 配置选项
### AI服务配置 (AIServiceConfig)
```typescript
interface AIServiceConfig {
openai?: {
apiKey: string
model: string
baseURL?: string
maxTokens: number
temperature: number
}
google?: {
apiKey: string
projectId?: string
model: string
}
baidu?: {
apiKey: string
secretKey: string
model: string
}
costLimits?: {
dailyUSD: number
monthlyUSD: number
perRequestUSD: number
}
qualityThresholds?: {
translation: number
sentiment: number
credibility: number
}
}
```
### 缓存配置 (CacheOptions)
```typescript
interface CacheOptions {
enabled: boolean
ttlHours: number // 缓存过期时间(小时)
maxSize: number // 最大缓存条目数
strategy: 'lru' | 'fifo' | 'ttl' // 缓存策略
}
```
### 推荐配置 (RecommendationConfig)
```typescript
interface RecommendationConfig {
algorithm: 'collaborative_filtering' | 'content_based' | 'hybrid' | 'trending'
maxResults: number
diversityWeight: number // 多样性权重
freshnessWeight: number // 新鲜度权重
personalizedWeight: number // 个性化权重
qualityThreshold: number // 质量阈值
excludeViewed: boolean // 排除已浏览内容
}
```
## 📈 监控和统计
系统提供详细的监控和统计功能:
### 服务健康监控
- 实时监控各服务状态
- 响应时间和错误率统计
- 自动故障检测和告警
### 成本控制
- 实时成本监控
- 每日/每月成本限制
- 成本预警和控制
### 性能统计
- 请求量和成功率
- 平均响应时间
- 缓存命中率
- 用户满意度
```typescript
// 获取系统统计
const stats = serviceManager.getManagerStatistics()
console.log('总请求数:', stats.totalRequests)
console.log('成功率:', stats.successfulRequests / stats.totalRequests)
console.log('总成本:', stats.totalCost)
// 获取服务健康状态
const health = serviceManager.getServicesHealth()
console.log('服务状态:', health)
```
## 🔧 高级功能
### 🚀 性能监控与优化
系统内置了完整的性能监控和自动优化功能:
```typescript
import { AIPerformanceMonitor, defaultPerformanceConfig } from 'ak-ai-news'
// 创建性能监控器
const monitor = new AIPerformanceMonitor({
...defaultPerformanceConfig,
enableAutoOptimization: true
})
// 启动监控
monitor.startMonitoring()
// 获取系统健康状态
const health = monitor.getSystemHealth()
console.log('系统状态:', health.status) // healthy/warning/critical
console.log('健康评分:', health.score) // 0-100
// 获取性能统计
const stats = monitor.getPerformanceStats(startTime, endTime)
console.log('平均延迟:', stats.timing.averageLatency)
console.log('成功率:', stats.requests.successRate)
console.log('总成本:', stats.costs.total)
// 获取优化建议
const recommendations = monitor.getOptimizationRecommendations()
recommendations.forEach(rec => {
console.log(`${rec.type}: ${rec.description}`)
})
```
### 🛡️ 高级错误处理
系统提供了完善的错误处理和恢复机制:
```typescript
import { AIErrorHandler, defaultErrorHandlingConfig, ErrorCategory } from 'ak-ai-news'
// 创建错误处理器
const errorHandler = new AIErrorHandler({
...defaultErrorHandlingConfig,
retryPolicy: {
maxAttempts: 5,
baseDelayMs: 1000,
maxDelayMs: 30000,
backoffMultiplier: 2,
jitterEnabled: true
},
circuitBreaker: {
failureThreshold: 5,
recoveryTimeoutMs: 60000,
halfOpenMaxCalls: 3,
monitoringWindowMs: 300000
},
fallback: {
enabled: true,
fallbackProviders: ['openai', 'google', 'baidu'],
gracefulDegradation: true
}
})
// 执行带错误处理的操作
const result = await errorHandler.executeWithRetry(
async () => {
// 您的AI操作
return await translationService.translateText('Hello', 'zh-CN', 'en')
},
{
operationName: 'translation',
provider: 'openai',
retryable: true
}
)
if (result.success) {
console.log('操作成功:', result.data)
console.log('尝试次数:', result.attempts.length)
} else {
console.log('操作失败:', result.error?.message)
console.log('错误类别:', result.error?.category)
}
```
### 📊 实时监控面板
系统提供了一个完整的Vue.js监控面板组件
```vue
<template>
<AINewsDashboard />
</template>
<script setup>
import { AINewsDashboard } from 'ak-ai-news/components'
</script>
```
监控面板功能:
- **实时系统状态**CPU、内存、网络状态
- **性能指标**:响应时间、吞吐量、成功率
- **成本监控**:各提供商成本分析
- **错误追踪**:错误类型、频率、趋势分析
- **优化建议**:自动生成性能优化建议
- **告警系统**:实时告警和通知
### 🧪 综合测试套件
系统提供了完整的测试解决方案:
```typescript
import { runCompleteTestSuite, defaultTestConfig } from 'ak-ai-news/test'
// 运行完整测试套件
const results = await runCompleteTestSuite({
...defaultTestConfig,
runUnitTests: true, // 单元测试
runIntegrationTests: true, // 集成测试
runPerformanceTests: true, // 性能测试
runErrorHandlingTests: true, // 错误处理测试
enableRealAPIs: false, // 启用真实API测试
maxCostLimit: 10.0, // 测试成本限制
generateReport: true // 生成测试报告
})
console.log('测试结果:', results.overallResult.passed)
console.log('成功率:', results.overallResult.successRate)
console.log('总耗时:', results.totalDuration)
console.log('建议:', results.recommendations)
```
测试类型:
- **单元测试**:基础功能验证
- **集成测试**:端到端流程测试
- **性能测试**:延迟、吞吐量、并发测试
- **压力测试**:系统极限测试
- **错误处理测试**:故障恢复测试
- **成本控制测试**API成本监控测试
### 自定义处理步骤
```typescript
// 添加自定义处理步骤
pipeline.addProcessingStep({
name: 'custom_validation',
order: 1,
execute: async (data) => {
// 自定义验证逻辑
return data
},
rollback: async (data) => {
// 回滚逻辑
}
})
```
### 负载均衡策略
```typescript
// 系统自动选择最佳AI提供商
const bestProvider = serviceManager.selectBestProvider('translation')
```
### 批量处理优化
```typescript
// 批量处理配置
const batchOptions = {
batchSize: 10,
concurrency: 3,
retryCount: 2,
delayMs: 1000,
onProgress: (completed, total) => {
console.log(`进度: ${completed}/${total}`)
}
}
```
## 🚀 部署和运维
### 生产环境部署
1. **环境准备**
```bash
# 安装依赖
npm install ak-ai-news
# 配置环境变量
export OPENAI_API_KEY="your-openai-key"
export GOOGLE_API_KEY="your-google-key"
export BAIDU_APP_ID="your-baidu-app-id"
export BAIDU_SECRET_KEY="your-baidu-secret"
```
2. **系统配置**
```typescript
const productionConfig: AIServiceConfig = {
openai: {
apiKey: process.env.OPENAI_API_KEY,
model: 'gpt-4', // 生产环境推荐使用GPT-4
maxTokens: 2000,
temperature: 0.3 // 降低随机性
},
costLimits: {
dailyUSD: 1000, // 每日1000美元限额
monthlyUSD: 25000, // 每月25000美元限额
perRequestUSD: 10 // 单次请求10美元限额
},
qualityThresholds: {
translation: 0.9, // 提高质量阈值
sentiment: 0.8,
credibility: 0.7
}
}
```
3. **监控设置**
```typescript
const productionMonitor = new AIPerformanceMonitor({
monitoringInterval: 15000, // 15秒监控间隔
maxHistory: 50000, // 保留5万条历史记录
enableAutoOptimization: true,
alertWebhook: 'https://your-webhook-url.com/alerts'
})
```
4. **错误处理配置**
```typescript
const productionErrorHandler = new AIErrorHandler({
retryPolicy: {
maxAttempts: 5,
baseDelayMs: 2000,
maxDelayMs: 60000,
backoffMultiplier: 2.5,
jitterEnabled: true
},
circuitBreaker: {
failureThreshold: 10,
recoveryTimeoutMs: 120000, // 2分钟恢复时间
halfOpenMaxCalls: 5,
monitoringWindowMs: 600000 // 10分钟监控窗口
},
fallback: {
enabled: true,
fallbackProviders: ['openai', 'google', 'baidu'],
gracefulDegradation: true
}
})
```
### 运维最佳实践
1. **日志管理**
```typescript
// 配置日志级别
const serviceManager = new AIServiceManager({
...config,
logging: {
level: 'info', // production: info, development: debug
enableFileLogging: true,
logFilePath: '/var/log/ai-news/system.log'
}
})
```
2. **健康检查**
```typescript
// 设置健康检查端点
app.get('/health', async (req, res) => {
const health = monitor.getSystemHealth()
res.status(health.status === 'healthy' ? 200 : 503).json(health)
})
// 设置指标端点
app.get('/metrics', async (req, res) => {
const stats = monitor.getPerformanceStats(
Date.now() - 3600000, // 过去1小时
Date.now()
)
res.json(stats)
})
```
3. **告警配置**
```typescript
// 配置告警规则
const alertRules = {
highErrorRate: {
threshold: 0.05, // 5%错误率
duration: 300000, // 5分钟持续
action: 'send_alert'
},
highLatency: {
threshold: 5000, // 5秒延迟
duration: 180000, // 3分钟持续
action: 'send_alert'
},
costExceeded: {
threshold: 0.8, // 80%预算
action: 'send_warning'
}
}
```
4. **备份和恢复**
```typescript
// 定期备份配置和数据
setInterval(async () => {
const exportData = monitor.exportPerformanceData('json')
await saveToBackup(exportData)
}, 86400000) // 每24小时备份
// 恢复流程
async function restoreFromBackup(backupData: string) {
const data = JSON.parse(backupData)
// 恢复配置和历史数据
await monitor.importPerformanceData(data)
}
```
### 性能优化建议
1. **缓存策略**
```typescript
// 配置多层缓存
const cacheConfig = {
translation: {
maxSize: 10000,
ttl: 3600000, // 1小时
strategy: 'lru'
},
analysis: {
maxSize: 5000,
ttl: 1800000, // 30分钟
strategy: 'lru'
}
}
```
2. **批处理优化**
```typescript
// 启用智能批处理
const batchConfig = {
batchSize: 20,
maxWaitTime: 2000, // 2秒最大等待
concurrency: 5,
enableAdaptiveBatching: true
}
```
3. **提供商选择策略**
```typescript
// 配置智能提供商选择
const providerStrategy = {
selectionAlgorithm: 'performance_based',
fallbackOrder: ['openai', 'google', 'baidu'],
healthCheckInterval: 30000,
automaticFailover: true
}
```
### 监控和告警
1. **Prometheus集成**
```typescript
// 导出Prometheus指标
app.get('/prometheus', (req, res) => {
const metrics = monitor.getPrometheusMetrics()
res.set('Content-Type', 'text/plain')
res.send(metrics)
})
```
2. **Grafana仪表板**
```json
{
"dashboard": {
"title": "AI News System Dashboard",
"panels": [
{
"title": "Request Rate",
"type": "graph",
"targets": [
{
"expr": "rate(ai_news_requests_total[5m])"
}
]
},
{
"title": "Error Rate",
"type": "singlestat",
"targets": [
{
"expr": "rate(ai_news_errors_total[5m])"
}
]
}
]
}
}
```
3. **告警通知**
```typescript
// 配置告警通知
const alertConfig = {
channels: [
{
type: 'webhook',
url: 'https://hooks.slack.com/services/your-webhook',
events: ['error', 'warning', 'critical']
},
{
type: 'email',
recipients: ['admin@your-domain.com'],
events: ['critical']
}
]
}
```
- **API密钥安全**: 安全存储和管理API密钥
- **数据加密**: 敏感数据传输加密
- **访问控制**: 基于角色的访问控制
- **隐私保护**: 用户数据匿名化处理
- **审计日志**: 完整的操作审计记录
## 🎯 最佳实践
### 1. 成本优化
- 启用缓存减少重复请求
- 设置合理的成本限制
- 选择合适的AI模型
- 批量处理提高效率
### 2. 性能优化
- 配置适当的并发数
- 使用负载均衡
- 监控服务性能
- 优化缓存策略
### 3. 质量控制
- 设置质量阈值
- 多层次验证
- 人工审核关键内容
- 持续监控输出质量
### 4. 错误处理
- 实现重试机制
- 完善的错误日志
- 优雅的降级处理
- 及时告警通知
## 📝 完整示例
查看 `examples/usage-example.uts` 文件获取完整的使用示例,包括:
1. 系统初始化
2. 翻译服务使用
3. 内容分析示例
4. 智能对话演示
5. 推荐系统使用
6. 自动化处理管道
7. 系统监控示例
## 🔄 更新日志
### v1.0.0 (2024-12-19)
- ✨ 初始版本发布
- 🔄 多语言翻译服务
- 🔍 内容分析服务
- 💬 智能对话服务
- 🎯 推荐系统
- ⚙️ 自动化处理管道
- 🎛️ 统一服务管理
## 🤝 贡献
欢迎提交Issue和Pull Request来改进这个项目。
## 📄 许可证
MIT License
## 📞 技术支持
如有问题或建议,请联系开发团队。
---
*这是一个功能完整的AI新闻系统适用于需要多语言内容处理、智能分析和个性化推荐的新闻平台。*