Version 1.1 by Aurelie Bertrand on 2025/09/29 16:19

Show last authors
1 = Emplacement et nom de l’application web =
2
3 Les propriétés suivantes sont définies :
4
5 * property.basePath = /var/log/digdash
6 * property.webAppName = digdash_agent
7 * property.shortWebAppName = agent
8
9 = Installation du serveur Agent =
10
11 == Prérequis ==
12
13 * Un conteneur de servlets compatible Jakarta EE 9+, tel que Tomcat 10 ou Jetty 11
14 * Java 17
15
16 Décompressez l’archive d’installation de DigDash Tomcat 10 et placez le fichier /add-ons/agent/${webAppName}.war dans le dossier webapps de Tomcat.
17
18 == Journalisation ==
19
20 1. Créez un fichier log4j2_agent.properties dans /etc/digdash avec la configuration suivante :
21
22 {{code}}
23 ###################################
24 # Log4j2 Status
25 ###################################
26 status=error
27 name=PropertiesConfig
28 ###################################
29 # Rolling File Appender
30 ###################################
31 appender.rolling.type=RollingFile
32 appender.rolling.name=RollingFile
33 appender.rolling.fileName = ${basePath}/${webAppName}.log
34 appender.rolling.filePattern = ${basePath}/${webAppName}-%i.log.gz
35 appender.rolling.layout.type=PatternLayout
36 appender.rolling.layout.pattern = %d %-5p [${shortWebAppName}] [%t] (%F:%L) - %m%n
37 appender.rolling.policies.type=Policies
38 appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
39 appender.rolling.policies.size.size=200MB
40 # Rollover strategy
41 appender.rolling.strategy.type=DefaultRolloverStrategy
42 appender.rolling.strategy.max=15
43 ###################################
44 # Root Logger
45 ###################################
46 rootLogger.level=info
47 rootLogger.appenderRefs=rolling
48 rootLogger.appenderRef.rolling.ref=RollingFile
49 ###################################
50 # Application-specific Logger
51 ###################################
52 logger.app.name=com.digdash
53 logger.app.level=info
54 logger.app.additivity=false
55 logger.app.appenderRefs=rolling
56 logger.app.appenderRef.rolling.ref=RollingFile
57 {{/code}}
58
59 Cette configuration stocke les logs dans le fichier ${basePath}/${webAppName}.log et archive les anciens logs dans le dossier ${basePath}. Vous pouvez ajuster la propriété logger.app.level pour modifier le niveau de verbosité des logs de l’application web.
60
61 1. Ajoutez la ligne suivante dans /etc/digdash/digdash.properties pour que DigDash puisse lire la configuration des logs :
62
63 {{{agent.ddlog4j.properties.file=/etc/digdash/log4j2_agent.properties
64 }}}
65
66 == Configuration LLM ==
67
68 L’application web prend en charge les modèles d’OVH Cloud. Il est recommandé d’utiliser le modèle "Llama-3.3 70b".
69 D’autres modèles sont disponibles dans le catalogue OVH : [[https:~~/~~/endpoints.ai.cloud.ovh.net/catalog>>url:https://endpoints.ai.cloud.ovh.net/catalog]].
70
71 1. Ajoutez l’URL de l’API LLM dans /etc/digdash/digdash.properties :
72
73 {{{ agent.llm.baseurl=https://llama-3-3-70b-instruct.endpoints.kepler.ai.cloud.ovh.net/api/openai_compat/v1
74 }}}
75
76 (% start="2" %)
77 1. Générez une clé API depuis OVH Cloud en suivant ce guide : [[https:~~/~~/help.ovhcloud.com/csm/en-public-cloud-ai-endpoints-getting-started?id=kb_article_view&sysparm_article=KB0065403>>url:https://help.ovhcloud.com/csm/en-public-cloud-ai-endpoints-getting-started?id=kb_article_view&sysparm_article=KB0065403]]
78 1. Ajoutez votre clé API dans /etc/digdash/digdash.properties :
79
80 {{{ agent.llm.apikey=<API_KEY>
81 }}}
82
83 == Configuration de l’application ==
84
85 1. Configurez le serveur backend pour correspondre à votre environnement dans /etc/digdash/digdash.properties :
86
87 {{{agent.digdashserverbaseurl=http://localhost:9080
88 agent.digdashserverdomain=ddenterpriseapi
89 }}}
90
91 L’application web concaténera ces deux propriétés pour former l’URL complète du serveur backend (ex. : [[http:~~/~~/localhost:9080/ddenterpriseapi>>url:http://localhost:9080/ddenterpriseapi]]).
92
93 == Post-déploiement ==
94
95 1. Après le démarrage du serveur, exécutez la commande suivante pour vérifier que le serveur agent fonctionne :
96
97 {{code language="shell"}}
98 curl http://localhost/${webAppName}/actuator/health
99 {{/code}}
100
101 La réponse attendue est :
102
103 {{{{
104 "status": "UP"
105 }
106 }}}
107
108 (% start="2" %)
109 1. Vérifiez les journaux de démarrage dans ${basePath}/${webAppName}.log pour détecter tout avertissement ou erreur indiquant une configuration manquante.
110
111 = Installation de ChromaDB =
112
113 L’agent utilise une base de données vectorielle pour la recherche sémantique.
114
115 == Prérequis ==
116
117 * Serveur Linux
118 * Python 3.11+
119 * Droits administrateur sur le serveur
120
121 == Installation ==
122
123 1. Créez le dossier d’installation :
124
125 {{code language="shell"}}
126 sudo mkdir /opt/chroma
127 sudo useradd -m -s /bin/bash chroma
128 sudo chown chroma:chroma /opt/chroma
129 {{/code}}
130
131 (% start="2" %)
132 1. Installez chromadb avec Python :
133
134 {{code language="shell"}}
135 sudo su - chroma
136 cd /opt/chroma
137 python3 -m venv venv
138 source venv/bin/activate
139 pip install --upgrade pip
140 pip install chromadb
141 {{/code}}
142
143 (% start="3" %)
144 1. Créez un dossier ou montez un volume pour stocker les données de la base :
145
146 {{code language="shell"}}
147 mkdir /opt/chroma/chroma_data
148 {{/code}}
149
150 (% start="4" %)
151 1. Déployez le serveur sur le port 8000 :
152
153 {{code language="shell"}}
154 ANONYMIZED_TELEMETRY=False .venv/bin/chroma run --host 127.0.0.1 --port 8000 --path /opt/chroma/chroma_data
155 {{/code}}
156
157 = Configuration des paramètres du serveur DigDash =
158
159 Pour configurer les paramètres du serveur DigDash, depuis le menu Configuration , allez sur la page **Paramètres serveur >** **Paramètres supplémentaires > Intelligence Artificielle**. Dans la section **Agent**, vous trouverez les paramètres suivants :
160
161 Paramètres de configuration
162
163 1. Activer la fonction Agent :
164 Active un planificateur qui intègre périodiquement de nouveaux cubes et stocke les embeddings dans la base Chroma. Si cette option est désactivée, les autres paramètres n’ont aucun effet.
165 1. Fréquence en secondes :
166 Définit la fréquence d’exécution du planificateur. Ajustez selon la fréquence de reconstruction des cubes. La valeur minimale est de 1 seconde.
167 1. URL de base du modèle d’Embedding :
168 L’Agent prend actuellement en charge uniquement les modèles d’OVH. Nous recommandons le modèle BGE-M3 : [[https:~~/~~/bge-m3.endpoints.kepler.ai.cloud.ovh.net>>url:https://bge-m3.endpoints.kepler.ai.cloud.ovh.net/]].
169 1. Clé API du modèle d’Embedding :
170 Vous pouvez réutiliser la clé API utilisée pour le LLM.
171 1. URL de base du stockage des embeddings :
172 Définissez l’URL de base vers la base ChromaDB : [[http:~~/~~/localhost:8000>>url:http://localhost:8000/]].
173 1. Clé d’environnement dédiée :
174 ChromaDB stocke les embeddings des cubes dans différentes collections. Ce paramètre préfixe toutes les collections ChromaDB avec la valeur spécifiée (ex. : prod, test, dev). Utilisez-le si vous souhaitez utiliser la même base ChromaDB pour différents environnements.
175 1. Timeout du stockage des embeddings :
176 Valeur par défaut : 30 secondes. Après ce délai, la requête est réessayée plusieurs fois avant d’échouer.
177 1. Effacer le stockage des embeddings :
178 Cochez cette case pour effacer complètement la base pour l’environnement spécifié.
179 1. Liste des rôles à intégrer :
180 Pour limiter l’Agent à certains rôles, listez les identifiants des rôles séparés par des virgules (ex. : Retail_2d6e0f1e, R_D_7b55a031).
181 1. Liste des hiérarchies à intégrer :
182 Ajoutez les identifiants des hiérarchies temporelles que l’Agent doit interpréter. L’Agent détectera les filtres temporels dans l’entrée utilisateur et trouvera la correspondance la plus proche parmi les membres des hiérarchies spécifiées.
183 Pour trouver les identifiants de vos hiérarchies temporelles, allez dans le gestionnaire de hiérarchies du Studio. Référez-vous à la documentation DigDash.
184
185 Installation optionnelle d’OpenWebUI
186
187 Exigences
188
189 * Serveur Linux (Ubuntu/Debian recommandé)
190 * Python 3.11
191 * pip et virtualenv
192
193 Installez les packages requis :
194
195 {{{sudo apt update
196 sudo apt install -y python3 python3-venv python3-pip build-essential
197 }}}
198
199 Installation
200
201 1. Créez et activez un environnement virtuel :
202
203 {{{python3 -m venv openwebui-venv
204 source openwebui-venv/bin/activate
205 }}}
206
207 Mettez à jour pip pour éviter les problèmes de compatibilité :
208
209 {{{pip install --upgrade pip
210 }}}
211
212 1. Installez OpenWebUI :
213 Suivez les étapes officielles de la documentation : [[https:~~/~~/docs.openwebui.com/#installation-with-pip>>url:https://docs.openwebui.com/#installation-with-pip]]
214
215 Important :
216 Ne pas utiliser le package Python uv.
217 L’agent DigDash (fonction OpenWebUI) nécessite l’installation de bibliothèques Python supplémentaires à l’exécution, ce qui n’est pas compatible avec uv.
218
219 Par défaut, l’interface web est disponible sur : [[http:~~/~~/localhost:8080>>url:http://localhost:8080/]]