虚假新闻RAG系统
一个完整的RAG(检索增强生成)应用程序,使用人工智能分析新闻文章的真实性。使用MCP服务器、Next.js前端和Kaggle数据集构建。
🚀 快速开始
1.设置
git clone
cd fake-news-rag-mcp
npm install2.配置环境
cp .env.example .env
# Edit .env with your Kaggle credentials (required for dataset download)3.下载数据集
chmod +x kaggle/download_kaggle.sh
./kaggle/download_kaggle.sh4.启动系统
npm run dev5.访问申请
- 前端: http://localhost:3000(或下一个可用端口)
- MCP服务器: http://localhost:4000
- 健康检查: http://localhost:4000/health
🎯 特性
- ✅ AI驱动的分析:用置信度检测假新闻
- ✅ 实时处理:即时分析新闻内容
- ✅ 免费模型:使用拥抱无脸模型(无API成本!)
- ✅ 现代用户界面:干净、响应迅速的Next.js界面
- ✅ MCP协议:符合JSON-RPC 2.0标准的服务器
- ✅ 矢量搜索:模拟向量库(松果就绪)
📊 运作原理
- 数据处理:下载并预处理Kaggle虚假/真实新闻数据集
- 矢量存储器:将文章转换为嵌入以进行相似性搜索
- RAG 流程:检索相关文章并生成AI响应
- 分析:提供信心评分和详细解释
🔧 当前状态
- 矢量数据库:MockVectorStore(松果连接问题)
- 嵌入:模拟嵌入(HuggingFace API问题)
- LLM:基于规则的回答,带有置信度得分
- 数据集:2000篇平衡文章(1000篇假文章,1000篇真文章)
💡 查询示例
在web界面中尝试以下操作:
- “嘿,脸书,你们中的一些人可能知道,我是比尔·盖茨。如果你点击那个分享链接,我会给你5000美元……”
- “假新闻和真新闻的主要区别是什么?”
- “我们如何检测假新闻?”
🛠️ 发展
地方发展
# Start MCP server
cd mcp-server && npm run dev
# Start frontend (separate terminal)
cd frontend && npm run devDocker(替代方案)
docker-compose up -d🔌 API使用
查询新闻
curl -X POST http://localhost:4000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "mcp.invoke",
"params": {
"tool": "mcp.rag.query",
"params": {
"query": "Is this fake news?",
"topK": 3
}
}
}'检查状态
curl http://localhost:4000/health🐛 故障排除
常见问题
- 端口冲突:系统自动查找可用端口
- API错误:退回到模拟/基于规则的响应
- 数据集问题:在中检查Kaggle凭据
.env
日志
# View server logs
npm run dev 2>&1 | grep "\[0\]"📁 项目结构
├── kaggle/ # Dataset processing
├── mcp-server/ # MCP server (port 4000)
├── frontend/ # Next.js app (port 3000+)
├── tests/ # Test suites
└── .env # Configuration🚀 生产
部署到Vercel
cd frontend
vercel --prod环境变量
KAGGLE_USERNAME:您的Kaggle用户名KAGGLE_KEY:您的Kaggle API密钥PINECONE_API_KEY:(可选)用于松果体矢量数据库VECTOR_DB_PROVIDER:mock或pinecone
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件。
______________________________________________________________________
准备好检测假新闻了吗?启动系统,问你的第一个问题! 🕵️♀️📰
