coffreobsidian/Serveur perso/Prompt_Cursor_Complet_Agents_LLM_Pretraitement (1).md
2025-04-14 08:52:08 +02:00

5.2 KiB
Raw Permalink Blame History

Prompt complet pour Cursor Pro Programme de prétraitement PDF avec agents LLM modulables

Développe un programme Python avec interface graphique (Tkinter ou PyQt6) permettant de :

  1. Charger un document PDF
  2. Naviguer entre les pages
  3. Sélectionner une ou plusieurs zones rectangulaires (ex : schéma, tableau, formule)
  4. Associer un contexte textuel (automatique via OCR ou manuel)
  5. Traduire, interpréter ou résumer le contenu sélectionné en utilisant différents agents LLM configurables
  6. Exporter le résultat enrichi au format Markdown (.md) prêt à être utilisé dans une base Ragflow

Structure du projet recommandée

ragflow_pretraitement/
├── main.py
├── ui/
│   ├── viewer.py              # Navigation et sélection dans le PDF
│   └── llm_config_panel.py    # Choix des agents, paramètres
├── agents/
│   ├── base.py                # Classe LLMBaseAgent
│   ├── vision.py              # VisionAgent
│   ├── translation.py         # TranslationAgent
│   ├── summary.py             # SummaryAgent
│   └── rewriter.py            # RewriterAgent
├── utils/
│   ├── ocr.py
│   ├── translate.py
│   ├── markdown_export.py
│   └── api_ollama.py
├── config/
│   └── llm_profiles.json      # Profils LLM préconfigurés
├── data/
│   └── outputs/               # .md et images générées
└── docs/
    └── prompts/

Fonctionnalités de linterface

  • Navigation page par page dans le PDF
  • Zoom/dézoom + recentrage
  • Sélection dune zone avec la souris
  • Attribution dun type : schéma, tableau, formule, autre
  • Zone de texte modifiable pour le contexte
  • Menu de sélection :
    • Modèle par tâche (vision, résumé, traduction…)
    • Langue de prompt (FR / EN)
    • Paramètres (température, top_p, top_k, num_tokens)
    • Bouton : "Appliquer agent"
  • Aperçu live de la sortie
  • Export Markdown (document_final.md)

Agents LLM

Classe LLMBaseAgent

Chaque agent hérite de cette base, et peut :

  • Sappeler avec un prompt
  • Prendre une image (pour vision)
  • Gérer les paramètres dynamiquement
class LLMBaseAgent:
    def __init__(self, model_name, endpoint, **config):
        ...
    def generate(self, prompt: str, images: List[bytes] = None) -> str:
        ...

Rôles recommandés

Rôle Classe Modèle par défaut Langue
Vision VisionAgent llama3.2-vision:90b 🇬🇧
Traduction TranslationAgent mistral / qwen2.5 🇫🇷🇬🇧
Résumé SummaryAgent deepseek-r1 🇫🇷
Reformulation RewriterAgent mistral / deepseek 🇫🇷

Profils et configuration dynamique

Fichier config/llm_profiles.json

Permet de charger automatiquement un ensemble dagents, de modèles et de paramètres selon les besoins.

{
  "avancé": {
    "vision": {
      "model": "llama3.2-vision:90b-instruct-q8_0",
      "language": "en",
      "temperature": 0.2,
      "top_p": 0.95
    },
    "translation": {
      "model": "mistral",
      "language": "fr",
      "temperature": 0.1
    }
  }
}

Format Markdown exporté

## Figure 3  Classification des granulats

**Contexte** :
Ce schéma montre...

**Analyse IA (Vision)** :
The diagram shows...

**Paramètres utilisés** :
modèle=llama3.2-vision, temperature=0.2, langue=en

**Source** :
Page 12, Type: Schéma, Fichier: NF P11-300

Étapes de test recommandées

  1. Charger un PDF
  2. Sélectionner une zone
  3. Associer un rôle + agent
  4. Lancer lanalyse (vision, résumé, etc.)
  5. Vérifier la sortie
  6. Exporter le fichier Markdown

Modes d'analyse et niveaux de charge LLM

L'utilisateur peut choisir entre trois niveaux d'analyse dans l'interface :

Niveau Vision Résumé / Reformulation Traduction Usage recommandé
🔹 Léger llava:34b mistral mistral Débogage, prototypes rapides
Moyen llava deepseek-r1 qwen2.5, mistral Usage normal
🔸 Avancé llama3.2-vision deepseek-r1 deepseek Documents critiques, production

Interface

  • Menu déroulant "Mode danalyse" :
    • Léger / Moyen / Avancé
  • Ce mode détermine les modèles, la langue, et les paramètres par défaut
  • L'utilisateur peut ensuite modifier manuellement chaque agent (surcharger les préréglages)

Exemple de workflow

  1. L'utilisateur sélectionne "Avancé"
  2. Tous les agents se préconfigurent avec les modèles lourds
  3. Pour la traduction uniquement, il choisit manuellement mistral car il veut aller plus vite
  4. Le fichier llm_custom.json conserve ces réglages personnalisés

Ce système permet d'adapter la charge GPU et la vitesse de traitement au besoin sans perdre en contrôle.