Konfigurieren des CLU-Bereinigungsplaners

Conversational Language Understanding (CLU) ist eine Sammlung von Diensten, die sowohl Trainings- als auch Inferenzprozesse innerhalb des watsonx Assistant Systems unterstützt. Wenn ein Assistent erstellt wird, protokolliert CLU einen entsprechenden Eintrag in seiner Datenbank. Wenn dieser Eintrag bei einer Löschanforderung durch einen Assistenten nicht ordnungsgemäß entfernt wird, entsteht ein Zombie-Datensatz. Dieser CLU-Bereinigungsscheduler dient dazu, solche verwaisten Datensätze zu identifizieren und zu bereinigen.

Berechtigungen, die Sie für diese Tasks benötigen:
Sie müssen ein Administrator des Red Hat® OpenShift®-Projekts sein, um den Cluster zu verwalten.

Aktualisieren der Umgebungsvariablen

Der CLU-Bereinigungsscheduler ist standardmäßig aktiviert, wobei die erforderlichen Umgebungsvariablen im Skript vorkonfiguriert sind. Um die Anzahl der zu löschenden Zombie-Datensätze zu erhöhen oder etwaige Betriebsprobleme zu beheben, führen Sie die folgenden Befehle aus:
  1. Exportieren Sie Ihren Assistenz-Namespace.
    export PROJECT_CPD_INST_OPERANDS=<namespace where Assistant is installed>
  2. Exportieren Sie die Instanz.
    export INSTANCE=`oc get wa -n ${PROJECT_CPD_INST_OPERANDS} |grep -v NAME| awk '{print $1}'`
  3. Richten Sie den Cron-Zeitplan ein.
    Wichtig: Sie müssen die Zeit in der Zeitzone UTC einstellen. Es wird empfohlen, den Termin CLU_CLEANUP_CRON_SCHEDULE außerhalb der Stoßzeiten zu vereinbaren.
    Sie haben die Flexibilität, den Cron-Zeitplan entsprechend Ihren Anforderungen festzulegen. Weitere Informationen zu den zulässigen Werten und Sonderzeichen in finden Sie CLU_CLEANUP_CRON_SCHEDULEunter Cron-Ausdrücke.
    export CLU_CLEANUP_CRON_SCHEDULE="0 0 23 * * ?"
  4. Um das Tageslimit für die Löschung von Zombie-Arbeitsbereichen festzulegen, verwenden Sie:
    export NUM_OF_WORKSPACES_TO_DELETE=600 // set your preferred number
  5. Um die Löschung von Zombie-Arbeitsbereichen am Wochenende zu handhaben, können Sie eine höhere Löschanzahl konfigurieren. Verdoppeln Sie beispielsweise den NUM_OF_WORKSPACES_TO_DELETE Wert.
    export NUM_OF_WORKSPACES_TO_DELETE_HIGH_RATE=1200

Skalierung des CLU-Schedulers

Verwenden Sie das folgende Skript, um die Umgebungsvariablen und Speichereinstellungen zu aktualisieren und die automatische Bereinigung des Zombie-Arbeitsbereichs zu aktualisieren:

cat <<EOF | oc apply -f -
apiVersion: assistant.watson.ibm.com/v1
kind: TemporaryPatch
metadata:
  name: ${INSTANCE}-store-admin-clu-cleanup-env-vars
  namespace: ${PROJECT_CPD_INST_OPERANDS}
spec:
  apiVersion: assistant.watson.ibm.com/v1
  kind: WatsonAssistantStore
  name: ${INSTANCE}
  patchType: patchStrategicMerge
  patch:
    store-admin:
      deployment:
        spec:
          template:
            spec:
              containers:
              - name: store-admin
                env:
                - name: CLU_CLEAN_UP
                  value: "true"
                - name: NUM_OF_WORKSPACES_TO_DELETE
                  value: "${NUM_OF_WORKSPACES_TO_DELETE}"
                - name: NUM_OF_WORKSPACES_TO_DELETE_HIGH_RATE
                  value: "${NUM_OF_WORKSPACES_TO_DELETE_HIGH_RATE}"
                - name: CLU_CLEAN_UP_CRON_SCHEDULE 
                  value: "${CLU_CLEANUP_CRON_SCHEDULE}"
                - name: JAVA_MAXHEAP_SIZE 
                  value: "2300m"
                resources:
                  limits:
                    memory: 3Gi
                  requests:
                    memory: 3Gi
EOF

Behebung der in den Protokollen festgestellten Probleme

Wenn Sie auch nach Änderung der oben genannten Werte Probleme in den store-admin Serviceprotokollen feststellen, erhöhen Sie den Wert von JAVA_MAXHEAP_SIZE zusammen mit den Werten von limits: memory und requests: memory. Die beste Vorgehensweise ist, sie um etwa 25 % anzuheben.