tools.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import os
  2. import pandas as pd
  3. from langchain_core.tools import tool
  4. @tool
  5. def excel_code_interpreter(code: str, entreprise_name: str):
  6. """
  7. Exécute du code Python pour générer un tableau Excel.
  8. Le fichier sera enregistré dans un dossier au nom de l'entreprise.
  9. Arguments:
  10. - code: Le code Python à exécuter (doit utiliser pandas).
  11. - entreprise_name: Le nom de l'entreprise pour créer le dossier.
  12. """
  13. import warnings
  14. warnings.filterwarnings("ignore")
  15. try:
  16. # 1. Création du dossier de l'entreprise s'il n'existe pas
  17. # On nettoie le nom pour éviter les problèmes de caractères spéciaux
  18. folder_path = entreprise_name.replace(" ", "_").strip()
  19. if not os.path.exists(folder_path):
  20. os.makedirs(folder_path)
  21. # 2. Préparation du contexte d'exécution
  22. # On définit le chemin de sortie par défaut pour l'agent
  23. output_file = os.path.join(folder_path, f"Rapport_{folder_path}.xlsx")
  24. context = {
  25. "pd": pd,
  26. "os": os,
  27. "output_file": output_file,
  28. "result": None
  29. }
  30. # 3. Exécution du code
  31. # L'agent doit utiliser 'pd.ExcelWriter(output_file, engine="xlsxwriter")' dans son code
  32. exec(code, context)
  33. return f"✅ Succès : Code exécuté. Fichier enregistré dans : {output_file}"
  34. except Exception as e:
  35. return f"❌ ERREUR PYTHON : {str(e)}"