State pour l'agent

This commit is contained in:
2026-02-05 14:23:18 +01:00
parent 7c92d4fc31
commit af253b71dd
3 changed files with 54 additions and 4 deletions

View File

@@ -0,0 +1,40 @@
# Classes utilisées pour représenter des données
class TodoElement():
STATE_NOT_STARTED = 0 # Sorte d'enum qui représente l'état d'une tâche
STATE_STARTED = 1
STATE_COMPLETED = 2
name: str
state: int
def __init__(self, name:str, description:str=None):
self.name = name
self.description = description
self.state = TodoElement.STATE_NOT_STARTED
def __str__(self)->str:
"""
Affiche la tâche, son nom et son statut
Affichera aussi la description de la tâche si elle a été définie ET est en cours
Returns:
str: Représentation écrite de la tâche
"""
return f"Tâche \"{self.name}\": {self.__getStateName()}." + \
(f" Description: {self.description}" if self.description and self.state == TodoElement.STATE_STARTED else '')
def __getStateName(self)->str:
if self.state == TodoElement.STATE_NOT_STARTED:
return "Non commencée"
elif self.state == TodoElement.STATE_STARTED:
return "En cours"
elif self.state == TodoElement.STATE_COMPLETED:
return "Terminée"
else:
return "Inconnu"
if __name__ == "__main__":
test = TodoElement("TEST tâche", "OUI")
test.state = TodoElement.STATE_STARTED
print(test)
print([str(test)])

View File

@@ -1,7 +1,17 @@
from langgraph.graph import StateGraph, MessagesState from langgraph.graph import StateGraph, MessagesState
from typing import List
from .StateElements.TodoElement import TodoElement
class CustomState(MessagesState):
todo: List[TodoElement] # Les tâches en cours
ragQuery: str # Requête envoyée au RAG, pour le cross-encodeur
ragDocuments: List[str] # Documents retrouvés par le RAG, pour le cross-encodeur
# TODO: Ajouter la source des documents sélectionnés pour la fin du rapport ?
class hjgzefvuiyguhzfvihuozdef(MessagesState): # J'ai du mal à nommer mes classes ._.
pass
def getState()->StateGraph: def getState()->StateGraph:
""" """
@@ -10,4 +20,4 @@ def getState()->StateGraph:
Returns: Returns:
StateGraph: prêt à utiliser StateGraph: prêt à utiliser
""" """
return StateGraph(hjgzefvuiyguhzfvihuozdef) return StateGraph(CustomState)

View File

@@ -11,7 +11,7 @@
- [X] Lecture des documents et mise en base de données vectorielle - [X] Lecture des documents et mise en base de données vectorielle
## Mise en place de l'agent ## Mise en place de l'agent
- [ ] Préparation du `State` - [X] Préparation du `State`
- [ ] Développement des outils de l'agent - [ ] Développement des outils de l'agent
- [ ] Préparation des nœuds - [ ] Préparation des nœuds
- [ ] Branchement des nœuds entre-eux - [ ] Branchement des nœuds entre-eux