coffreobsidian/Serveur perso/LLM Obsidian.md
2025-03-23 20:59:56 +01:00

3.4 KiB
Raw Blame History

Guide : Intégration et Utilisation des LLM avec Agents Dynamiques dans Obsidian


Objectif du guide

  • Installer et configurer les LLM localement avec Ollama
  • Intégrer ces modèles dans Obsidian grâce à des agents dynamiques
  • Utiliser tes notes comme base de données intelligente
  • Créer plusieurs agents spécialisés pour enrichir ton workflow de prise de notes

Le tout en restant simple, modulaire, réutilisable.


I. Prérequis

1. Systèmes compatibles

  • Windows 10/11 (avec WSL recommandé) ou Linux

2. Logiciels à installer

  • Ollama (pour exécuter les LLM en local)
  • Python 3.10+
  • Obsidian (avec le plugin "Templater" ou "Custom Plugins" activé)

II. Installer et tester les modèles LLM avec Ollama

1. Installation dOllama

# Linux/WSL
curl -fsSL https://ollama.com/install.sh | sh

# macOS (brew)
brew install ollama

2. Lancer un modèle (exemple : mistral)

ollama run mistral

Pour télécharger un autre modèle :

ollama pull codellama:13b-python

Liste des modèles : https://ollama.com/library

3. Vérification API locale

curl http://localhost:11434

III. Créer des agents dynamiques spécialisés pour Obsidian

Structure minimale dun agent

from base_agent import BaseAgent

agent = BaseAgent("RestructurationObsidian", model="mistral")
agent.set_role("Tu restructures les notes Markdown pour les rendre lisibles et organisées.")

note = "cette note est en désordre. elle na pas de titres, ni de sections."
print(agent.process(note))

Exemples dagents à créer

Nom de lagent Rôle assigné
AnalyseurStructure Analyse la structure de la note
CorrecteurMarkdown Corrige orthographe + mise en page
SuggestionTagsLiens Propose des tags internes et liens
OptimiseurObsidian Propose des améliorations visuelles (CSS/templating)
ClasseurNotes Classe la note dans un dossier pertinent

Organisation recommandée dans Obsidian

  • Dossier scripts/agents/
  • Fichier agents_runner.py exécutable via script shell ou Templater
python agents/agents_runner.py "notes/ma_note.md"

Exemple via plugin Templater

Crée un template qui appelle un script :

<% tp.system.run('python3 agents/agents_runner.py "' + tp.file.path(true) + '"') %>

IV. Exploitation avancée avec AgentChain

Tu peux enchaîner plusieurs agents pour automatiser un traitement complet :

from agent_chain import AgentChain

a1 = BaseAgent("analyse", model="mistral")
a2 = BaseAgent("structure", model="mistral")
a3 = BaseAgent("correction", model="mistral")

a1.set_role("Analyse le contenu de la note.")
a2.set_role("Restructure la note.")
a3.set_role("Corrige lorthographe.")

chain = AgentChain(chain_mode=True)
chain.add(a1)
chain.add(a2)
chain.add(a3)

with open("notes/ma_note.md") as f:
    print(chain.run(f.read()))

V. Astuces pratiques

  • Utilise le tag YAML #traitement_ai dans tes notes à traiter automatiquement
  • Stocke les retours dagent dans un champ frontmatter YAML ou un fichier à part
  • Utilise le modèle phi pour les agents rapides, mistral pour polyvalence, codellama uniquement si tu traites du code Markdown

VI. À suivre

Tu peux combiner cette configuration avec un système de base de données vectorielle RAG plus tard pour lindexation des notes.