Produit Minimal Viable #1
40
AgentReact/utils/StateElements/TodoElement.py
Normal file
40
AgentReact/utils/StateElements/TodoElement.py
Normal 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)])
|
||||||
@@ -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)
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user