diff --git a/AgentReact/agent.py b/AgentReact/agent.py index b9a87b2..86b28ff 100644 --- a/AgentReact/agent.py +++ b/AgentReact/agent.py @@ -24,7 +24,10 @@ def getGraph()->CompiledStateGraph: workflow.add_node("weekly_report_tools", weekly_report_tools) # Arrêtes - workflow.set_entry_point("inject_preparation_prompt") + workflow.set_conditional_entry_point(is_resumes_reports_already_initialised, { + "résumés non disponibles": "inject_preparation_prompt", + "résumés déjà générés": "user_prompt" + }) workflow.add_edge("inject_preparation_prompt", "preparation_docs") workflow.add_conditional_edges("preparation_docs", should_continue, { "tools":"weekly_report_tools", diff --git a/AgentReact/utils/nodes.py b/AgentReact/utils/nodes.py index 6fd3020..0d1bb23 100644 --- a/AgentReact/utils/nodes.py +++ b/AgentReact/utils/nodes.py @@ -5,6 +5,9 @@ from langchain.chat_models import init_chat_model from langgraph.graph import START, END from langchain.messages import HumanMessage, AIMessage, SystemMessage from langgraph.types import interrupt +import os +import sys +from pathlib import Path from .tools import getTools, getWeeklyReportTools from .state import CustomState @@ -122,4 +125,20 @@ class BasicToolNode: # De mon ancien projet, https://github.com/LJ5O/Assistant/b tool_call_id=tool_call["id"], ) ) - return {"messages": outputs} \ No newline at end of file + return {"messages": outputs} + +# UTILS + +def is_resumes_reports_already_initialised(state: CustomState)->str: + """Permet de savoirr si les résumés de comptes-rendu ont déjà été générés. + S'ils le sont, inutile de recréer ce dossier. + + Returns: + str: Faut-il générer les résumés ? + """ + # Récupérer le chemin vers le point d'entrée + base_dir: Path = Path(sys.argv[0]).resolve().parent + reports_dir = base_dir / "rapports_resumes" # Chemin du dossier des rapports + if os.path.isdir(reports_dir): + return "résumés déjà générés" + else: return "résumés non disponibles" \ No newline at end of file diff --git a/imgs/agent.png b/imgs/agent.png index b255b9d..d4c44c0 100644 Binary files a/imgs/agent.png and b/imgs/agent.png differ diff --git a/roadmap.md b/roadmap.md index 9911193..48fefee 100644 --- a/roadmap.md +++ b/roadmap.md @@ -16,13 +16,13 @@ - [X] Préparation des nœuds - [X] Branchement des nœuds entre-eux, **MVP** - [X] Human in the loop -- [ ] Amélioration du workflow +- [X] Amélioration du workflow +- [ ] Gestion de la taille du contexte - Résumé de l'historique des messages ## Amélioration de l'agent - [ ] Cross-encoding sur la sortie du **RAG** - [ ] Sauvegarde de l'état de l'agent - [ ] Système de redémarrage après un arrêt -- [ ] Gestion de la taille du contexte - Résumé de l'historique des messages - [ ] Détection de *prompt injection* - [ ] Génération d'un PDF en sortie du système