Interface web pour CLEA (Corpus Linker & Exploratory Assistant), une plateforme de recherche et d'exploration documentaire intelligente basée sur les technologies RAG (Retrieval-Augmented Generation).
- Recherche sémantique avancée: Explorez vos documents avec une recherche par similarité vectorielle.
- Gestion de documents: Consultez, ajoutez et gérez votre base documentaire.
- Assistant IA: Posez des questions à votre base de connaissances via un assistant IA (RAG).
- Tableaux de bord statistiques: Visualisez des métriques détaillées sur votre corpus.
- Node.js 20+
- npm ou yarn
- CLEA API (backend) accessible
- Pour le déploiement: Docker et Docker Compose
# Cloner le repository
git clone https://github.com/yourusername/clea-webui.git
cd clea-webui
# Installer les dépendances
npm install
# Configurer les variables d'environnement
cp .env.example .env
# Éditer .env et définir PUBLIC_API_URL à l'URL de votre instance CLEA API
npm run dev
# ou avec hôte exposé
npm run dev -- --host
L'application sera disponible sur http://localhost:5173.
# Exécuter tous les tests
npm test
# Exécuter les tests en mode watch
npm run test:unit
CLEA WebUI est configuré pour un déploiement conteneurisé avec Docker et Nginx.
# Construire et démarrer les conteneurs
docker-compose up -d
# Suivre les logs
docker-compose logs -f
# Reconstruire l'image
docker build -t clea-webui:latest .
# Exécuter avec les ports publiés
docker run -d --name clea-webui-test -p 80:80 -p 3000:3000 clea-webui:latest
# Vérifier les logs
docker logs clea-webui-test
# Accéder à l'application
# - Interface web: http://localhost:80
# - Service Node.js direct: http://localhost:3000
-
Placez vos certificats SSL dans ssl:
cert.pem
: votre certificatkey.pem
: votre clé privée
-
Configurez votre domaine dans default.conf
Si vous préférez un déploiement sans Docker:
# Construire l'application
npm run build
# Démarrer en production
npm run preview
.
├── src/
│ ├── lib/ # Librairies et utilitaires
│ │ ├── database.ts # Fonctions d'accès à la base de données
│ │ ├── index.ts # Fonctions pour gérer les index
│ │ ├── rag.ts # Fonctions RAG pour l'assistant
│ │ ├── search.ts # Fonctions de recherche
│ │ ├── stats.ts # Fonctions pour les statistiques
│ ├── routes/ # Pages de l'application
│ │ ├── ask/ # Assistant IA
│ │ ├── database/ # Gestion des documents
│ │ ├── search/ # Recherche sémantique
├── static/ # Fichiers statiques
├── docker-compose.yml # Configuration Docker Compose
└── Dockerfile # Configuration Docker
CLEA WebUI interagit avec CLEA API via les endpoints suivants:
/search
: Recherche sémantique dans les documents/database
: Gestion des documents et métadonnées/ask
: Requêtes à l'assistant IA (RAG)/stats
: Statistiques du système/index
: Gestion des index vectoriels
CLEA WebUI utilise DaisyUI avec TailwindCSS. Vous pouvez modifier le thème en éditant les configurations dans:
tailwind.config.js
: pour les personnalisations TailwindCSS- app.css: pour les styles globaux
L'URL de l'API peut être configurée via:
- Variable d'environnement
PUBLIC_API_URL
- Dans le fichier
.env
pour le développement - Dans docker-compose.yml pour le déploiement
MIT
Les contributions sont les bienvenues! N'hésitez pas à ouvrir une issue ou une pull request.
- Forker le projet
- Créer une branche (
git checkout -b feature/amazing-feature
) - Committer vos changements (
git commit -m 'Add some amazing feature'
) - Pusher vers la branche (
git push origin feature/amazing-feature
) - Ouvrir une Pull Request