TodoElement est maintenant sérializable

Requis pour le state
This commit is contained in:
2026-02-10 19:12:53 +01:00
parent f1caea0323
commit 23e18d6a88
4 changed files with 42 additions and 8 deletions

View File

@@ -14,6 +14,7 @@ import json
from .tools import getTools, getWeeklyReportTools
from .state import CustomState
from .InterruptPayload import InterruptPayload
from .StateElements.TodoElement import TodoElement
# Variables principales
TAILLE_CONTEXTE_MAX = 20000 #charactères
@@ -74,7 +75,7 @@ def LLM_central(state: CustomState):
if "todo" in state.keys(): # S'il y a des TODO, je l'ajoute avant le prompt au LLM
if len(state['todo'])>0:
sysmsg = SystemMessage(f"Voici la liste des tâches en cours : {str([f"{i}: {str(todo)}\n" for i,todo in enumerate(state['todo'])])}")
sysmsg = SystemMessage(f"Voici la liste des tâches en cours : {str([f"{i}: {str(TodoElement.fromJSON(todo))}\n" for i,todo in enumerate(state['todo'])])}")
print(sysmsg.content)
return {"messages": [model.invoke(state["messages"] + [AIMessage('.'), sysmsg])]} # AIMessage pour que Msitrail ne refuse pas la requête avec un 400