Agent_V2 #2
@@ -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",
|
||||
|
||||
@@ -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}
|
||||
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"
|
||||
BIN
imgs/agent.png
BIN
imgs/agent.png
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user