본문으로 건너뛰기

플랫폼 아키텍처

시스템 구성도

┌─────────────────────────────────────────────────────────────┐
│ PlantPulse AI │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ AI Chat (코파일럿 UI) │ │
│ │ 자연어 대화 · SSE 스트리밍 · 리치 시각화 │ │
│ └────────────────────────┬──────────────────────────────┘ │
│ │ │
│ ┌────────────────────────┼──────────────────────────────┐ │
│ │ 내장 에이전트 (AgentOrchestrator + ToolRegistry) │ │
│ │ 에이전트 루프 · 도구 자동 호출 · LiteLLM(gpt-4o) │ │
│ └────────────────────────┬──────────────────────────────┘ │
│ │ │
│ ┌────────────┬───────────┴────┬─────────┬───────────────┐ │
│ │ 통합 MCP │ TimeSeries │ RAG │ AURA LLM │ │
│ │ (온톨로지 │ -Insight │(LightRAG│ LLM·Embed·Re │ │
│ │ 포함) │ 27도구 │ 서버) │ rank·Multi │ │
│ └─────┬──────┴───────┬────────┴────┬────┴───────────────┘ │
│ │ │ │ │
│ ┌─────┴────┬─────────┴─┬──────┬────┴────┬─────────┐ │
│ │Postgre │Cassan │Valkey│ MinIO │ Qdrant │ │
│ │ SQL │ dra │(Redis)│ (S3) │(Vector) │ │
│ └──────────┴───────────┴──────┴─────────┴─────────┘ │
│ (PostgreSQL·Cassandra·Redis·MinIO = 플랫폼 공용, Neo4j·Qdrant = LightRAG 저장소)
└─────────────────────────────────────────────────────────────┘

레이어 구조

PlantPulse AI는 4개 레이어로 구성됩니다.

프레젠테이션 레이어

구성 요소역할기술
AI Chat Web사용자 대화 인터페이스 + 내장 에이전트Java 21, Spring Boot 3.4, JSP
TimeSeries Dashboard분석 결과 시각화Next.js, ECharts
RAG WebUI문서 관리LightRAG WebUI (/webui)

AI 서비스 레이어

구성 요소역할기술
통합 MCP공장 데이터 게이트웨이 (116 API) + 온톨로지 (5 도구)플랫폼 server-web /api/v5/mcp, MCP Protocol
TimeSeries-Insight이상 탐지 + 예측 (27 도구)Python, FastAPI, IBM Granite TSPulse, TTM
RAG기술 문서 검색 (3 도구)LightRAG 1.5.4, Qdrant, Neo4j

AI 인프라 레이어

구성 요소역할기술
AURA LLM산업 특화 언어 모델자체 파인튜닝 모델 (vLLM 서빙)
LiteLLMLLM 프록시/라우팅 (채팅 LLM 게이트웨이)OpenAI 호환 API
내장 에이전트에이전트 루프 + 도구 호출 오케스트레이션copliot-web AgentOrchestrator

데이터 레이어

구성 요소역할포트
PostgreSQL 18관계형 데이터 (메타, 설정, 채팅 이력)5432
Apache Cassandra시계열 데이터 (센서값, 추론 이력)9042
Neo4j그래프 데이터 (온톨로지)7687
Qdrant벡터 데이터 (임베딩)6333
Valkey캐시 (세션, 임시 데이터)6379
MinIO오브젝트 스토리지 (문서, 이미지)9000/9001

데이터 흐름

사용자 질의 처리 흐름

사용자 질문


AI Chat Web ──SSE 스트리밍──▶ 브라우저


내장 에이전트 (AgentOrchestrator 에이전트 루프)

├──▶ LiteLLM Proxy ──▶ AURA LLM (gpt-4o, 의도 분석 · tool-calling)

├──▶ 통합 MCP (실시간 데이터 조회 + 온톨로지 관계 탐색)
│ ├── 플랫폼 server-web /api/v5/mcp
│ └── Neo4j (그래프 DB)

├──▶ TimeSeries-Insight (이상 탐지/예측)
│ ├── Cassandra (시계열 데이터)
│ └── IBM Granite TSPulse / TTM

├──▶ RAG (LightRAG 문서 검색)
│ ├── Qdrant (벡터 검색)
│ └── Neo4j (지식 그래프)

└──▶ LiteLLM Proxy ──▶ AURA LLM (종합 답변 생성)

ISA-95 자산 계층 구조

PlantPulse는 ISA-95/OPC-UA 표준 기반의 자산 계층 구조를 따릅니다:

Company (회사)
└── Site (공장/사이트)
└── Area (구역)
└── Line (생산 라인)
└── Equipment (설비)
└── Tag (센서 태그)
└── Point (시계열 데이터)

모든 MCP 도구는 이 계층 구조를 기준으로 데이터를 조회합니다.


모듈 간 연동

┌──────────┐ 데이터+온톨로지 ┌──────────────────┐
│ PlantPulse│◄────────────────│ 통합 MCP │
│ 플랫폼 │ │ (server-web) │
│ (+ Neo4j) │ └────────┬─────────┘
└──────────┘ │

┌──────────┐ 센서 데이터 ┌─────┴────────────┐
│ Cassandra │◄────────────────│TimeSeries-Insight │
│ PostgreSQL│◄────────────────│ (이상탐지/예측) │
└──────────┘ └──────┬────────────┘

┌──────────┐ 벡터 검색 ┌─────┴──────┐
│ Qdrant │◄────────────────│ RAG │
│ Neo4j │◄────────────────│ (LightRAG) │
└──────────┘ └──────┬──────┘

┌──────┴──────┐
│ AURA LLM │
│ (통합 추론) │
└─────────────┘