Hugging Face:Blog(RSS)
精选
74AI 编辑部评分,满分 100

MachinaCheck:基于AMD MI300X构建多智能体CNC可制造性分析系统

2026-05-11 02:44· 94天前
AI 导读

MachinaCheck是一款基于多智能体AI的系统,旨在革新小型CNC机加工车间的报价分析流程。传统上,车间经理需花费30-60分钟手动分析图纸,而该系统在上传STEP文件及材料、公差等简单输入后,能在30秒内生成完整的可制造性报告,明确指出零件能否制造、所需工具及生产前需采取的行动。其核心在AMD MI300X加速卡上本地运行Qwen 2.5 7B模型,利用192GB HBM3显存确保客户设计数据无需离开本地,满足了制造业对数据隐私的严格要求。系统采用五组件流水线,结合精确的几何特征提取与LLM的制造知识推理,最终输出结构化报告。

推荐理由

虽然是hackathon项目,但用多Agent做CNC可行性分析,把推理全压在本地AMD显卡上保护图纸隐私,还给了可跑的代码和Space,制造业AI落地就该这么直接。

正文 · AI 翻译

在 lablab.ai 举办的 AMD 开发者黑客松上构建——2026 年 5 月


我们解决的问题

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

答案几乎如出一辙:他们打印图纸,手动读取每一个尺寸,在车间里走一圈检查有哪些刀具可用,估算自己的机床能否达到所需的公差,然后在记事本上写下备注。整个过程每张图纸需要 30 到 60 分钟。对于一个每周收到 10 到 20 份询价单的繁忙车间来说,仅可行性分析一项就要耗费熟练经理 5 到 20 小时的时间。

有时他们会判断失误。接下一个订单,开始生产,做到一半才发现没有合适的丝锥,或者铣床无法满足某个关键特征的公差要求。零件报废,客户不满,机床时间白白浪费。

我们构建了 MachinaCheck 来彻底消除这个问题。


MachinaCheck 的功能

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

无需手动读取图纸,无需在车间里来回走动,无需猜测。


为什么我们选择在 AMD MI300X 上构建

在解释架构之前,这一点值得单独说明,因为它不仅仅是一个技术选择——更是一项业务需求。

制造行业的客户会签署保密协议。他们的 STEP 文件包含专有几何结构,代表着多年的工程工作和数百万美元的研发投入。医疗设备上的孔位布局或航空航天部件上的凹槽几何结构,都是机密知识产权。

将这些数据发送给 OpenAI、Anthropic 或任何商业 API 端点,都构成保密违规。没有商量余地。

AMD Instinct MI300X 彻底改变了这一局面。凭借 192GB HBM3 显存和 5.3 TB/s 的内存带宽,我们完全在本地运行 Qwen 2.5 7B Instruct。没有任何数据离开工厂的基础设施。没有任何 STEP 几何数据被传输到第三方服务器。客户的 IP 始终留在它该在的地方。

这就是“设计即隐私”在制造场景中的真正含义——不是一个勾选框,而是一项根本性的架构决策,让产品对真正的企业客户变得可行。


智能体架构

MachinaCheck 采用基于 LangChain 构建并通过 FastAPI 编排的五组件流水线。

组件 1——STEP 文件解析器(纯 Python,无大语言模型)

我们使用 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),
    }

智能体 1——操作分类器(Qwen 2.5 7B)

提取出的几何数据以及用户输入(材料、公差、螺纹)被传递给通过 vLLM 在 AMD MI300X 上运行的 Qwen 2.5 7B。

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

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

智能体 2——刀具匹配器(纯 Python)

该智能体不使用大语言模型。它查询工厂的刀具库存数据库,并将每种所需刀具与现有库存进行核对。纯确定性逻辑——数据库查找、比较、得出结果。数据库查询不需要大语言模型,在这里使用它们只会增加不必要的延迟和模型幻觉风险。

智能体 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
}

智能体 4——报告生成器(Qwen 2.5 7B)

最终智能体将所有信息整合成一份专业的可制造性报告,包含总体状态、执行摘要、零件分析、工具状态、机器状态以及最终建议。


AMD 技术栈

在 AMD MI300X 上通过 ROCm 和 vLLM 运行 Qwen 2.5 7B 非常简单。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
)

结果

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

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

经验教训

仅在需要推理的地方使用大语言模型。智能体 2(工具匹配)是纯 Python 实现。在那里使用大语言模型会更慢、更昂贵且更不可靠。数据库查询才是数据库查找的正确工具。

面向结构化输出的提示词工程至关重要。要让 Qwen 可靠地输出有效 JSON,需要在提示词中设置细致的规则——明确说明圆柱孔需要钻头而非立铣刀,直径必须精确匹配,丝锥仅在指定螺纹时出现。

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


立即尝试

  • HF Space:huggingface.co/spaces/lablab-ai-amd-developer-hackathon/MachinaCheck
  • GitHub: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

