iflen(msg.content)>0:# s'il y a un contenu dans ce message
msg.content=llm.invoke(PROMPT_SUMMARY+msg.content).content#Je le résume
newMessages.append(msg)
elifisinstance(msg,ToolMessage):
# Outil, sera placé dans un fichier
file_name=f"resume_{msg.tool_call_id}.txt"# Nom unique
full_path=reports_dir/file_name
withopen(full_path,"w",encoding="utf-8")asf:
# Ecriture
f.write(f"""
Tu as utilisé un outil, qui a retourné ceci:
{msg.content}
""")# TODO: Trouver un moyen d'ajouter le nom de l'outil depuis les ToolCall vers ce write
msg.content=f"Pour voir le compte-rendu complet de cet outil, utilise ton outil 'read_file(file_path=\"outils_resumes/{file_name}\")'.\n Résumé:\n"+ \
llm.invoke(PROMPT_SUMMARY+msg.content).content
newMessages.append(msg)
else:
# SystemMessage. Je ne les modifie pas
newMessages.append(msg)
lastSummarizedMessage+=1
return{'messages':newMessages,'lastSummarizedMessage':lastSummarizedMessage}# Je retourne une liste entière, ce qui devrait remplacer toute la liste au lieu d'ajouter un simple message
- [] Gestion de la taille du contexte - Résumé de l'historique des messages
- [X] Gestion de la taille du contexte - Résumé de l'historique des messages
## Amélioration de l'agent
- [ ] Cross-encoding sur la sortie du **RAG**
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.