Skip to main content

Manufacturing Quality Control Assistant

The Manufacturing Quality Control Assistant is a specialized RAG system designed to help quality engineers troubleshoot production issues and maintain quality standards in manufacturing environments.

Overview

User Story: Manufacturing Quality Control Assistant

Key Features

  • Manufacturing terminology expansion: Automatically expands queries with process-specific terms
  • Case similarity-based reranking: Prioritizes similar historical cases and effective solutions
  • Systematic troubleshooting: Provides step-by-step troubleshooting approaches
  • Quality insights: Generates defect patterns, process improvements, and preventive measures
  • Critical issue detection: Identifies safety and compliance issues for immediate escalation
  • Process-specific guidance: Tailored responses for different manufacturing processes

Supported Issue Types

  • Surface Defects: Finish issues, cosmetic defects, surface quality problems
  • Dimensional Accuracy: Tolerance issues, measurement problems, geometric accuracy
  • Welding Defects: Porosity, cracks, incomplete fusion, undercut
  • Casting Defects: Shrinkage, porosity, cold shuts, inclusions
  • Tool Wear: Excessive wear, tool life reduction, cutting problems
  • Equipment Reliability: Machine downtime, calibration issues, maintenance needs

Supported Manufacturing Processes

  • Machining: Milling, turning, drilling, grinding
  • Welding: Arc welding, spot welding, TIG/MIG
  • Casting: Die casting, sand casting, investment casting
  • Forming: Stamping, bending, rolling, forging
  • Assembly: Manual, automated, robotic assembly

Quick Start

Basic Usage

import asyncio
from packages.agents.manufacturing_agent import ManufacturingAgent

async def main():
# Initialize agent
agent = ManufacturingAgent()

# Define user context
user_context = {
"user_id": "qe_001",
"user_role": "quality_engineer",
"product_line": "aluminum_parts",
"issue_type": "surface_defects",
"manufacturing_process": "machining",
"batch_id": "12345",
"severity": "medium"
}

# Query
query = "Why are we getting surface defects on batch #12345?"

# Handle query
response = await agent.handle_quality_query(query, user_context)

print(f"Answer: {response['answer']}")
print(f"Troubleshooting Steps: {response['troubleshooting_steps']}")

asyncio.run(main())

API Usage

curl -X POST http://localhost:8000/manufacturing/quality-query \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-token" \
-d '{
"query": "Why are we getting surface defects?",
"product_line": "aluminum_parts",
"issue_type": "surface_defects",
"manufacturing_process": "machining",
"severity": "medium"
}'

Configuration

Default Configuration

from packages.rag.manufacturing_config import ManufacturingConfig

config = ManufacturingConfig(
llm_model="gpt-4-turbo-preview",
llm_temperature=0.1, # Low for systematic troubleshooting
retrieval_k=25, # More candidates
rerank_k=10,
hybrid_alpha=0.6, # Favor vector search
enable_quality_insights=True,
enable_pattern_analysis=True,
format_type="troubleshooting_guide"
)

Custom Configuration

config = ManufacturingConfig(
llm_temperature=0.05, # Lower for maximum accuracy
retrieval_k=30,
enable_preventive_recommendations=True,
max_cost_per_query=0.15
)

agent = ManufacturingAgent(config)

Response Structure

Quality Query Response

{
"query_id": "mfg_1234567890",
"answer": "Detailed troubleshooting response...",
"quality_context": {
"product_line": "aluminum_parts",
"issue_type": "surface_defects",
"manufacturing_process": "machining",
"batch_id": "12345",
"severity": "medium"
},
"manufacturing_metadata": {
"user_role": "quality_engineer",
"query_timestamp": "2024-10-08T12:00:00Z",
"format_type": "troubleshooting_guide"
},
"troubleshooting_steps": [
{
"step": 1,
"action": "Immediate Inspection",
"description": "Conduct visual and dimensional inspection",
"expected_outcome": "Identify defect characteristics",
"tools_required": ["Visual inspection tools"],
"estimated_time": "30 minutes"
}
],
"quality_insights": {
"defect_patterns": ["Pattern analysis"],
"process_improvements": ["Suggestions"],
"preventive_measures": ["Recommendations"],
"training_needs": ["Training areas"]
},
"related_procedures": [
"SOP-QC-001: Visual Inspection",
"SOP-MFG-010: Process Verification"
],
"escalation_criteria": {
"immediate_escalation": ["Safety concerns"],
"management_notification": ["High defect rates"],
"contacts": {"quality_manager": "ext. 5000"}
},
"critical_issue": false,
"escalation_required": false,
"processing_time_ms": 1500.5
}

