Skip to content

Commit f2a7558

Browse files
committed
Add ManufacturingAgentSuite example
Signed-off-by: Ryan Hui <ryan.on2008@gmail.com>
1 parent 15b0d46 commit f2a7558

8 files changed

Lines changed: 585 additions & 0 deletions

File tree

ManufacturingAgentSuite/README.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# ManufacturingAgentSuite
2+
3+
`ManufacturingAgentSuite` is a proposed OPEA GenAIExamples blueprint for
4+
route-isolated industrial action-card agents.
5+
6+
The example demonstrates how one Gateway and Manufacturing Megaservice can
7+
route plant-floor evidence to five governed manufacturing workflows:
8+
9+
| Route | Workflow | Output target |
10+
| --- | --- | --- |
11+
| `maintenance` | Predictive maintenance / lao-shi-fu escalation | `maintenance_work_order` |
12+
| `iqc` | Incoming and in-process quality control | `qms_quality_event` |
13+
| `changeover` | SKU changeover verification | `changeover_checklist` |
14+
| `wi` | Released work-instruction guidance | `wi_reference` |
15+
| `hazard` | EHS hazard observation | `ehs_case` |
16+
17+
## Architecture
18+
19+
```text
20+
Plant evidence
21+
-> Gateway
22+
-> Manufacturing Megaservice
23+
-> route registry: maintenance / iqc / changeover / wi / hazard
24+
-> route-specific source evidence
25+
-> deterministic evaluator
26+
-> guardrails
27+
-> bounded action card
28+
```
29+
30+
The full WearEdge reference implementation also includes Qdrant RAG, OPEA
31+
embedding profiles, an official OPEA TEI path, benchmark evidence, and a browser
32+
demo console:
33+
34+
```text
35+
https://github.com/davidmillerak2026-sys/wearedge-opea-manufacturing
36+
```
37+
38+
## Quick Start On Xeon
39+
40+
```bash
41+
cd ManufacturingAgentSuite/docker_compose/intel/cpu/xeon
42+
docker compose up -d
43+
curl http://localhost:8899/v1/agents
44+
curl http://localhost:8899/v1/agents/maintenance/demo
45+
curl http://localhost:8899/v1/scorecard
46+
```
47+
48+
Optional OPEA TEI profile:
49+
50+
```bash
51+
docker compose -f compose.yaml -f compose.opea-tei.yaml up -d
52+
```
53+
54+
## Endpoints
55+
56+
| Endpoint | Purpose |
57+
| --- | --- |
58+
| `GET /healthz` | Service health and configured embedding profile |
59+
| `GET /v1/agents` | Route registry |
60+
| `GET /v1/agents/{mode}/demo` | Fixed demo request and bounded action card |
61+
| `POST /v1/agents/{mode}/infer` | Route-specific inference contract |
62+
| `GET /v1/scorecard` | Five-route validation scorecard |
63+
64+
## Guardrail Boundary
65+
66+
The example must not claim autonomous restart, quality release, maintenance
67+
release, safety clearance, final root cause, customer acceptance, or remaining
68+
useful life. Restricted decisions remain human-confirmed.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# ManufacturingAgentSuite Flow
2+
3+
```mermaid
4+
flowchart LR
5+
Evidence["Plant-floor evidence"] --> Gateway["Gateway"]
6+
Gateway --> Mega["Manufacturing Megaservice"]
7+
Mega --> Registry["Route registry"]
8+
Registry --> Maintenance["maintenance"]
9+
Registry --> IQC["iqc"]
10+
Registry --> Changeover["changeover"]
11+
Registry --> WI["wi"]
12+
Registry --> Hazard["hazard"]
13+
Maintenance --> Eval["Evaluator"]
14+
IQC --> Eval
15+
Changeover --> Eval
16+
WI --> Eval
17+
Hazard --> Eval
18+
Eval --> Guardrails["Guardrails"]
19+
Guardrails --> Action["Bounded action card"]
20+
```
21+
22+
OPEA component mapping:
23+
24+
| OPEA concept | ManufacturingAgentSuite role |
25+
| --- | --- |
26+
| Gateway | Plant evidence/API entry point |
27+
| Megaservice | Route orchestration |
28+
| Dataprep | Route-specific manuals, quality plans, policies, and checklists |
29+
| Retriever/RAG | Source-grounded evidence retrieval in the full reference package |
30+
| Vector DB | Qdrant profile in the full reference package |
31+
| LLM service | Pluggable LLM adapter; deterministic path for CI |
32+
| Guardrails | Blocked claims and human-confirmation gates |
33+
| Evaluation | Route scorecard |
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# ManufacturingAgentSuite Benchmark Notes
2+
3+
The first PR benchmark should remain CI-friendly:
4+
5+
```bash
6+
cd ManufacturingAgentSuite/docker_compose/intel/cpu/xeon
7+
docker compose up -d
8+
../../../../tests/test_compose_on_xeon.sh
9+
```
10+
11+
The reference WearEdge package includes deeper evidence:
12+
13+
- Intel Xeon AVX-512/AMX deterministic five-route CPU benchmark.
14+
- Google Cloud C3 Docker/Qdrant fresh-clone E2E.
15+
- Google Cloud C3 OPEA-compatible embedding profile E2E.
16+
- Google Cloud C3 official OPEA TEI profile E2E.
17+
18+
Reference evidence:
19+
20+
```text
21+
https://github.com/davidmillerak2026-sys/wearedge-opea-manufacturing/tree/main/evidence/benchmarks
22+
```
23+
24+
Do not use this first PR to claim production LLM acceleration. The current
25+
hardware evidence is for the deterministic route pipeline and official OPEA TEI
26+
embedding path.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Deploying ManufacturingAgentSuite on Intel Xeon
2+
3+
This directory contains a minimal Docker Compose deployment for the proposed
4+
`ManufacturingAgentSuite` OPEA example.
5+
6+
## Start
7+
8+
```bash
9+
docker compose up -d
10+
```
11+
12+
## Validate
13+
14+
```bash
15+
curl http://localhost:8899/healthz
16+
curl http://localhost:8899/v1/agents
17+
curl http://localhost:8899/v1/agents/maintenance/demo
18+
curl http://localhost:8899/v1/scorecard
19+
```
20+
21+
Expected scorecard result:
22+
23+
```json
24+
{
25+
"ok": true,
26+
"routes": [
27+
{"mode": "maintenance", "status": "pass"},
28+
{"mode": "iqc", "status": "pass"},
29+
{"mode": "changeover", "status": "pass"},
30+
{"mode": "wi", "status": "pass"},
31+
{"mode": "hazard", "status": "pass"}
32+
]
33+
}
34+
```
35+
36+
## Optional OPEA TEI Profile
37+
38+
```bash
39+
docker compose -f compose.yaml -f compose.opea-tei.yaml up -d
40+
```
41+
42+
This starts Hugging Face TEI and the OPEA embedding microservice pattern with:
43+
44+
```text
45+
TEI_EMBEDDING_ENDPOINT=http://tei-embedding-service:80
46+
EMBEDDING_COMPONENT_NAME=OPEA_TEI_EMBEDDING
47+
```
48+
49+
## Stop
50+
51+
```bash
52+
docker compose down
53+
```
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright (C) 2026 Intel Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
services:
5+
manufacturing-agent-suite:
6+
environment:
7+
OPEA_EXAMPLE_PROFILE: opea-tei
8+
OPEA_EMBEDDING_PROFILE: opea-tei
9+
OPEA_EMBEDDING_URL: http://embedding:6000/v1/embeddings
10+
depends_on:
11+
qdrant:
12+
condition: service_started
13+
embedding:
14+
condition: service_started
15+
16+
tei-embedding-service:
17+
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.7
18+
container_name: manufacturing-agent-suite-tei-embedding
19+
ports:
20+
- "6006:80"
21+
volumes:
22+
- "${MODEL_CACHE:-./data}:/data"
23+
shm_size: 1g
24+
command: --model-id ${EMBEDDING_MODEL_ID:-BAAI/bge-base-en-v1.5} --auto-truncate
25+
restart: unless-stopped
26+
27+
embedding:
28+
image: ${REGISTRY:-opea}/embedding:${TAG:-latest}
29+
container_name: manufacturing-agent-suite-embedding
30+
depends_on:
31+
tei-embedding-service:
32+
condition: service_started
33+
ports:
34+
- "6000:6000"
35+
environment:
36+
TEI_EMBEDDING_ENDPOINT: http://tei-embedding-service:80
37+
EMBEDDING_COMPONENT_NAME: OPEA_TEI_EMBEDDING
38+
HF_TOKEN: ${HF_TOKEN:-}
39+
LOGFLAG: ${LOGFLAG:-False}
40+
restart: unless-stopped
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Copyright (C) 2026 Intel Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
services:
5+
manufacturing-agent-suite:
6+
image: python:3.12-slim
7+
container_name: manufacturing-agent-suite
8+
working_dir: /app
9+
command: python /app/manufacturing_agent_suite.py
10+
ports:
11+
- "8899:8899"
12+
environment:
13+
OPEA_EXAMPLE_PROFILE: deterministic
14+
OPEA_VECTOR_BACKEND: qdrant-profile
15+
OPEA_EMBEDDING_PROFILE: deterministic
16+
volumes:
17+
- "../../../../manufacturing_agent_suite.py:/app/manufacturing_agent_suite.py:ro"
18+
depends_on:
19+
qdrant:
20+
condition: service_started
21+
restart: unless-stopped
22+
23+
qdrant:
24+
image: qdrant/qdrant:v1.12.6
25+
container_name: manufacturing-agent-suite-qdrant
26+
ports:
27+
- "6333:6333"
28+
- "6334:6334"
29+
restart: unless-stopped
30+
31+
networks:
32+
default:
33+
driver: bridge

0 commit comments

Comments
 (0)