本文提及的 Spaces 1 个

来源:Hugging Face:Blog(RSS) · huggingface.co

MachinaCheck:基于AMD MI300X构建多智能体CNC可制造性分析系统

Hugging Face:Blog(RSS)·2026-05-11 02:44·94天前
AI 导读

MachinaCheck是一款基于多智能体AI的系统,旨在革新小型CNC机加工车间的报价分析流程。传统上,车间经理需花费30-60分钟手动分析图纸,而该系统在上传STEP文件及材料、公差等简单输入后,能在30秒内生成完整的可制造性报告,明确指出零件能否制造、所需工具及生产前需采取的行动。其核心在AMD MI300X加速卡上本地运行Qwen 2.5 7B模型,利用192GB HBM3显存确保客户设计数据无需离开本地,满足了制造业对数据隐私的严格要求。系统采用五组件流水线,结合精确的几何特征提取与LLM的制造知识推理,最终输出结构化报告。

正文 · AI 翻译

在 lablab.ai 举办的 AMD 开发者黑客松上构建——2026 年 5 月


我们解决的问题

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

答案几乎如出一辙:他们打印图纸,手动读取每一个尺寸,在车间里走一圈检查有哪些刀具可用,估算自己的机床能否达到所需的公差,然后在记事本上写下备注。整个过程每张图纸需要 30 到 60 分钟。对于一个每周收到 10 到 20 份询价单的繁忙车间来说,仅可行性分析一项就要耗费熟练经理 5 到 20 小时的时间。

有时他们会判断失误。接下一个订单,开始生产,做到一半才发现没有合适的丝锥,或者铣床无法满足某个关键特征的公差要求。零件报废,客户不满,机床时间白白浪费。

我们构建了 MachinaCheck 来彻底消除这个问题。


MachinaCheck 的功能

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

无需手动读取图纸,无需在车间里来回走动,无需猜测。


为什么我们选择在 AMD MI300X 上构建

在解释架构之前,这一点值得单独说明,因为它不仅仅是一个技术选择——更是一项业务需求。

制造行业的客户会签署保密协议。他们的 STEP 文件包含专有几何结构,代表着多年的工程工作和数百万美元的研发投入。医疗设备上的孔位布局或航空航天部件上的凹槽几何结构,都是机密知识产权。

将这些数据发送给 OpenAI、Anthropic 或任何商业 API 端点,都构成保密违规。没有商量余地。

AMD Instinct MI300X 彻底改变了这一局面。凭借 192GB HBM3 显存和 5.3 TB/s 的内存带宽,我们完全在本地运行 Qwen 2.5 7B Instruct。没有任何数据离开工厂的基础设施。没有任何 STEP 几何数据被传输到第三方服务器。客户的 IP 始终留在它该在的地方。

这就是“设计即隐私”在制造场景中的真正含义——不是一个勾选框,而是一项根本性的架构决策,让产品对真正的企业客户变得可行。


智能体架构

MachinaCheck 采用基于 LangChain 构建并通过 FastAPI 编排的五组件流水线。

组件 1——STEP 文件解析器(纯 Python,无大语言模型)

我们使用 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),
    }

智能体 1——操作分类器(Qwen 2.5 7B)

提取出的几何数据以及用户输入(材料、公差、螺纹)被传递给通过 vLLM 在 AMD MI300X 上运行的 Qwen 2.5 7B。

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

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

智能体 2——刀具匹配器(纯 Python)

该智能体不使用大语言模型。它查询工厂的刀具库存数据库,并将每种所需刀具与现有库存进行核对。纯确定性逻辑——数据库查找、比较、得出结果。数据库查询不需要大语言模型,在这里使用它们只会增加不必要的延迟和模型幻觉风险。

智能体 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
}

智能体 4——报告生成器(Qwen 2.5 7B)

最终智能体将所有信息整合成一份专业的可制造性报告,包含总体状态、执行摘要、零件分析、工具状态、机器状态以及最终建议。


AMD 技术栈

在 AMD MI300X 上通过 ROCm 和 vLLM 运行 Qwen 2.5 7B 非常简单。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
)

结果

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

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

经验教训

仅在需要推理的地方使用大语言模型。智能体 2(工具匹配)是纯 Python 实现。在那里使用大语言模型会更慢、更昂贵且更不可靠。数据库查询才是数据库查找的正确工具。

面向结构化输出的提示词工程至关重要。要让 Qwen 可靠地输出有效 JSON,需要在提示词中设置细致的规则——明确说明圆柱孔需要钻头而非立铣刀,直径必须精确匹配,丝锥仅在指定螺纹时出现。

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


立即尝试

  • HF Space:huggingface.co/spaces/lablab-ai-amd-developer-hackathon/MachinaCheck
  • GitHub: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

本文提及的 Spaces 1 个

来源:Hugging Face:Blog(RSS)· huggingface.co