# Guide d'installation et d'intégration de LLM Lab Ce guide détaille la procédure complète pour installer LLM Lab et l'intégrer avec Cursor et Obsidian via API afin d'optimiser l'utilisation de vos modèles de langage locaux. ## Table des matières - [Prérequis](#prérequis) - [Installation de l'environnement](#installation-de-lenvironnement) - [Configuration d'Ollama](#configuration-dollama) - [Intégration avec Cursor](#intégration-avec-cursor) - [Intégration avec Obsidian](#intégration-avec-obsidian) - [Optimisations et conseils](#optimisations-et-conseils) - [Dépannage](#dépannage) ## Prérequis Avant de commencer, assurez-vous d'avoir installé : - Windows 11 Pro (ou toute autre version récente de Windows) - Python 3.10+ (avec l'option "Add to PATH" cochée) - [Ollama](https://ollama.com/download/windows) pour Windows - [Cursor](https://cursor.sh/) (éditeur de code) - [Obsidian](https://obsidian.md/download) (optionnel, pour la gestion de connaissances) - [Git](https://git-scm.com/download/win) (optionnel, pour cloner le dépôt) ## Installation de l'environnement ### 1. Créer un dossier pour le projet ```cmd mkdir C:\projets\llm_lab cd C:\projets\llm_lab ``` ### 2. Télécharger le code source Méthode avec Git : ```cmd git clone https://github.com/votre-repo/llm_lab.git . ``` Ou téléchargez et extrayez manuellement les fichiers du projet. ### 3. Créer l'environnement virtuel Python La création d'un environnement virtuel est **fortement recommandée** pour isoler les dépendances du projet : ```cmd # Depuis le dossier du projet setup_env.bat ``` Ce script va : - Créer un environnement virtuel Python nommé `llmlab` - Installer toutes les dépendances nécessaires, y compris Flask pour l'API - Configurer les dossiers requis ### 4. Vérifier l'installation Exécutez le script de test pour vérifier que tout est correctement installé : ```cmd test_installation.bat ``` ## Configuration d'Ollama ### 1. Installer les modèles requis ```cmd # Modèle polyvalent léger ollama pull mistral:latest # Pour le développement et le code ollama pull codellama:13b-python # Pour la gestion de connaissances (optionnel) ollama pull llama2:13b ``` ### 2. Optimiser Ollama pour Windows Exécutez le script d'optimisation (en tant qu'administrateur) : ```cmd # Clic droit sur optimize_ollama.bat > Exécuter en tant qu'administrateur optimize_ollama.bat ``` ## Intégration avec Cursor ### 1. Lancer le serveur API ```cmd run.bat api ``` Vous devriez voir un message confirmant que le serveur est démarré sur `http://localhost:8000`. ### 2. Configurer Cursor 1. Ouvrez Cursor 2. Allez dans **Settings** (⚙️) > **AI** 3. Faites défiler jusqu'à **API URL** et activez **Use custom endpoint** 4. Entrez l'URL : `http://localhost:8000/v1` 5. Cochez **Use custom endpoint for all AI features** 6. Cliquez sur **Save** ### 3. Tester l'intégration 1. Ouvrez ou créez un fichier dans Cursor 2. Appuyez sur `Ctrl+I` pour invoquer l'IA 3. Tapez une requête, par exemple : "Écris une fonction pour calculer le nombre de Fibonacci" 4. Vérifiez que la réponse provient de votre modèle local (via les logs dans la console où le serveur API est en cours d'exécution) ## Intégration avec Obsidian ### 1. Configurer l'agent Obsidian Avant d'utiliser l'agent Obsidian, vous pouvez personnaliser son prompt système dans `agents/roles.py` : ```python "obsidian": { "model": "llama2:13b", # Vous pouvez utiliser mistral:latest pour un modèle plus léger "description": "Agent de gestion de connaissances optimisé pour Obsidian", "system_prompt": ( "Tu es un expert en gestion de connaissances et en organisation d'informations, " "spécialisé dans l'utilisation d'Obsidian. Tu maîtrises la syntaxe markdown " "utilisée par Obsidian, y compris :\n" "- Les liens internes [[Nom de note]]\n" "- Les liens internes avec alias [[Nom de note|Alias]]\n" "- Les références de blocs ^blockref\n" "- Les tags #tag #important\n" "- Les listes de tâches - [ ] et - [x]\n" "- Les callouts > [!note] et > [!important]\n" "- Le YAML front matter pour les métadonnées\n\n" "Tu aides à structurer l'information de manière claire, à créer des connexions " "significatives entre les notes, et à concevoir des systèmes de prise de notes " "efficaces. Tu réponds toujours en utilisant la syntaxe Markdown d'Obsidian " "appropriée et tu fournis des exemples concrets adaptés au contexte." ), "params": { "temperature": 0.7, "top_p": 0.9, "num_ctx": 4096 } } ``` ### 2. Workflow d'intégration via API 1. **Assurez-vous que le serveur API est en cours d'exécution** : ```cmd run.bat api ``` 2. **Méthode d'intégration basique** : - Créez une nouvelle note dans Obsidian - Écrivez votre requête - Copiez la requête et utilisez un navigateur ou un outil comme Postman pour envoyer une requête à l'API - Exemple avec curl : ```cmd curl -X POST http://localhost:8000/generate -H "Content-Type: application/json" -d "{\"prompt\":\"Crée un template pour une note de projet\",\"agent\":\"obsidian\"}" ``` - Copiez la réponse dans votre note Obsidian 3. **Intégration plus poussée** (nécessite des compétences en développement) : - Créez un plugin Obsidian personnalisé qui se connecte à l'API LLM Lab - Utilisez le point d'entrée `/generate` qui est plus simple à intégrer ## Optimisations et conseils ### Optimiser les performances 1. **Ajustez les paramètres Ollama** : - Modifiez le fichier `%USERPROFILE%\.ollama\config.json` pour optimiser l'utilisation de la RAM et du GPU - Exemple de configuration optimale pour un PC avec 32 Go de RAM et un GPU NVIDIA : ```json { "gpu_layers": -1, "num_ctx": 8192, "num_thread": 8, "num_batch": 512 } ``` 2. **Optimisez votre environnement Windows** : - Réglez le plan d'alimentation sur "Hautes performances" - Désactivez les applications en arrière-plan non essentielles - Assurez-vous que l'antivirus exclut les dossiers d'Ollama et de LLM Lab ### Workflow recommandé 1. **Pour le développement de code avec Cursor** : - Gardez le serveur API en cours d'exécution dans un terminal dédié - Utilisez des commandes spécifiques comme `/edit` ou `/doc` dans Cursor - Ajustez la température à 0.2-0.3 pour du code précis 2. **Pour la gestion de connaissances avec Obsidian** : - Utilisez l'agent Obsidian pour créer des templates - Générez des structures MOC (Map of Content) - Enrichissez des notes existantes ## Dépannage ### Problèmes courants et solutions 1. **L'API ne démarre pas** : - Vérifiez que toutes les dépendances sont installées : `pip install -r requirements.txt` - Assurez-vous que Flask est bien installé : `pip install flask flask-cors` - Vérifiez qu'aucun autre service n'utilise le port 8000 2. **Cursor ne se connecte pas à l'API** : - Vérifiez que l'URL est correcte : `http://localhost:8000/v1` - Assurez-vous que le serveur API est en cours d'exécution - Vérifiez les logs dans `logs/api_server.log` 3. **Ollama échoue à charger les modèles** : - Assurez-vous qu'Ollama est en cours d'exécution : vérifiez dans les services Windows - Redémarrez le service Ollama - Vérifiez que vous avez suffisamment d'espace disque ### Logs et diagnostic Les logs de l'API se trouvent dans le dossier `logs/api_server.log`. Consultez ce fichier en cas de problème pour identifier la source de l'erreur. Pour les logs d'Ollama, consultez : ``` %USERPROFILE%\.ollama\logs ``` ## Conclusion Vous avez maintenant un environnement complet pour intégrer des modèles de langage locaux dans vos outils de développement et de gestion de connaissances. Cette configuration vous permet de : - Garder vos données confidentielles en utilisant des modèles locaux - Personnaliser les modèles et les prompts selon vos besoins - Optimiser les performances en ajustant les paramètres - Intégrer l'IA dans votre workflow quotidien N'hésitez pas à explorer les différentes options d'agents et à personnaliser les prompts système pour obtenir des résultats optimaux pour vos cas d'utilisation spécifiques.