Use Cases

1. Surface Defects on Aluminum Parts

query = "Why are we getting surface defects on batch #12345?"
user_context = {
"product_line": "aluminum_parts",
"issue_type": "surface_defects",
"manufacturing_process": "machining",
"batch_id": "12345"
}
response = await agent.handle_quality_query(query, user_context)

2. Dimensional Accuracy Issues

query = "Parts are coming out of tolerance"
user_context = {
"product_line": "precision_parts",
"issue_type": "dimensional_accuracy",
"manufacturing_process": "machining"
}

3. Welding Quality Problems

query = "We're seeing porosity in weld joints"
user_context = {
"product_line": "welded_assemblies",
"issue_type": "welding_defects",
"manufacturing_process": "welding"
}

4. Tool Wear Management

query = "Tool life is significantly reduced"
user_context = {
"issue_type": "tool_wear",
"manufacturing_process": "machining"
}

API Endpoints

/manufacturing/quality-query - Process Quality Query

Handle quality control queries with systematic troubleshooting.

Request:

{
"query": "Why are we getting surface defects?",
"product_line": "aluminum_parts",
"issue_type": "surface_defects",
"manufacturing_process": "machining",
"batch_id": "12345",
"severity": "medium"
}

/manufacturing/defect-search - Search Defect Database

Search quality procedures and defect database.

Request:

{
"query": "surface defects aluminum",
"filters": {"product_line": "aluminum_parts"},
"top_k": 10
}

/manufacturing/process-review - Review Process

Review manufacturing process parameters and controls.

Request:

{
"process": "machining",
"context": {"product_line": "aluminum_parts"}
}

/manufacturing/health - Health Check

Check manufacturing service health.

/manufacturing/issue-types - Get Issue Types

Returns available quality issue types.

/manufacturing/manufacturing-processes - Get Processes

Returns available manufacturing processes.

/manufacturing/severity-levels - Get Severity Levels

Returns available severity levels.

Critical Issue Handling

The system automatically detects critical quality issues:

# Critical issue detected
query = "Customer complaint about field failure - safety issue"
response = await agent.handle_quality_query(query, {"severity": "critical"})

if response['critical_issue']:
print("STOP PRODUCTION!")
print(f"Escalation: {response['escalation_required']}")

Critical Issue Triggers

  • Safety concerns or hazards
  • Customer complaints or field failures
  • Regulatory compliance violations
  • Production stoppage
  • Severity level: "critical"

Quality Insights

The system generates comprehensive quality insights:

insights = response['quality_insights']

# Defect Patterns
print(insights['defect_patterns'])
# ["Defect type 'surface_defects' observed in aluminum_parts"]

# Process Improvements
print(insights['process_improvements'])
# ["Implement SPC for early detection", "Review process parameters"]

# Preventive Measures
print(insights['preventive_measures'])
# ["Regular equipment maintenance", "Update inspection procedures"]

# Training Needs
print(insights['training_needs'])
# ["Process-specific training for machining", "Quality control procedures"]

Troubleshooting Steps

Systematic 6-step troubleshooting approach:

  1. Immediate Inspection: Visual and dimensional inspection
  2. Process Parameter Review: Verify all parameters
  3. Material Verification: Check material specifications
  4. Equipment Inspection: Inspect machine condition
  5. Root Cause Analysis: Conduct systematic RCA
  6. Corrective Action: Implement solutions

Testing

Run manufacturing tests:

pytest tests/test_manufacturing_assistant.py -v

Run example:

python examples/manufacturing_assistant_example.py

Integration

Add to FastAPI App

from packages.rag.manufacturing_api import router as manufacturing_router

app.include_router(manufacturing_router)

Use in Production

from packages.agents.manufacturing_agent import ManufacturingAgent
from packages.rag.manufacturing_config import ManufacturingConfig

config = ManufacturingConfig(
enable_quality_insights=True,
enable_pattern_analysis=True
)

agent = ManufacturingAgent(config)

Best Practices

  1. Always provide complete context with product line, issue type, and process
  2. Use appropriate severity levels to ensure proper prioritization
  3. Include batch IDs for traceability
  4. Review troubleshooting steps systematically
  5. Document findings in quality management system
  6. Escalate critical issues immediately
  7. Track quality metrics for continuous improvement

Support

  • Documentation: See user stories and examples
  • Examples: See examples/manufacturing_assistant_example.py
  • Tests: See tests/test_manufacturing_assistant.py
  • Issues: Report on GitHub

License

MIT License - See LICENSE file for details.