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)
|
||||
|
||||
# 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"
|
||||
Reference in New Issue
Block a user