Architecture de la réduction contexte
Architecture uniquement, pas implémenté
This commit is contained in:
@@ -22,21 +22,28 @@ def getGraph()->CompiledStateGraph:
|
||||
workflow.add_node(inject_preparation_prompt)
|
||||
workflow.add_node("tool_node", tool_node)# BasicToolNode(tools=getTools())) # N'est pas une fonction, mais une classe instanciée, je dois précisier le nom du node
|
||||
workflow.add_node("weekly_report_tools", weekly_report_tools)
|
||||
workflow.add_node(context_shortener) # Réduit la taille du contexte
|
||||
workflow.add_node("context_shortener_2", context_shortener) # Le même, sous un autre nom pour le différencier dans le graphe
|
||||
|
||||
# Arrêtes
|
||||
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"
|
||||
"résumés non disponibles": "inject_preparation_prompt", # Résumés non générés
|
||||
"résumés déjà générés": "user_prompt" # Résumés déjà prêts, je peux aller direct à la partie principale
|
||||
})
|
||||
workflow.add_edge("inject_preparation_prompt", "preparation_docs")
|
||||
workflow.add_conditional_edges("preparation_docs", should_continue, {
|
||||
"tools":"weekly_report_tools",
|
||||
"no_tools":"user_prompt"
|
||||
"no_tools":"context_shortener" # FIN de la préparation, on réduit le contexte avant de passer à la suite
|
||||
})
|
||||
workflow.add_edge("context_shortener", "user_prompt") # Et ici, je rejoins la partie principale qui rédigera le rapport
|
||||
workflow.add_edge("user_prompt", "LLM_central")
|
||||
|
||||
workflow.add_edge("weekly_report_tools", "preparation_docs")
|
||||
workflow.add_edge("tool_node", "LLM_central")
|
||||
workflow.add_conditional_edges("tool_node", should_shorten, {
|
||||
'sous la limite': "LLM_central",
|
||||
'réduire contexte': "context_shortener_2"
|
||||
})
|
||||
workflow.add_edge("context_shortener_2", "LLM_central")
|
||||
workflow.add_conditional_edges("LLM_central", should_continue, {
|
||||
"tools":"tool_node",
|
||||
"no_tools":END
|
||||
|
||||
Reference in New Issue
Block a user