Skill.md tool
This commit is contained in:
48
AgentReact/skills.md
Normal file
48
AgentReact/skills.md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Fichier des skills et compétences
|
||||||
|
Ce fichier vise à t'expliquer comment réaliser certaines étapes de la génération du rapport de stage.
|
||||||
|
|
||||||
|
---
|
||||||
|
## Creation_plan
|
||||||
|
|
||||||
|
Voici un plan que tu peux utiliser pour générer un rapport de stage:
|
||||||
|
```
|
||||||
|
# Rapport de stage au sein de l'entreprise [NOM]
|
||||||
|
|
||||||
|
## Sommaire
|
||||||
|
|
||||||
|
- Introduction
|
||||||
|
- L'entreprise [NOM]
|
||||||
|
- État de l'art
|
||||||
|
- Le stage
|
||||||
|
- Semaine 1
|
||||||
|
- Semaine 2
|
||||||
|
- ...
|
||||||
|
- Semaine n
|
||||||
|
- Conclusions et résultats
|
||||||
|
- Sources
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
Ecris une courte intro, de deux ou trois paragraphes.
|
||||||
|
|
||||||
|
## L'entreprise [NOM]
|
||||||
|
Décris l'entreprise, ce qu'elle fait, ses clients, son secteur, ...
|
||||||
|
Fais deux ou trois paragraphes.
|
||||||
|
|
||||||
|
## État de l'art
|
||||||
|
Regarde quels outils, techniques, supports ont été utilisés, décris-les et explique. Décris aussi les dernières avancées dans le domaine du rapport de stage et les outils utilisés pour le mener à bien, avec un paragraphe par outil, technique ou support.
|
||||||
|
|
||||||
|
## Le stage
|
||||||
|
Décris globalement le stage et introduis le en un paragraphe
|
||||||
|
|
||||||
|
|
||||||
|
### Semaine 1
|
||||||
|
Fais deux ou trois paragraphes par semaine pour expliquer ce qui a été fait, ce qui devra suivre, comment ça a été fait, ect...
|
||||||
|
|
||||||
|
### Semaine n
|
||||||
|
|
||||||
|
## Conclusion et résultats
|
||||||
|
Reprends ici les découvertes faites pendant le stage, fais ressortir les résultats et les enseignements du stage, en deux à quatre paragraphes
|
||||||
|
|
||||||
|
## Sources
|
||||||
|
Liste ici les sources que tu as utilisé pour rédiger l'ensemble du document
|
||||||
|
```
|
||||||
@@ -145,6 +145,43 @@ def read_file(file_path: str) -> str:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
return f"Erreur lors de la lecture : {str(e)}"
|
return f"Erreur lors de la lecture : {str(e)}"
|
||||||
|
|
||||||
|
@tool
|
||||||
|
def get_skill(skill_name:str=None)->str:
|
||||||
|
"""
|
||||||
|
Obtenir un skill, la description de comment faire quelque chose.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
skill_name (str, optional): Nom du skill recherché. Si ce n'est pas donné, listera les skills disponibles.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: Sans nom de skill, la liste de ceux disponibles. Si un nom de skill est donné, l'ensemble de ce skill.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
base_dir:str = Path(sys.argv[0]).resolve().parent.as_posix() # Récupérer le chemin vers le point d'entrée du programme
|
||||||
|
full_path:str = base_dir + "/skills.md" # Puis générer le chemin vers le fichier
|
||||||
|
|
||||||
|
with open(full_path, "r", encoding="utf-8") as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
if skill_name is None:
|
||||||
|
# Liste des skills
|
||||||
|
names = []
|
||||||
|
for part in content.split("---")[1:]: # Pas besoin de la première partie
|
||||||
|
names.append(part.splitlines()[1].split(' ')[1]) # Récupérer le nom du skill à la seconde ligne
|
||||||
|
return str(names)
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Récupérer un skill
|
||||||
|
for part in content.split("---")[1:]:
|
||||||
|
if skill_name.lower() in part.lower(): # Dégueulasse pour l'opti mais c'est rapide à implémenter
|
||||||
|
# Si c'est ce skill qui est recherché
|
||||||
|
return f"{content.split("---")[0]}\n\n{part}"
|
||||||
|
|
||||||
|
return "Ce skill n'existe pas ! Regarde la liste des skills en rappelant cet outil sans arguments !"
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
return f"Erreur lors de la lecture : {str(e)}"
|
||||||
|
|
||||||
@tool
|
@tool
|
||||||
def ask_human(request:str)->str:
|
def ask_human(request:str)->str:
|
||||||
"""
|
"""
|
||||||
@@ -257,7 +294,7 @@ def getTools()->List['Tools']:
|
|||||||
"""
|
"""
|
||||||
Récupérer la liste des tools
|
Récupérer la liste des tools
|
||||||
"""
|
"""
|
||||||
return [internet_search, write_file, editTodo, read_file, ask_human, search_in_files, addTodo, removeTodo]
|
return [internet_search, write_file, editTodo, read_file, ask_human, search_in_files, addTodo, removeTodo, get_skill]
|
||||||
|
|
||||||
def getWeeklyReportTools()->List['Tools']:
|
def getWeeklyReportTools()->List['Tools']:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
## Amélioration de l'agent
|
## Amélioration de l'agent
|
||||||
- [ ] Cross-encoding sur la sortie du **RAG**
|
- [ ] Cross-encoding sur la sortie du **RAG**
|
||||||
- [ ] Sauvegarde de l'état de l'agent
|
- [ ] Sauvegarde de l'état de l'agent
|
||||||
- [ ] Lecture d'un `skills.md`
|
- [X] Lecture d'un `skills.md`
|
||||||
- [ ] Système de redémarrage après un arrêt
|
- [ ] Système de redémarrage après un arrêt
|
||||||
- [ ] Détection de *prompt injection*
|
- [ ] Détection de *prompt injection*
|
||||||
- [ ] Génération d'un PDF en sortie du système
|
- [ ] Génération d'un PDF en sortie du système
|
||||||
|
|||||||
Reference in New Issue
Block a user