MachinaCheck:在 AMD MI300X 上构建多智能体 CNC 可制造性系统

Hugging Face Blog 工具

摘要

MachinaCheck 是一个构建于 AMD MI300X 硬件之上的多智能体 AI 系统,它利用 Qwen 2.5 7B 模型,实现了对 STEP 文件的 CNC 可制造性分析的自动化。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/11 00:36

MachinaCheck:在 AMD MI300X 上构建多智能体 CNC 可制造性系统

来源:https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck 返回文章列表 (https://huggingface.co/blog)

Syed Muhammad Sarmad 的头像 (https://huggingface.co/sarmaddev)

  • 我们要解决的问题 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#the-problem-we-solved)
  • MachinaCheck 的功能 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#what-machinacheck-does)
  • 为什么我们选择在 AMD MI300X 上构建 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#why-we-built-it-on-amd-mi300x)
  • 智能体架构 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#the-agent-architecture)- 组件 1 — STEP 文件解析器 (纯 Python,无 LLM) (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#component-1–step-file-parser-pure-python-no-llm) - 智能体 1 — 操作分类器 (Qwen 2.5 7B) (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-1–operations-classifier-qwen-25-7b) - 智能体 2 — 工具匹配器 (纯 Python) (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-2–tool-matcher-pure-python) - 智能体 3 — 可行性决策智能体 (Qwen 2.5 7B) (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-3–feasibility-decision-agent-qwen-25-7b) - 智能体 4 — 报告生成器 (Qwen 2.5 7B) (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-4–report-generator-qwen-25-7b)
  • AMD 技术栈 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#the-amd-stack)
  • 结果 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#results)
  • 我们的收获 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#what-we-learned)
  • 试用 (https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#try-it)

2026 年 5 月,在 AMD 开发者黑客松期间于 lablab.ai 构建


https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#the-problem-we-solved我们要解决的问题

走进任何一家小型 CNC 机加工车间,询问经理他们如何决定是否接受客户的订单。

答案几乎总是相同的:他们打印出图纸,手动阅读每一个尺寸,在车间里走动以检查有哪些可用的工具,估算他们的机器是否能保持所需的公差,并在剪贴板上写下笔记。整个过程每张图纸需要 30 到 60 分钟。对于一个每周收到 10 到 20 份报价请求(RFQs)的繁忙车间来说,仅可行性分析一项就要花费熟练经理 5 到 20 小时的时间。

有时候他们会出错。他们接受了订单,开始生产,却在中途发现他们没有合适的丝锥,或者他们的铣床无法在关键特性上保持公差。零件被报废。客户不满意。机器时间白白浪费。

我们构建 MachinaCheck 旨在彻底消除这一问题。


https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#what-machinacheck-doesMachinaCheck 的功能

MachinaCheck 是一个多智能体 AI 系统。你上传一个 STEP 文件——这是客户发送给机加工车间的标准 CAD 格式——以及三个简单的输入:材料类型、所需公差和任何螺纹规格。30 秒后,你会得到一份完整的可制造性报告,准确告诉你是否能够制造该零件、需要什么工具、缺少什么以及在开始生产前应采取什么行动。

无需手动阅读图纸。无需在车间里四处走动。无需猜测。


https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#why-we-built-it-on-amd-mi300x为什么我们选择在 AMD MI300X 上构建

在解释架构之前,这一点值得单独作为一个章节,因为这不仅仅是一个技术选择——它是一个商业需求。

制造业客户会签署保密协议(NDA)。他们的 STEP 文件包含专有几何形状,代表着多年的工程工作和数百万美元的研发投入。医疗设备上的孔位模式或航空航天部件上的型腔几何形状是机密知识产权。

将这些数据发送到 OpenAI、Anthropic 或任何商业 API 端点都构成保密违规。毫无疑问。

AMD Instinct MI300X 完全改变了这一局面。凭借 192GB 的 HBM3 VRAM 和 5.3 TB/s 的内存带宽,我们在本地完全运行 Qwen 2.5 7B Instruct。没有数据离开车间的基础设施。没有 STEP 几何形状传输到第三方服务器。客户的知识产权保留在它该在的地方。

在制造业环境中,“隐私优先设计”的实际含义正是如此——这不仅仅是一个勾选项,而是一个根本性的架构决策,使产品对真正的企业客户具有可行性。


https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#the-agent-architecture智能体架构

MachinaCheck 使用一个由 LangChain 构建并通过 FastAPI 协调的五组件管道。

https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#component-1–step-file-parser-pure-python-no-llm组件 1 — STEP 文件解析器 (纯 Python,无 LLM)

我们使用 cadquery,一个基于 OpenCASCADE 的 Python 库,直接解析 STEP 文件。这为我们提供了数学上精确的特征提取:

  • 所有圆柱孔的直径和深度
  • 平面及其面积
  • 倒角和圆角
  • 边界框尺寸
  • 总体积和表面积

由于它直接读取数学几何形状,这种提取是 100% 准确的——没有视觉模型,没有 OCR,没有近似值。一个 Ø6.0mm 的孔在输出中就是精确的 Ø6.0mm。

def extract_features(step_file_path: str) -> dict:
    model = cq.importers.importStep(step_file_path)
    shape = model.val()
    bb = shape.BoundingBox()
    
    holes = {}
    for face in model.faces().vals():
        adaptor = BRepAdaptor_Surface(face.wrapped)
        if adaptor.GetType() == GeomAbs_Cylinder:
            radius = adaptor.Cylinder().Radius()
            diameter = round(radius * 2, 3)
            holes[diameter] = holes.get(diameter, 0) + 1
    
    return {
        "bounding_box_mm": {"length": round(bb.xlen, 3), ...},
        "holes": [...],
        "flat_surfaces_count": len(flat_surfaces),
    }

https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-1–operations-classifier-qwen-25-7b智能体 1 — 操作分类器 (Qwen 2.5 7B)

提取的几何形状加上用户输入——材料、公差、螺纹——通过 vLLM 传递给在 AMD MI300X 上运行的 Qwen 2.5 7B。

该智能体回答:“制造此零件需要哪些 CNC 操作和工具?”

它应用制造业领域知识:304 不锈钢需要硬质合金刀具。圆柱孔需要钻头,而不是端铣刀。±0.005mm 的公差需要精密机床,而不是标准铣床。

https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-2–tool-matcher-pure-python智能体 2 — 工具匹配器 (纯 Python)

此智能体不使用 LLM。它查询车间的工具库存数据库,并将每种所需工具与可用工具进行比对。纯粹的确定性逻辑——数据库查找、比较、结果。数据库查询不需要 LLM,在这里使用 LLM 只会增加不必要的延迟和幻觉风险。

https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-3–feasibility-decision-agent-qwen-25-7b智能体 3 — 可行性决策智能体 (Qwen 2.5 7B)

匹配结果传回 Qwen。智能体会对整体情况进行推理,并生成结构化的决策:

{
  "decision": "CONDITIONAL",
  "confidence": "HIGH",
  "reason": "All tools available except M10x1.5 tap",
  "action_items": ["Purchase M10x1.5 tap ($15)"],
  "risk_flags": ["Verify spindle speed for Steel 304"],
  "estimated_setup_hours": 2.5
}

https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#agent-4–report-generator-qwen-25-7b智能体 4 — 报告生成器 (Qwen 2.5 7B)

最后一个智能体将所有内容综合成一份专业的可制造性报告,包含总体状态、执行摘要、零件分析、工具状态、机器状态和最终建议。


https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#the-amd-stackAMD 技术栈

通过 ROCm 和 vLLM 在 AMD MI300X 上运行 Qwen 2.5 7B 非常 straightforward。AMD 开发者云上的 vLLM 快速入门镜像已预配置所有内容。

python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-7B-Instruct \
  --host 0.0.0.0 \
  --port 8000 \
  --dtype float16 \
  --gpu-memory-utilization 0.5

使用 gpu-memory-utilization 0.5,我们使用大约 96GB 的可用 192GB 显存,留下了充足的余量。我们智能体调用的推理延迟平均低于 3 秒。

LangChain 通过兼容 OpenAI 的端点连接到 vLLM:

from langchain_community.llms import VLLMOpenAI

llm = VLLMOpenAI(
    openai_api_base="http://localhost:8000/v1",
    openai_api_key="EMPTY",
    model_name="Qwen/Qwen2.5-7B-Instruct",
    temperature=0.1,
    max_tokens=1000
)

https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#results结果

使用来自 GrabCAD 的真实 STEP 文件进行测试:

  • 特征提取:对于多达 50 个特征的零件,耗时不到 1 秒
  • 完整管道(所有 4 个智能体):端到端耗时 25 到 40 秒
  • 决策准确性:对所有测试零件的可制造性评估均正确
  • 隐私:零字节 STEP 几何数据传输到外部

https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#what-we-learned我们的收获

仅在需要推理的地方使用 LLM。 智能体 2(工具匹配)是纯 Python。在那里放置一个 LLM 会更慢、更昂贵且不可靠。数据库查找的正确工具就是数据库查询。

用于结构化输出的提示工程至关重要。 让 Qwen 可靠地输出有效的 JSON 需要提示中仔细的规则——明确指出圆柱孔需要钻头而不是端铣刀,直径必须完全匹配,只有指定螺纹时才出现丝锥。

AMD MI300X 在此用例中确实令人印象深刻。 192GB 的 VRAM 意味着如果需要,我们可以运行大得多的模型。对于生产部署,Qwen 2.5 72B 将轻松容纳并提供显著更好的推理质量。


https://huggingface.co/blog/lablab-ai-amd-developer-hackathon/machinacheck#try-it试用

  • HF Space: huggingface.co/spaces/lablab-ai-amd-developer-hackathon/MachinaCheck (https://huggingface.co/spaces/lablab-ai-amd-developer-hackathon/MachinaCheck)
  • GitHub: github.com/SyedMuhammadSarmad/Manufacturing-Agent (https://github.com/SyedMuhammadSarmad/Manufacturing-Agent)

上传任何 STEP 文件,查看完整管道的运行情况。


由 Syed Muhammad Sarmad 和 Sabari Doss R 于 2026 年 5 月在 AMD 开发者黑客松期间构建。

技术栈:Qwen 2.5 7B · AMD Instinct MI300X · ROCm · vLLM · LangChain · cadquery · FastAPI · Next.js · Hugging Face Spaces

相似文章

Show HN:为你的AI代理扫描危险能力

Hacker News Top

MakerChecker是一个用于AI代理的开源安全层,它强制执行默认拒绝权限、人工审批,并提供加密签名的审计追踪。该工具会扫描代理代码中的危险能力,并防止代理自我批准操作。

@0xCristal: https://x.com/0xCristal/status/2068280221954961731

X AI KOLs Timeline

本文介绍了一台运行六个AI代理(24/7不间断)的配置,设备是Minisforum MS-S1 Max迷你工作站,搭载AMD Ryzen AI Max+ 395芯片,每月电费仅11美元。文章强调从云端API成本转向本地推理,实现始终在线的代理,用于邮件分类、研究监控和文档处理等任务。

多智能体计算机使用

Hugging Face Daily Papers

本文提出了一种多智能体计算机使用 (MACU) 系统,该系统使用管理者模型将任务分解为有向无环图,供子智能体并行执行。在多个基准测试上,它相比单智能体基线有一致的改进,并展现出更好的测试时扩展能力。