Start conditionnel
Permet de ne pas regénérer tous les résumés, et de gagner du temps et des tokens
This commit is contained in:
@@ -24,7 +24,10 @@ def getGraph()->CompiledStateGraph:
|
|||||||
workflow.add_node("weekly_report_tools", weekly_report_tools)
|
workflow.add_node("weekly_report_tools", weekly_report_tools)
|
||||||
|
|
||||||
# Arrêtes
|
# 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_edge("inject_preparation_prompt", "preparation_docs")
|
||||||
workflow.add_conditional_edges("preparation_docs", should_continue, {
|
workflow.add_conditional_edges("preparation_docs", should_continue, {
|
||||||
"tools":"weekly_report_tools",
|
"tools":"weekly_report_tools",
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ from langchain.chat_models import init_chat_model
|
|||||||
from langgraph.graph import START, END
|
from langgraph.graph import START, END
|
||||||
from langchain.messages import HumanMessage, AIMessage, SystemMessage
|
from langchain.messages import HumanMessage, AIMessage, SystemMessage
|
||||||
from langgraph.types import interrupt
|
from langgraph.types import interrupt
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
from .tools import getTools, getWeeklyReportTools
|
from .tools import getTools, getWeeklyReportTools
|
||||||
from .state import CustomState
|
from .state import CustomState
|
||||||
@@ -123,3 +126,19 @@ class BasicToolNode: # De mon ancien projet, https://github.com/LJ5O/Assistant/b
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
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.
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 35 KiB |
@@ -16,13 +16,13 @@
|
|||||||
- [X] Préparation des nœuds
|
- [X] Préparation des nœuds
|
||||||
- [X] Branchement des nœuds entre-eux, **MVP**
|
- [X] Branchement des nœuds entre-eux, **MVP**
|
||||||
- [X] Human in the loop
|
- [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
|
## 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
|
||||||
- [ ] Système de redémarrage après un arrêt
|
- [ ] 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*
|
- [ ] 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