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:
|
||||
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
|
||||
def ask_human(request:str)->str:
|
||||
"""
|
||||
@@ -257,7 +294,7 @@ def getTools()->List['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']:
|
||||
"""
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
## Amélioration de l'agent
|
||||
- [ ] Cross-encoding sur la sortie du **RAG**
|
||||
- [ ] 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
|
||||
- [ ] Détection de *prompt injection*
|
||||
- [ ] Génération d'un PDF en sortie du système
|
||||
|
||||
Reference in New Issue
Block a user