// AI News System Usage Examples import { AIServiceManager, AITranslationService, AIContentAnalysisService, AIChatService, AIRecommendationService, ContentProcessingPipeline, type AIServiceConfig, type ContentInfo, type ChatOptions } from '../index.uts' /** * AI新闻系统使用示例 * 展示如何集成和使用多语言AI新闻系统的各种功能 */ export class AINewsSystemExample { private serviceManager: AIServiceManager constructor() { // 配置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 }, qualityThresholds: { translation: 0.8, sentiment: 0.7, credibility: 0.6 } } // 初始化服务管理器 this.serviceManager = new AIServiceManager(aiConfig) } /** * 初始化系统 */ async initializeSystem(): Promise { console.log('🚀 Initializing AI News System...') const response = await this.serviceManager.initialize() if (response.success) { console.log('✅ AI News System initialized successfully') } else { console.error('❌ Failed to initialize AI News System:', response.error) throw new Error(response.error) } } /** * 示例1: 新闻内容翻译 */ async exampleTranslation(): Promise { console.log('\n📝 Example 1: News Translation') console.log('================================') const translationService = this.serviceManager.getTranslationService() // 翻译中文新闻到英文 const chineseNews = "人工智能技术在新闻行业的应用正在快速发展,自动化内容生成、智能推荐和多语言翻译等功能大大提高了新闻生产和传播的效率。" console.log('Original Chinese text:', chineseNews) const translationResult = await translationService.translateText( chineseNews, 'en', 'zh-CN', { provider: 'openai', culturalAdaptation: true, preserveFormatting: true } ) if (translationResult.success && translationResult.data) { console.log('✅ Translation successful:') console.log('- Translated text:', translationResult.data.translatedText) console.log('- Quality score:', translationResult.data.qualityScore) console.log('- Provider:', translationResult.data.provider) console.log('- Tokens used:', translationResult.data.tokensUsed) console.log('- Cost:', `$${translationResult.data.costUSD.toFixed(4)}`) } else { console.error('❌ Translation failed:', translationResult.error) } // 批量翻译示例 const newsTexts = [ "今日股市行情分析", "科技创新推动经济发展", "环保政策最新动态" ] console.log('\n📚 Batch translation example:') const batchResult = await translationService.translateBatch( newsTexts, 'en', 'zh-CN', { provider: 'google' }, { batchSize: 2, concurrency: 2, onProgress: (completed, total) => { console.log(`Progress: ${completed}/${total}`) } } ) if (batchResult.success && batchResult.data) { console.log('✅ Batch translation completed:') batchResult.data.forEach((result, index) => { console.log(`${index + 1}. ${result.translatedText}`) }) } } /** * 示例2: 新闻内容分析 */ async exampleContentAnalysis(): Promise { console.log('\n🔍 Example 2: Content Analysis') console.log('================================') const analysisService = this.serviceManager.getAnalysisService() const newsContent = ` 特斯拉公司今日宣布,其最新的自动驾驶技术取得重大突破。 该技术采用先进的人工智能算法,能够在复杂路况下实现更安全的自动驾驶。 据公司CEO埃隆·马斯克表示,这项技术将在未来六个月内开始量产。 市场分析师认为,这一创新将进一步巩固特斯拉在电动汽车市场的领先地位。 投资者对此消息反应积极,特斯拉股价在盘后交易中上涨了8%。 ` console.log('Analyzing content:', newsContent.substring(0, 100) + '...') const analysisResult = await analysisService.analyzeContent(newsContent, { types: ['sentiment', 'entities', 'topics', 'categories', 'readability', 'credibility', 'summary', 'keywords'], provider: 'openai', language: 'zh-CN', includeScores: true }) if (analysisResult.success && analysisResult.data) { const analysis = analysisResult.data console.log('✅ Analysis completed:') console.log('- Sentiment:', analysis.sentimentLabel, `(${analysis.sentimentScore.toFixed(2)})`) console.log('- Readability score:', analysis.readabilityScore.toFixed(2)) console.log('- Credibility score:', analysis.credibilityScore.toFixed(2)) console.log('- Keywords:', analysis.keywords.join(', ')) console.log('- Entities found:', analysis.entities.length) analysis.entities.forEach(entity => { console.log(` - ${entity.text} (${entity.type}, confidence: ${entity.confidence.toFixed(2)})`) }) console.log('- Categories:') analysis.categories.forEach(category => { console.log(` - ${category.categoryName} (confidence: ${category.confidence.toFixed(2)})`) }) console.log('- Summary:', analysis.summary) } else { console.error('❌ Analysis failed:', analysisResult.error) } } /** * 示例3: AI聊天助手 */ async exampleChatAssistant(): Promise { console.log('\n💬 Example 3: AI Chat Assistant') console.log('================================') const chatService = this.serviceManager.getChatService() // 创建聊天会话 const sessionResponse = await chatService.createChatSession( 'user123', 'zh-CN', { provider: 'openai', temperature: 0.7, maxTokens: 1000 } ) if (sessionResponse.success && sessionResponse.data) { const session = sessionResponse.data console.log('✅ Chat session created:', session.id) // 发送消息 const messages = [ "今天有什么重要的科技新闻吗?", "请分析一下人工智能对新闻行业的影响", "帮我推荐一些相关的新闻文章" ] for (const messageText of messages) { console.log(`\n👤 User: ${messageText}`) const messageResponse = await chatService.sendMessage( session.id, messageText, { provider: 'openai' } ) if (messageResponse.success && messageResponse.data) { const message = messageResponse.data console.log(`🤖 Assistant: ${message.content}`) console.log(` Response time: ${message.responseTimeMs}ms`) console.log(` Tokens used: ${message.tokensUsed}`) } else { console.error('❌ Message failed:', messageResponse.error) } // 模拟对话间隔 await this.delay(1000) } // 获取对话历史 const history = chatService.getChatHistory(session.id, 10) console.log(`\n📋 Conversation history (${history.length} messages):`) history.forEach((msg, index) => { console.log(`${index + 1}. [${msg.type}] ${msg.content.substring(0, 50)}...`) }) // 结束会话 await chatService.endChatSession(session.id) console.log('✅ Chat session ended') } else { console.error('❌ Failed to create chat session:', sessionResponse.error) } } /** * 示例4: 个性化推荐 */ async exampleRecommendations(): Promise { console.log('\n🎯 Example 4: Personalized Recommendations') console.log('==========================================') const recommendationService = this.serviceManager.getRecommendationService() // 模拟新闻内容 const availableNews: ContentInfo[] = [ { id: 'news1', title: 'AI技术突破:新一代自然语言处理模型发布', content: '研究人员发布了新的大型语言模型,在多项任务上超越了现有技术...', originalLanguage: 'zh-CN', publishedAt: Date.now() - 1000 * 60 * 60, // 1小时前 categoryId: 'technology', tags: ['AI', '技术', '创新'], keywords: ['人工智能', '语言模型', '技术突破'], quality: 0.9, viewCount: 1500, likeCount: 120, shareCount: 45, status: 'published' }, { id: 'news2', title: '全球经济展望:数字化转型加速发展', content: '世界银行最新报告显示,数字化转型正在重塑全球经济格局...', originalLanguage: 'zh-CN', publishedAt: Date.now() - 1000 * 60 * 60 * 2, // 2小时前 categoryId: 'economy', tags: ['经济', '数字化', '转型'], keywords: ['经济发展', '数字化', '全球'], quality: 0.85, viewCount: 2100, likeCount: 180, shareCount: 67, status: 'published' }, { id: 'news3', title: '环保新政策:碳中和目标实施细则发布', content: '政府发布了实现碳中和目标的详细实施方案,涉及多个行业的转型升级...', originalLanguage: 'zh-CN', publishedAt: Date.now() - 1000 * 60 * 60 * 3, // 3小时前 categoryId: 'environment', tags: ['环保', '政策', '碳中和'], keywords: ['环保政策', '碳中和', '可持续发展'], quality: 0.88, viewCount: 980, likeCount: 75, shareCount: 23, status: 'published' } ] // 记录用户行为(模拟) await recommendationService.recordUserBehavior({ userId: 'user123', contentId: 'news1', actionType: 'view', timestamp: Date.now() - 1000 * 60 * 30, // 30分钟前 duration: 120 // 阅读了2分钟 }) await recommendationService.recordUserBehavior({ userId: 'user123', contentId: 'news1', actionType: 'like', timestamp: Date.now() - 1000 * 60 * 25 }) // 获取个性化推荐 console.log('Generating personalized recommendations...') const recommendationResponse = await recommendationService.getPersonalizedRecommendations( 'user123', availableNews, { algorithm: 'hybrid', maxResults: 5, diversityWeight: 0.3, freshnessWeight: 0.4, personalizedWeight: 0.3, qualityThreshold: 0.7, excludeViewed: false }, { currentTime: Date.now(), recentViews: ['news1'], deviceType: 'mobile' } ) if (recommendationResponse.success && recommendationResponse.data) { console.log('✅ Personalized recommendations:') recommendationResponse.data.forEach((rec, index) => { const news = availableNews.find(n => n.id === rec.contentId) console.log(`${index + 1}. ${news?.title}`) console.log(` Score: ${rec.score.toFixed(3)}, Reason: ${rec.reason}`) console.log(` Algorithm: ${rec.algorithm}, Type: ${rec.recommendationType}`) }) } else { console.error('❌ Recommendations failed:', recommendationResponse.error) } // 获取热门推荐 console.log('\n🔥 Trending recommendations:') const trendingResponse = await recommendationService.getTrendingRecommendations( availableNews, 24, // 24小时内 3 ) if (trendingResponse.success && trendingResponse.data) { trendingResponse.data.forEach((rec, index) => { const news = availableNews.find(n => n.id === rec.contentId) console.log(`${index + 1}. ${news?.title} (Score: ${rec.score.toFixed(3)})`) }) } } /** * 示例5: 自动化内容处理管道 */ async exampleContentPipeline(): Promise { console.log('\n⚙️ Example 5: Automated Content Processing') console.log('==========================================') const pipeline = this.serviceManager.getProcessingPipeline() // 模拟原始新闻内容 const rawContent: ContentInfo = { id: 'raw_news_001', title: '突破性医疗技术:基因编辑治疗癌症取得重大进展', content: ` 美国斯坦福大学医学院的研究团队今日宣布,他们在基因编辑技术治疗癌症方面取得了重大突破。 该团队利用CRISPR-Cas9技术,成功修改了T细胞的基因,使其能够更有效地识别和攻击癌细胞。 在临床试验中,接受治疗的20名患者中有18名病情得到显著改善,治疗有效率达到90%。 研究负责人张华教授表示,这项技术有望在未来3-5年内进入大规模临床应用阶段。 美国食品药品监督管理局(FDA)已批准该技术进入二期临床试验。 业内专家认为,这一突破将为癌症治疗带来革命性变化,可能挽救数百万患者的生命。 `.trim(), originalLanguage: 'zh-CN', publishedAt: Date.now(), tags: [], keywords: [], quality: 0, viewCount: 0, likeCount: 0, shareCount: 0, status: 'draft' } console.log('Processing content:', rawContent.title) console.log('Original content length:', rawContent.content.length, 'characters') // 执行自动化处理 const processingResponse = await pipeline.processContent(rawContent) if (processingResponse.success && processingResponse.data) { const result = processingResponse.data console.log('✅ Content processing completed:') console.log('- Processing time:', `${result.processingTime}ms`) console.log('- Total cost:', `$${result.totalCost.toFixed(4)}`) console.log('- Final status:', result.status) console.log('- Quality score:', result.qualityScore.toFixed(3)) console.log('\n📊 Analysis results:') if (result.analysis) { console.log('- Sentiment:', result.analysis.sentimentLabel, `(${result.analysis.sentimentScore.toFixed(2)})`) console.log('- Readability:', result.analysis.readabilityScore.toFixed(2)) console.log('- Credibility:', result.analysis.credibilityScore.toFixed(2)) console.log('- Keywords:', result.analysis.keywords.slice(0, 5).join(', ')) } console.log('\n🌐 Translation results:') Object.entries(result.translations).forEach(([lang, translation]) => { console.log(`- ${lang}: ${translation.translatedText.substring(0, 80)}...`) console.log(` Quality: ${translation.qualityScore.toFixed(2)}, Cost: $${translation.costUSD.toFixed(4)}`) }) console.log('\n📂 Categories:', result.categories.join(', ')) if (result.errors.length > 0) { console.log('\n⚠️ Errors encountered:') result.errors.forEach(error => console.log(`- ${error}`)) } } else { console.error('❌ Content processing failed:', processingResponse.error) } } /** * 示例6: 系统监控和统计 */ async exampleSystemMonitoring(): Promise { console.log('\n📈 Example 6: System Monitoring') console.log('================================') // 获取服务健康状态 const servicesHealth = this.serviceManager.getServicesHealth() console.log('🏥 Services Health Status:') Object.entries(servicesHealth).forEach(([serviceName, health]) => { const statusIcon = health.status === 'ready' ? '✅' : health.status === 'error' ? '❌' : '⚠️' console.log(`${statusIcon} ${serviceName}: ${health.status}`) console.log(` Response time: ${health.responseTime}ms`) console.log(` Error rate: ${(health.errorRate * 100).toFixed(1)}%`) console.log(` Capabilities: ${health.capabilities.join(', ')}`) }) // 获取管理器统计 const stats = this.serviceManager.getManagerStatistics() console.log('\n📊 Manager Statistics:') console.log('- Total requests:', stats.totalRequests) console.log('- Success rate:', `${((stats.successfulRequests / Math.max(stats.totalRequests, 1)) * 100).toFixed(1)}%`) console.log('- Average response time:', `${stats.avgResponseTime.toFixed(0)}ms`) console.log('- Total cost:', `$${stats.totalCost.toFixed(2)}`) console.log('\n💰 Cost breakdown by provider:') Object.entries(stats.costBreakdown).forEach(([provider, cost]) => { if (cost > 0) { console.log(`- ${provider}: $${cost.toFixed(4)}`) } }) // 获取各服务的详细统计 console.log('\n📋 Individual Service Statistics:') const translationStats = this.serviceManager.getTranslationService().getStatistics() console.log('Translation Service:') console.log(`- Total requests: ${translationStats.totalRequests}`) console.log(`- Success rate: ${((translationStats.successCount / Math.max(translationStats.totalRequests, 1)) * 100).toFixed(1)}%`) console.log(`- Cache hit rate: ${(translationStats.cacheHitRate * 100).toFixed(1)}%`) console.log(`- Average quality: ${translationStats.avgQuality.toFixed(2)}`) const analysisStats = this.serviceManager.getAnalysisService().getStatistics() console.log('\nAnalysis Service:') console.log(`- Total analyses: ${analysisStats.totalAnalyses}`) console.log(`- Success rate: ${((analysisStats.successCount / Math.max(analysisStats.totalAnalyses, 1)) * 100).toFixed(1)}%`) console.log(`- Average processing time: ${analysisStats.avgProcessingTimeMs.toFixed(0)}ms`) const chatStats = this.serviceManager.getChatService().getChatStatistics() console.log('\nChat Service:') console.log(`- Total sessions: ${chatStats.totalSessions}`) console.log(`- Total messages: ${chatStats.totalMessages}`) console.log(`- Average response time: ${chatStats.avgResponseTime.toFixed(0)}ms`) const recommendationStats = this.serviceManager.getRecommendationService().getRecommendationStatistics() console.log('\nRecommendation Service:') console.log(`- Total recommendations: ${recommendationStats.totalRecommendations}`) console.log(`- Click-through rate: ${(recommendationStats.clickThroughRate * 100).toFixed(1)}%`) console.log(`- User satisfaction: ${recommendationStats.userSatisfactionScore.toFixed(2)}`) } /** * 运行所有示例 */ async runAllExamples(): Promise { try { await this.initializeSystem() await this.exampleTranslation() await this.exampleContentAnalysis() await this.exampleChatAssistant() await this.exampleRecommendations() await this.exampleContentPipeline() await this.exampleSystemMonitoring() console.log('\n🎉 All examples completed successfully!') } catch (error) { console.error('\n💥 Example execution failed:', error) } finally { // 清理资源 await this.serviceManager.shutdown() console.log('\n🛑 System shutdown completed') } } private async delay(ms: number): Promise { return new Promise(resolve => setTimeout(resolve, ms)) } } // 导出使用示例函数 export async function runAINewsSystemExamples(): Promise { const example = new AINewsSystemExample() await example.runAllExamples() } // 如果直接运行此文件,执行示例 if (typeof require !== 'undefined' && require.main === module) { runAINewsSystemExamples().catch(console.error) }