Zum Hauptinhalt springen

Umgebungsvariablen konfigurieren

Die Konfiguration von PlantPulse AI stammt aus /etc/kopens/plantpulse-ai.env einer Datei.

sudo vi /etc/kopens/plantpulse-ai.env
Die autoritative Konfiguration liegt unter /etc/kopens/

Der Pfad ist /etc/kopens/plantpulse-ai.env. Sie befindet sich außerhalb des Repo-Baums, nicht im Installationsverzeichnis (/opt/kopens/plantpulse-ai-docker), und hat die Berechtigung 0600. Die drei Produkte Platform, AI und Studio verwenden dieselbe Konvention für /etc/kopens/plantpulse-<product>.env.

compose/.env ist ein veralteter Pfad. Er wird derzeit nicht gelesen, daher ändern sich die Services nicht, wenn Sie ihn anpassen. Falls die alte Datei noch vorhanden ist, dient sie nach der Migration nur noch als Vergleichsreferenz.

Passwörter und API-Schlüssel nicht direkt bearbeiten

Die Werte *_PASSWORD und *_API_KEY in der folgenden Tabelle werden nicht vollständig wirksam, wenn Sie nur die Datei ändern. Bei Werten wie Neo4j, bei denen das Serverkonto die autoritative Quelle ist, müssen Sie auch die Serverseite ändern. Wenn die Reihenfolge falsch ist, bleibt die Authentifizierung beschädigt. Verwenden Sie ein spezialisiertes Tool — Passwort- und API-Schlüsseländerung.

Nach einer Änderung müssen Sie den Service neu erstellen (docker restart liest die env nicht erneut).

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

PlantPulse IIoT-Serververbindung

Informationen zum PlantPulse IIoT-Plattformserver, mit dem PlantPulse AI integriert ist.

VariableBeschreibungStandardwert
PP_SERVER_HOSTPlantPulse IIoT-Server IP100.68.69.41
PP_SERVER_PORTServerport7443
PP_SERVER_SSLSSL aktivierentrue
PP_SERVER_USERNAMEAPI-Authentifizierungsbenutzerapi
PP_SERVER_PASSWORDAPI-Authentifizierungspasswortapi123!

Systempfade

VariableBeschreibungStandardwert
PP_MODEBetriebsmodusMASTER
PP_HOMEHome-Verzeichnis/home/kopens
PP_DATA_DIRDatenspeicherpfad/data1/pp-data
PP_TEMP_DIRTemporärer Dateipfad/data1/pp-temp
JAVA_HOMEJDK-Pfad$PP_HOME/tools/java/jdk-21

AI-Inferenzserver

Alle AI-Services greifen über einen LiteLLM-Proxy auf das LLM zu.

VariableBeschreibungStandardwert
PI_INFERENCE_SERVER_BASE_URLLLM-API-Endpunkthttp://127.0.0.1:4000/v1
PI_INFERENCE_SERVER_API_KEYAPI-Schlüsselbei-Installation-ändern

Integriertes MCP (Platform)

MCP- und Ontologie-Tools werden vom integrierten MCP der PlantPulse Platform (/api/v5/mcp) bereitgestellt. Die Verbindungsinformationen werden in web/config/application.properties von AI Chat Web verwaltet.

ElementBeschreibung
mcp.api.urlBasis-URL des integrierten MCP (Platform server-web)
mcp.api.tokenapi_key Authentifizierungstoken
mcp.tools.enabledIntegrierte MCP-Tools aktivieren
info

Mit der Überarbeitung im Juli 2026 wurde Langflow entfernt. Die Chat- und Agentenorchestrierung wird vom integrierten Agent in AI Chat Web übernommen, und das LLM wird über den obigen LiteLLM-Server (Inferenzserver) zugegriffen.


RAG (LightRAG)

Die RAG-Engine ist ein LightRAG 1.5.4-Server. Die folgenden Elemente sind LLM-, Embedding- und Sucheinstellungen, die LightRAG verwendet und in der Bereitstellungsumgebung (compose/env) verwaltet werden.

LLM-Konfiguration

