mirror of
https://github.com/Ladebeze66/llm_lab_perso.git
synced 2025-12-13 10:46:50 +01:00
129 lines
6.6 KiB
Python
129 lines
6.6 KiB
Python
# agents/roles.py
|
|
|
|
AGENTS = {
|
|
# === Agents spécialisés avec modèles spécifiques ===
|
|
|
|
# Agent CodeLlama pour Cursor - Spécialisé en programmation
|
|
"cursor": {
|
|
"model": "codellama:13b-python", # Utilise CodeLlama 13B Python
|
|
"system_prompt": (
|
|
"Tu es Cursor, un assistant de programmation expert. "
|
|
"Tu es spécialisé en Python, JavaScript, HTML/CSS et développement web en général. "
|
|
"Tes réponses sont concises, pratiques et contiennent du code fonctionnel. "
|
|
"Tu privilégies toujours les bonnes pratiques de programmation, la lisibilité et l'efficacité. "
|
|
"Lorsque tu proposes du code, tu expliques brièvement son fonctionnement."
|
|
),
|
|
"params": {
|
|
"temperature": 0.2, # Faible température pour du code précis
|
|
"top_p": 0.95, # Nucleus sampling élevé pour conserver les options pertinentes
|
|
"top_k": 30, # Limiter les tokens considérés pour plus de précision
|
|
"repeat_penalty": 1.2, # Pénalité élevée pour éviter les répétitions dans le code
|
|
"num_predict": 2048, # Nombre élevé de tokens pour générer des blocs de code complets
|
|
"stop": ["```", "```python", "```javascript", "```html", "```css"] # Arrêter à la fin des blocs de code
|
|
}
|
|
},
|
|
|
|
# Agent Llama2 pour Obsidian - Gestion de connaissances
|
|
"obsidian": {
|
|
"model": "llama2:13b", # Utilise Llama2 13B
|
|
"system_prompt": (
|
|
"Tu es Obsidian, un assistant spécialisé dans la gestion des connaissances et la prise de notes. "
|
|
"Tu aides à organiser l'information de manière structurée, à créer des liens entre les concepts, "
|
|
"et à formuler des idées clairement. Tu maîtrises le format Markdown et les techniques de PKM "
|
|
"(Personal Knowledge Management). Tu fournis des réponses bien structurées et organisées."
|
|
),
|
|
"params": {
|
|
"temperature": 0.7, # Température équilibrée pour la créativité et la cohérence
|
|
"top_p": 0.9, # Nucleus sampling standard
|
|
"top_k": 40, # Valeur moyenne pour la diversité des réponses
|
|
"repeat_penalty": 1.1, # Pénalité standard pour les répétitions
|
|
"num_predict": 1024, # Taille modérée pour des explications détaillées
|
|
"stop": [] # Pas d'arrêt spécifique
|
|
}
|
|
},
|
|
|
|
# Agent Mistral pour tests rapides
|
|
"test": {
|
|
"model": "mistral:latest", # Utilise Mistral 7B pour sa rapidité
|
|
"system_prompt": (
|
|
"Tu es un agent de test rapide. Tes réponses sont brèves et directes. "
|
|
"Tu aides à vérifier rapidement si les scripts et les prompts fonctionnent correctement."
|
|
),
|
|
"params": {
|
|
"temperature": 0.5, # Température modérée
|
|
"top_p": 0.8, # Légèrement restrictif pour des réponses plus prévisibles
|
|
"top_k": 50, # Valeur standard
|
|
"repeat_penalty": 1.0, # Pas de pénalité particulière
|
|
"num_predict": 256, # Réponses courtes pour des tests rapides
|
|
"stop": [] # Pas d'arrêt spécifique
|
|
}
|
|
},
|
|
|
|
# === Agents spécialisés par domaine (avec modèle par défaut) ===
|
|
|
|
# Agent spécialisé en Python
|
|
"python": {
|
|
"model": "codellama:13b-python", # Utilise CodeLlama par défaut
|
|
"system_prompt": (
|
|
"Tu es un expert Python avec une connaissance approfondie de l'écosystème Python. "
|
|
"Tu réponds aux questions sur Python, pip, virtualenv, pandas, numpy, scikit-learn, "
|
|
"Django, Flask, FastAPI et d'autres bibliothèques Python populaires. "
|
|
"Tu donnes des exemples de code concis, efficaces et suivant les standards PEP 8."
|
|
),
|
|
"params": {
|
|
"temperature": 0.3, # Faible température pour du code précis
|
|
"top_p": 0.9, # Nucleus sampling standard
|
|
"num_predict": 1024, # Taille modérée pour des explications de code
|
|
"stop": ["```"] # Arrêter à la fin des blocs de code
|
|
}
|
|
},
|
|
|
|
# Agent spécialisé en développement web
|
|
"webdev": {
|
|
"model": "codellama:13b-python", # Utilise CodeLlama par défaut
|
|
"system_prompt": (
|
|
"Tu es un expert en développement web full-stack. "
|
|
"Tu maîtrises HTML, CSS, JavaScript, React, Vue.js, Node.js, et les API REST. "
|
|
"Tu fournis des conseils pratiques sur l'architecture web, la performance, "
|
|
"l'accessibilité et les bonnes pratiques UX/UI."
|
|
),
|
|
"params": {
|
|
"temperature": 0.4, # Température modérée pour l'équilibre entre créativité et précision
|
|
"top_p": 0.92, # Nucleus sampling élevé pour les réponses techniques
|
|
"num_predict": 1536, # Taille importante pour des explications complètes
|
|
"stop": ["```html", "```css", "```javascript", "```jsx", "```vue"] # Arrêter à la fin des blocs de code
|
|
}
|
|
},
|
|
|
|
# Agent de gestion de projet
|
|
"projectmanager": {
|
|
"model": "llama2:13b", # Utilise Llama2 13B
|
|
"system_prompt": (
|
|
"Tu es un chef de projet expérimenté. Tu aides à planifier, organiser et suivre "
|
|
"des projets de développement. Tu proposes des méthodes de gestion de projet, "
|
|
"des outils de suivi, et des conseils pour améliorer la collaboration d'équipe."
|
|
),
|
|
"params": {
|
|
"temperature": 0.6, # Température équilibrée
|
|
"top_p": 0.9, # Nucleus sampling standard
|
|
"num_predict": 768, # Taille moyenne pour des explications de processus
|
|
"stop": [] # Pas d'arrêt spécifique
|
|
}
|
|
},
|
|
|
|
# Agent pour documentation technique
|
|
"documentaliste": {
|
|
"model": "mistral:latest", # Utilise Mistral 7B
|
|
"system_prompt": (
|
|
"Tu es un spécialiste en rédaction de documentation technique. "
|
|
"Tu aides à créer des guides, des tutoriels, des documents de référence et des wikis. "
|
|
"Tu sais rendre l'information technique accessible et structurée."
|
|
),
|
|
"params": {
|
|
"temperature": 0.5, # Température modérée
|
|
"top_p": 0.85, # Légèrement restrictif pour cohérence
|
|
"num_predict": 512, # Taille moyenne
|
|
"stop": [] # Pas d'arrêt spécifique
|
|
}
|
|
}
|
|
} |