事实检查器MCP服务器
这是一个模型上下文协议(MCP)服务器,通过与维基数据等知识源进行核对来验证简单的事实声明。
特性
- 接受自然语言的索赔
- 验证索赔的准确性
- 返回符合MCP的响应,其中包含声明、正确答案和置信度得分
- 包括一个与Ollama LLM集成的MCP客户端
MCP有效载荷格式
{
"version": "1.0",
"context": {
"type": "fact_check",
"claim": "The capital of France is London",
"correct_answer": "Incorrect. The capital of France is Paris, not London.",
"confidence": 0.95
}
}设置和安装
- 克隆此存储库
- 安装依赖项:
pip install -r requirements.txt- 运行服务器:
python app.py用法
服务器应用程序接口
向发送POST请求 /fact-check 带有包含声明的JSON有效负载的端点:
curl -X POST http://localhost:5000/fact-check \
-H "Content-Type: application/json" \
-d '{"claim": "The capital of France is London"}'MCP客户端与Ollama集成
该项目包括一个MCP客户端,该客户端演示了与Ollama LLM的集成:
- 确保Ollama已安装并正在运行:
ollama serve- 运行演示脚本:
bash run_demo.sh- 或者直接运行客户端:
python mcp_client.py --model llama3客户将:
- 在提示中检测关于大写字母的事实陈述
- 使用MCP服务器验证这些声明
- 用准确的信息增强法学硕士的知识
- 确保LLM提供事实正确的答案
测试
基本测试
使用特定声明运行测试客户端:
python test_client.py "The capital of France is Paris"或者运行具有多个声明的默认测试套件:
python test_client.py综合测试套件
运行包括正确和不正确声明的全面测试套件:
python test_client.py --test-suite单元测试
运行单元测试以验证服务器的功能:
python -m unittest test_unit.py支持的索赔类型
目前,服务器可以验证:
- 首都声明(例如,“\[国家\]的首都是\[城市\]”)
更多索赔类型将在未来的更新中添加。
扩展服务器
要添加对新型索赔的支持:
- 在中添加一个新的模式匹配正则表达式
check_fact()函数 - 实现类似的相应验证功能
check_capital_claim()
许可证
作者
©林
