본문으로 건너뛰기

환경 변수 설정

PlantPulse AI 의 설정은 /etc/kopens/plantpulse-ai.env 한 파일에서 출발합니다.

sudo vi /etc/kopens/plantpulse-ai.env
설정 정본은 /etc/kopens/ 밑이다

경로는 /etc/kopens/plantpulse-ai.env 입니다. 설치 디렉터리 (/opt/kopens/plantpulse-ai-docker) 안이 아니라 repo 트리 밖에 있고, 권한은 0600 입니다. platform · ai · studio 세 제품이 같은 규약으로 /etc/kopens/plantpulse-<제품>.env 를 씁니다.

compose/.env옛 경로입니다. 지금은 아무도 읽지 않으므로 거기를 고쳐도 스택은 바뀌지 않습니다. 옛 파일이 남아 있어도 이행 후에는 대조용일 뿐입니다.

비밀번호·API 키는 직접 편집하지 마세요

아래 표의 *_PASSWORD · *_API_KEY 는 파일만 고쳐서는 반영이 끝나지 않습니다. Neo4j 처럼 서버 계정이 정본인 값은 서버측도 함께 바꿔야 하고, 순서를 틀리면 인증이 깨진 채로 남습니다. 전용 도구를 쓰세요 — 비밀번호 · API 키 변경.

값을 바꾼 뒤에는 서비스를 다시 만들어야 합니다(docker restart 는 env 를 다시 읽지 않습니다).

cd /opt/kopens/plantpulse-ai-docker
bin/restart.sh

PlantPulse IIoT 서버 연결

PlantPulse AI가 연동하는 PlantPulse IIoT 플랫폼 서버 정보입니다.

변수설명기본값
PP_SERVER_HOSTPlantPulse IIoT 서버 IP100.68.69.41
PP_SERVER_PORT서버 포트7443
PP_SERVER_SSLSSL 사용 여부true
PP_SERVER_USERNAMEAPI 인증 사용자api
PP_SERVER_PASSWORDAPI 인증 비밀번호api123!

시스템 경로

변수설명기본값
PP_MODE운영 모드MASTER
PP_HOME홈 디렉토리/home/kopens
PP_DATA_DIR데이터 저장 경로/data1/pp-data
PP_TEMP_DIR임시 파일 경로/data1/pp-temp
JAVA_HOMEJDK 경로$PP_HOME/tools/java/jdk-21

AI 추론 서버

LiteLLM 프록시를 통해 모든 AI 서비스가 LLM에 접근합니다.

변수설명기본값
PI_INFERENCE_SERVER_BASE_URLLLM API 엔드포인트http://127.0.0.1:4000/v1
PI_INFERENCE_SERVER_API_KEYAPI 키설치-시-변경

통합 MCP (플랫폼)

MCP·온톨로지 도구는 PlantPulse 플랫폼 server-web 통합 MCP(/api/v5/mcp)에서 제공됩니다. 접속 정보는 AI Chat Web의 web/config/application.properties에서 관리합니다.

항목설명
mcp.api.url통합 MCP 베이스 URL (플랫폼 server-web)
mcp.api.tokenapi_key 인증 토큰
mcp.tools.enabled통합 MCP 도구 사용 여부
정보

2026-07 개편으로 Langflow는 제거되었습니다. 채팅/에이전트 오케스트레이션은 AI Chat Web 내장 에이전트가 담당하며, LLM은 위의 LiteLLM(추론 서버)을 경유합니다.


RAG (LightRAG)

RAG 엔진은 LightRAG 1.5.4 서버입니다. 아래 항목은 LightRAG가 사용하는 LLM·임베딩·검색 설정으로, 배포 환경(compose/env)에서 관리됩니다.

LLM 설정

변수설명기본값
LLM_MODEL사용 LLM 모델gpt-4o
VISION_MODEL비전 모델gpt-4o
LLM_TEMPERATURE생성 온도0.7
LLM_TOP_PTop-P 샘플링0.8
LLM_TIMEOUTLLM 타임아웃 (초)600

임베딩 설정

변수설명기본값
EMBED_MODEL임베딩 모델text-embedding-3-large
EMBED_DIM임베딩 차원2560
EMBED_MAX_TOKENS최대 토큰8192

리랭커 설정

변수설명기본값
ENABLE_RERANKER리랭커 사용true
RERANK_MODEL리랭크 모델rerank-multilingual-v3.0
TOP_K최종 반환 수5
RERANK_TOP_K리랭크 후보 수10

검색 설정

변수설명기본값
RAG_CONTEXT_MODE컨텍스트 모드chunk
RAG_MAX_CONTEXT_TOKENS최대 컨텍스트 토큰3200
RAG_CONTEXT_FILTER_TYPES필터 타입text,image,table
ENABLE_MULTIMODAL멀티모달 사용true
DOC_PARSER문서 파서docling

청킹 설정

변수설명기본값
CHUNK_SIZE청크 크기512
CHUNK_OVERLAP_SIZE청크 오버랩50

데이터베이스

PostgreSQL

변수설명기본값
POSTGRES_HOST호스트127.0.0.1
POSTGRES_PORT포트5432
POSTGRES_MAX_CONNECTIONS최대 연결12

Cassandra

변수설명기본값
TS_CASS_HOSTCassandra 호스트192.168.0.41
TS_CASS_USER사용자cassandra

Qdrant

변수설명기본값
QDRANT_URLQdrant URLhttp://127.0.0.1:6333
QDRANT_API_KEYAPI 키qdrant-key-123
QDRANT_DISTANCE거리 메트릭Cosine

Neo4j

변수설명기본값
NEO4J_URINeo4j URIbolt://127.0.0.1:7687
NEO4J_USERNAME사용자neo4j
NEO4J_PASSWORD비밀번호neo4j123

Valkey (Redis)

변수설명기본값
REDIS_URIRedis URIredis://:redis123@127.0.0.1:6379/0

MinIO

변수설명기본값
MINIO_ROOT_USER관리자 IDminio
MINIO_ROOT_PASSWORD관리자 비밀번호minio123!

TimeSeries

변수설명기본값
TS_CASS_HOSTCassandra 호스트192.168.0.41
TS_PG_HOSTPostgreSQL 호스트100.68.69.41
TS_PG_DB데이터베이스pp
TS_EMBED_URL임베딩 API URLhttp://127.0.0.1:4000/v1/embeddings
TS_EMBED_MODEL임베딩 모델text-embedding-3-large
TS_EMBED_DIM임베딩 차원2560

Ontology (통합 MCP로 이관)

정보

온톨로지는 독립 서비스(구 plantpulse-ontology)에서 분리되어 플랫폼 통합 MCP(server-web /api/v5/mcp)에 흡수되었습니다. DB↔Neo4j 동기화 설정은 플랫폼 server-web에서 관리하므로 AI 스택 env.sh에는 더 이상 온톨로지 전용 변수가 없습니다. Neo4j는 LightRAG 그래프 저장소로 계속 사용됩니다(위 NEO4J_* 참조).


CUDA (GPU)

GPU 사용 시 주석을 해제하고 설정합니다:

export CUDA_VISIBLE_DEVICES="0,1,2,3"
export CUDA_MANAGED_FORCE_DEVICE_ALLOC="1"
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True,max_split_size_mb:128
정보

GPU가 없는 환경에서는 CPU 모드로 자동 전환됩니다. TimeSeries 서비스의 경우 Dockerfile.cpu로 CPU 전용 빌드도 가능합니다.