VariableBeschreibungStandardwert
LLM_MODELZu verwendendes LLM-Modellgpt-4o
VISION_MODELVision-Modellgpt-4o
LLM_TEMPERATUREGenerierungstemperatur0.7
LLM_TOP_PTop-P-Sampling0.8
LLM_TIMEOUTLLM-Timeout (Sekunden)600

Embedding-Konfiguration

VariableBeschreibungStandardwert
EMBED_MODELEmbedding-Modelltext-embedding-3-large
EMBED_DIMEmbedding-Dimension2560
EMBED_MAX_TOKENSMaximale Token8192

Reranker-Konfiguration

VariableBeschreibungStandardwert
ENABLE_RERANKERReranker aktivierentrue
RERANK_MODELReranking-Modellrerank-multilingual-v3.0
TOP_KEndgültige Rückgabeanzahl5
RERANK_TOP_KReranking-Kandidatenanzahl10

Suchkonfiguration

VariableBeschreibungStandardwert
RAG_CONTEXT_MODEKontextmoduschunk
RAG_MAX_CONTEXT_TOKENSMaximale Kontext-Token3200
RAG_CONTEXT_FILTER_TYPESFiltertyptext,image,table
ENABLE_MULTIMODALMultimodal aktivierentrue
DOC_PARSERDokumenten-Parserdocling

Chunking-Konfiguration

VariableBeschreibungStandardwert
CHUNK_SIZEChunk-Größe512
CHUNK_OVERLAP_SIZEChunk-Überlappung50

Datenbanken

PostgreSQL

VariableBeschreibungStandardwert
POSTGRES_HOSTHost127.0.0.1
POSTGRES_PORTPort5432
POSTGRES_MAX_CONNECTIONSMaximale Verbindungen12

Cassandra

VariableBeschreibungStandardwert
TS_CASS_HOSTCassandra-Host192.168.0.41
TS_CASS_USERBenutzercassandra

Qdrant

VariableBeschreibungStandardwert
QDRANT_URLQdrant-URLhttp://127.0.0.1:6333
QDRANT_API_KEYAPI-Schlüsselqdrant-key-123
QDRANT_DISTANCEDistanzmetrikCosine

Neo4j

VariableBeschreibungStandardwert
NEO4J_URINeo4j-URIbolt://127.0.0.1:7687
NEO4J_USERNAMEBenutzerneo4j
NEO4J_PASSWORDPasswortneo4j123

Valkey (Redis)

VariableBeschreibungStandardwert
REDIS_URIRedis-URIredis://:redis123@127.0.0.1:6379/0

MinIO

VariableBeschreibungStandardwert
MINIO_ROOT_USERAdministrator-IDminio
MINIO_ROOT_PASSWORDAdministrator-Passwortminio123!

TimeSeries

VariableBeschreibungStandardwert
TS_CASS_HOSTCassandra-Host192.168.0.41
TS_PG_HOSTPostgreSQL-Host100.68.69.41
TS_PG_DBDatenbankpp
TS_EMBED_URLEmbedding-API-URLhttp://127.0.0.1:4000/v1/embeddings
TS_EMBED_MODELEmbedding-Modelltext-embedding-3-large
TS_EMBED_DIMEmbedding-Dimension2560

Ontology (zu integriertem MCP migriert)

info

Die Ontologie wurde aus einem eigenständigen Service (früher plantpulse-ontology) ausgegliedert und in das integrierte MCP der Platform (server-web /api/v5/mcp) übernommen. Die DB↔Neo4j-Synchronisierungseinstellungen werden von der Platform server-web verwaltet, daher gibt es im AI-Stack env.sh keine eigenen Ontologie-Variablen mehr. Neo4j wird weiterhin als Graphspeicher für LightRAG verwendet (siehe oben NEO4J_*).


CUDA (GPU)

Für GPU-Einsatz kommentieren Sie Folgendes aus und konfigurieren Sie es:

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
info

In Umgebungen ohne GPU erfolgt ein automatischer Wechsel zum CPU-Modus. Für den TimeSeries-Service ist mit Dockerfile.cpu auch ein CPU-exklusiver Build möglich.