mcpField
P
PHM Physics Check

PHM Physics Check

本地服务
github.com/PHM-Audit科研与教育01 天前更新

关于 PHM Physics Check

PHM Physics Check 是用于检查 LLM 输出和机器人数据物理合理性的离线库及本地 MCP 服务。它仅依赖 Python 标准库执行确定性检查,并生成结构化的 PASS、WARN 或 FAIL 判定。

主要功能

  1. 01量纲与单位一致性检查
  2. 02物理限值与概率验证
  3. 03运动学和守恒检查
  4. 04机器人四元数与时间戳检查
  5. 05结构化 PASS、WARN 和 FAIL 结果
  6. 06离线运行且无依赖

适用场景

  1. 01检查生成文本中的物理量
  2. 02验证机器人数据集记录
  3. 03标记无效单位或物理值

MCP 相关

通过 stdio 在本地运行,向 MCP 客户端提供 `physics_text_check`、`physics_quantity_check` 和 `robotics_data_check` 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbphm-lite-check-mcpb-1.0.1.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

phm-lite-check

用于大模型输出和机器人 / 具身 AI 数据集的确定性物理合理性检查。零依赖,仅使用标准库,Python >= 3.8。

此软件包是一个由社区提供的独立库:它是 PHM 物理判断引擎的离线子集(有意排除专有核心方法)。Dify Marketplace 上列有一个配套插件(phm-physics-check)。

与 LangChain、AutoGen 或 Dify 无关联,也未获其认可或赞助。集成适配器由社区提供。

MCP 服务

此软件包也可作为本地 MCP 服务运行(stdio 传输)。安装后,将 MCP 客户端指向:

python3 -m phm_lite_check.mcp_server

提供三个工具:physics_text_check、physics_quantity_check、robotics_data_check。

检查内容

文本 / 量(check_text、full_check)
  • 量纲 / 单位一致性(SI 单位制 + 常用单位)
  • 普适速度上限(c)
  • 绝对温度下限(0 K)
  • 质量 / 长度 / 能量非负
  • 概率范围 [0, 1]
  • 运动学关系(自由落体关系,按容差检查)
  • 守恒检查(能量 / 动量,按容差检查)
机器人记录(check_robotics_record)
  • 四元数归一化(|q| 与 1.0 的偏差在容差范围内)
  • 时间戳合理性:单调性、重复值、NaN/Inf、异常间隔(可能存在帧丢失)
  • 扫描数值数组中的 NaN / Inf
  • 检查常见运动字段是否标注单位

设计保证

  • 确定性:相同输入 -> 始终得到相同输出,可重复验证。
  • 零依赖:仅使用标准库;框架适配器会延迟导入其宿主框架。
  • 判定结果:PASS / WARN / FAIL,并附带结构化违规记录。
  • 不进行网络调用:所有操作均在进程内离线运行。

注意:此软件包仅包含 PHM 物理判断引擎的确定性离线子集。有意排除专有核心方法。(部署专用的深度检查可通过可配置的远程引擎端点单独使用,本软件包不包含此功能。)

安装

选项 A — 从 GitHub 仓库安装(无需包索引):

pip install git+https://github.com/PHM-Audit/phm-lite-check

选项 B — 从 Release wheel 安装(更快,无需克隆 git 仓库):

pip install https://github.com/PHM-Audit/phm-lite-check/releases/download/v1.0.0/phm_lite_check-1.0.0-py3-none-any.whl

可选扩展(安装后):

pip install "phm-lite-check[langchain]"   # + langchain-core (adapter tests)
pip install "phm-lite-check[autogen]"     # + autogen-agentchat

计划发布 PyPI 条目;以上两种选项目前均可使用。

快速入门 — 库

from phm_lite_check import check_text, check_robotics_record

check_text("The drone descends at 450 km/h and confidence is 1.8.")
# {"verdict": "FAIL", "violations": [...], ...}

check_robotics_record({
    "quaternion": [1.395, 0.0, 0.0, 0.0],   # |q| >> 1 -> FAIL
    "timestamps": [0.0, 0.1, 0.05],          # not monotonic -> FAIL
    "position": [1.0, 2.0],                  # no unit annotated -> WARN
})

快速入门 — LangChain

from phm_lite_check.integrations import langchain_tool

tools = langchain_tool.get_langchain_tools()   # 3 @tool callables
agent = create_react_agent(llm, tools)         # your usual wiring

快速入门 — AutoGen(v0.4+)

from autogen_agentchat.agents import AssistantAgent
from phm_lite_check.integrations import autogen_tool

assistant = AssistantAgent(
    name="checked_assistant",
    model_client=...,                    # your model client
    tools=autogen_tool.get_autogen_tools(),
)

两种适配器提供的工具

工具输入检查内容
physics_text_check含有物理量的自由文本单位一致性、限制、概率
physics_quantity_check数值 + 单位根据物理定律检查单个物理量
robotics_data_checkJSON 记录四元数、时间戳、NaN/Inf、单位

测试

pip install -e ".[dev]"
pytest tests/ -q

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。