Wiki source code of Installation de l’agent DigDash
Version 1.1 by Aurelie Bertrand on 2025/09/29 16:19
Show last authors
author | version | line-number | content |
---|---|---|---|
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/]] |