事实核查服务

一个通过检查维基数据等知识源来验证简单事实声明的模型上下文协议(MCP)服务器。

  • by devshark
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 devshark/fact-checker-mcp

使用说明

事实检查器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
  }
}

设置和安装

  1. 克隆此存储库
  2. 安装依赖项:
    pip install -r requirements.txt
    
  3. 运行服务器:
    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的集成:

  1. 确保Ollama已安装并正在运行:

    ollama serve
    
  2. 运行演示脚本:

    bash run_demo.sh
    
  3. 或者直接运行客户端:

    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

支持的索赔类型

目前,服务器可以验证:

  • 首都声明(例如,“[国家]的首都是[城市]”)

更多索赔类型将在未来的更新中添加。

扩展服务器

要添加对新型索赔的支持:

  1. 在中添加一个新的模式匹配正则表达式 check_fact() 函数
  2. 实现类似的相应验证功能 check_capital_claim()

许可证

麻省理工学院

作者

©林