AI Chat Web — 대화형 코파일럿
개요
PlantPulse AI Chat Web은 제조 현장 운영자를 위한 대화형 AI 코파일럿 웹 애플리케이션입니다.
자연어로 질문하면 내장 에이전트(AgentOrchestrator + ToolRegistry)가 필요한 도구를 자동으로 선택·호출하여 실시간 데이터 조회, AI 분석, 지식 검색을 수행합니다. 플랫폼 통합 MCP(실시간 데이터), TimeSeries-Insight(AI 분석), LightRAG(문서 검색) 도구가 하나의 채팅 인터페이스로 통합됩니다.
정보
2026-07 개편으로 채팅 오케스트레이션은 copliot-web 내장 에이전트로 일원화되었습니다. 별도 Langflow 엔진은 제거되었으며, LLM 추론은 LiteLLM(gpt-4o) 게이트웨이를 경유합니다.
핵심 기능
자연어 기반 공장 데이터 조회
- 한글 자연어로 질문 → AI가 적합한 MCP 서버와 도구를 자동 선택
- "주입기 온도 알려줘", "대전 공장 구조 보여줘" 등 직관적인 대화
- 설비 이름(한글) → 시스템 ID 자동 변환
SSE 실시간 스트리밍 응답
- Server-Sent Events 기반 실시간 스트리밍 응답
- AI가 분석하는 과정을 실시간으로 확인 가능
- 차트, 다이어그램이 스트리밍 중에도 즉시 렌더링
리치 시각화
| 시각화 유형 | 지원 차트 |
|---|---|
| ECharts | 시계열 추이, 게이지, 바/파이/레이더/히트맵/산키/트리맵 |
| Mermaid | 공정 흐름도, 상태 전이, 이상 진단 트리 |
| Markdown | 센서 데이터 표, 설비 목록, 알람 이력 |
멀티 애플리케이션 관리
- 여러 AI 애플리케이션(앱)을 목적별로 관리 (범용 코파일럿, 설비 진단 전용, 문서 검색 전용 등)
- 앱별 시스템 프롬프트/도구 구성 전환
- 관리자 패널에서 앱 등록/수정/삭제
내장 에이전트 도구 라우팅
- 사용자 질문의 의도를 LLM(gpt-4o)이 분석하여 최적 도구 자동 선택
- 복합 질문 시 에이전트 루프로 여러 도구를 순차 호출 (tool-calling)
- 도구: 내장
rag_search(LightRAG)·ts_get_asset_health(Insight) + 플랫폼 통합 MCP 동적 도구 - 작업 과정은 "작업 보기"(AgentTraceStore)로 확인 가능
화면 구성
| 화면 | 설명 |
|---|---|
| 메인 채팅 | AI 코파일럿과 실시간 대화, 차트/다이어그램 인라인 렌더링 |
| 애플리케이션 선택 | 목적별 AI 앱 전환 |
| 채팅 이력 | 과거 대화 검색 및 이어서 대화 |
| 관리자 패널 | 앱 관리, 사용자 관리, 프롬프트 템플릿 관리 |
기술 스택
| 구성 | 기술 |
|---|---|
| 백엔드 | Java 21, Spring Boot 3.4, Spring Security 6.x |
| 프론트엔드 | JSP, Bootstrap, jQuery, ECharts, Mermaid |
| AI 백엔드 | 내장 에이전트(AgentOrchestrator + ToolRegistry) → LiteLLM(gpt-4o), SSE 스트리밍 |
| 데이터베이스 | PostgreSQL (메타·채팅 이력), Redis (캐시) |
| 파일 저장소 | MinIO (S3 호환 오브젝트 스토리지) |
| 배포 | WAR (서블릿 컨테이너) 또는 내장 Tomcat |
주요 설정
설정 파일: src/main/resources/application.properties (값은 환경변수로 덮어쓸 수 있습니다)
| 항목 | 설명 | 기본값 | 환경변수 |
|---|---|---|---|
openai.api.url | LLM(LiteLLM) 게이트웨이 URL | http://127.0.0.1:4000 | CH_OPENAI_API_URL |
openai.model | 채팅 LLM 모델 | gpt-4o | CH_OPENAI_MODEL |
mcp.api.url | 플랫폼 통합 MCP 베이스 URL | (플랫폼 server-web 주소) | CH_MCP_API_URL |
mcp.api.token | 통합 MCP api_key | (설치 시 설정) | CH_MCP_API_TOKEN |
mcp.tools.enabled | 통합 MCP 도구 사용 여부 | true | CH_MCP_TOOLS_ENABLED |
mcp.timeseries.api.url | TimeSeries-Insight API URL | http://127.0.0.1:8970 | CH_MCP_TIMESERIES_API_URL |
rag.api.url | RAG API URL | http://127.0.0.1:7115 | CH_RAG_API_URL |
rag.api.key | RAG API 키 | (설치 시 설정) | CH_RAG_API_KEY |
sse.stream.timeout | SSE 스트리밍 타임아웃 | -1 (무제한) | — |
app.request.limit | 동시 요청 제한 | 10 | — |
server.servlet.session.timeout | 세션 타임아웃 | 480m (8시간) | — |
세 곳을 향합니다
채팅 한 번이 최대 세 백엔드를 부릅니다 — 실시간 데이터는 플랫폼 통합 MCP(mcp.api.url),
AI 분석은 TimeSeries-Insight(mcp.timeseries.api.url), 문서 검색은 RAG API(rag.api.url).
답변이 "데이터를 가져올 수 없다" 로 나오면 어느 쪽이 끊겼는지부터 확인하세요.
특징
즉시 도입 가능한 웹 인터페이스
- 별도 클라이언트 설치 불필요 — 웹 브라우저만으로 접속
- 모바일/태블릿 반응형 지원
- Spring Security 기반 인증/인가
제조 현장 최적화 UX
- 한국어 네이티브 — 공장 용어, 설비명 자연스러운 이해
- 상태 표시 시각화 (정상/경고/위험)
- 복합 분석 결과를 구조화된 리포트로 자동 포맷팅
기업 환경 대응
- WAR 배포로 기존 WAS(Tomcat, WildFly 등)에 통합
- JDBC 기반 사용자 인증 — 기존 사용자 DB 연동
- 온프레미스 완전 지원 — 클라우드 의존 없음