--- ## 1. đŸ› ïž Connaissances de base et commandes essentielles ### a. Installation et configuration initiale - Installation sur Linux/Windows/macOS : ```bash curl -fsSL https://ollama.com/install.sh | sh ``` - VĂ©rifier l'installation : ```bash ollama --version ``` - Lancer le serveur Ollama : ```bash ollama serve ``` ### b. Commandes complĂštes de base - Afficher les modĂšles disponibles : ```bash ollama list ``` - TĂ©lĂ©charger un modĂšle prĂ©cis : ```bash ollama pull llama3 ``` - Lancer un prompt rapidement : ```bash ollama run llama3 "Quelle est la capitale de la France?" ``` - Gestion avancĂ©e des modĂšles : ```bash ollama show llama3 ollama rm llama3 ``` ### c. Utilisation des commandes GPU Nvidia (spĂ©cifique H100) - VĂ©rification GPU disponible : ```bash nvidia-smi ``` - Configuration spĂ©cifique GPU Nvidia pour Ollama : - Ollama utilise automatiquement CUDA lorsqu'un GPU Nvidia est disponible, mais vĂ©rifier le support CUDA : ```bash nvcc --version ``` - Monitoring GPU durant l'utilisation Ollama : ```bash watch -n 1 nvidia-smi ``` - Optimisation d'utilisation GPU (exemple H100) : - S'assurer d'avoir installĂ© CUDA Toolkit 12.x (compatible H100). - Gestion des ressources GPU (notamment via variables d'environnement si besoin spĂ©cifique) : ```bash export CUDA_VISIBLE_DEVICES=0 # pour prĂ©ciser le GPU Ă  utiliser ``` --- ## 2. 🌐 Connaissances globales sur Ollama ### a. Architecture gĂ©nĂ©rale d'Ollama - Composants principaux : - Ollama server (gestion des requĂȘtes et des modĂšles) - ModĂšles supportĂ©s (LLaMA, Gemma, Mistral, LLaVA, Codellama
) - Communication via REST API locale ### b. ModĂšles disponibles et usages recommandĂ©s - ModĂšles linguistiques (LLM) gĂ©nĂ©raux (LLaMA3, Mistral, Mixtral
) - ModĂšles spĂ©cialisĂ©s (CodeLLaMA pour code, LLaVA pour multimodal
) ### c. Bonnes pratiques - Gestion et stockage des modĂšles (volumes importants) - Mise Ă  jour rĂ©guliĂšre des modĂšles - Structuration simple des requĂȘtes de test --- ## 3. 🚀 Connaissances poussĂ©es et avancĂ©es ### a. DĂ©ploiement en production (serveur, VM, cloud) - Dockerisation Ollama ```bash docker run -d -p 11434:11434 -v ~/.ollama:/root/.ollama ollama/ollama ``` - Automatisation (docker-compose, Kubernetes) ### b. ModĂšles avancĂ©s et optimisation - Fine-tuning personnalisĂ© (concept thĂ©orique, actuellement limitĂ© sur Ollama) - CrĂ©ation de modĂšles personnalisĂ©s via Ollama (`ollama create`) ### c. Benchmark et Ă©valuation de performances - Tests de vitesse et de latence des modĂšles : ```bash ollama run --verbose llama3 "test de performance" ``` - Monitoring continu et logging avancĂ© --- ## 4. ⚙ Approfondissement de l’API Ollama ### a. Structure de l'API Ollama REST - Documentation officielle : - Endpoint : `http://localhost:11434/api/generate` - Exemples d’appel : ```bash curl -X POST http://localhost:11434/api/generate -d '{"model": "llama3", "prompt":"Hello World"}' ``` ### b. Gestion de conversations via l'API - Conversations avec contexte : ```json { "model": "llama3", "messages": [{"role":"user","content":"message"}] } ``` - Gestion d’états (`context`) ### c. API streaming et Ă©vĂ©nements temps rĂ©el - Mode Streaming via API : ```json { "model": "llama3", "prompt": "Explain streaming...", "stream": true } ``` - Gestion asynchrone en Node.js ou Python --- ## 5. đŸ€– CrĂ©ation d’agents intelligents avec Ollama ### a. Concepts fondamentaux des agents - DĂ©finition : Action autonome d'un LLM en boucle interactive - Principe de boucle agentique : ``` Perception → RĂ©flexion → Action → Observation → (rĂ©pĂ©tition) ``` ### b. ImplĂ©mentation simple d’un agent Ollama (Python) - Exemple avec classe gĂ©nĂ©rale Ollama (via requests, LangChain ou Ollama Python SDK) - Utiliser LangChain pour une implĂ©mentation rapide d’agents : ```python from langchain.llms import Ollama from langchain.agents import initialize_agent, AgentType llm = Ollama(model="llama3") agent = initialize_agent(agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION, tools=[], llm=llm) agent.run("Quelle est la mĂ©tĂ©o Ă  Paris aujourd’hui ?") ``` ### c. ImplĂ©mentation avancĂ©e d'agents personnalisĂ©s - CrĂ©ation de classes d'agents spĂ©cialisĂ©s par mĂ©tier ou par domaine - Gestion des contextes longs, mĂ©moire et persistance d'Ă©tat --- ## 6. ⚡ Optimisation pratique des paramĂštres des modĂšles Ollama ### a. ParamĂ©trage global du modĂšle - Modifier le fichier de configuration gĂ©nĂ©ral : ```bash ~/.ollama/config.json ``` - ParamĂštres principaux Ă  optimiser : - `num_ctx` (taille du contexte) - `temperature`, `top_p`, `repeat_penalty` (contrĂŽle crĂ©ativitĂ©) ### b. ParamĂ©trage avancĂ© spĂ©cifique Ă  chaque modĂšle - Comparaison et rĂ©glage rapide via commandes : ```bash ollama run llama3 --temperature 0.7 "Prompt ici" ``` - Bonnes pratiques d'optimisation pour usages courants (crĂ©atif vs prĂ©cis) --- ## 7. đŸ–„ïž IntĂ©gration et optimisation dans VSCode/Cursor IDE ### a. Installation et intĂ©gration Ollama dans VSCode avec Cursor - Installation extension officielle Ollama dans Cursor : ``` Ctrl+Shift+X → rechercher "Ollama" ``` - Configuration extension Ollama (serveur local) : - URL serveur Ollama dans settings.json : ```json "ollama.endpoint": "http://localhost:11434" ``` ### b. Optimisation et utilisation pratique dans l'IDE - Prompt rapide dans VSCode/Cursor via raccourcis clavier - Utilisation contextuelle pour gĂ©nĂ©ration automatique de code/documentation : ```json "cursor.promptTemplates": [ { "name": "Code Explain", "prompt": "Explique le code suivant simplement : {{selection}}" } ] ``` - CrĂ©ation de snippets intelligents avec Ollama ### c. ProductivitĂ© avancĂ©e avec Cursor et Ollama - Commandes rapides (code generation, refactoring, debugging) - Personnalisation des interactions Ollama/Cursor selon projets (JS, Node, Python, etc.) --- đŸš© **Étape suivante :** Tu peux dĂ©buter par le premier point en suivant prĂ©cisĂ©ment ces sections. À chaque Ă©tape franchie, je peux approfondir selon tes besoins ou rĂ©pondre prĂ©cisĂ©ment Ă  tes questions pratiques ou thĂ©oriques sur Ollama.