aait 2.3.8.2__tar.gz → 2.3.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. aait-2.3.9/PKG-INFO +9 -0
  2. aait-2.3.9/aait.egg-info/PKG-INFO +9 -0
  3. {aait-2.3.8.2 → aait-2.3.9}/aait.egg-info/SOURCES.txt +0 -17
  4. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/subprocess_management.py +5 -5
  5. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +1 -1
  6. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWAccumulator.py +43 -36
  7. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWExtractTokens.py +2 -4
  8. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWLargeLanguageModel.py +2 -0
  9. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owaccumulator.ui +1 -1
  10. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owlargelanguagemodel.ui +11 -1
  11. aait-2.3.9/orangecontrib/AAIT/widgets/icons/owlargelanguagemodel.svg +55 -0
  12. {aait-2.3.8.2 → aait-2.3.9}/setup.py +1 -1
  13. aait-2.3.8.2/PKG-INFO +0 -28
  14. aait-2.3.8.2/aait.egg-info/PKG-INFO +0 -28
  15. aait-2.3.8.2/orangecontrib/AAIT/llm/MergeBaseLora.py +0 -79
  16. aait-2.3.8.2/orangecontrib/AAIT/llm/SERV_kill_workflow.py +0 -17
  17. aait-2.3.8.2/orangecontrib/AAIT/llm/SERV_requests.py +0 -73
  18. aait-2.3.8.2/orangecontrib/AAIT/llm/SERV_start_workflow.py +0 -17
  19. aait-2.3.8.2/orangecontrib/AAIT/llm/Tutorial_Finetuning.py +0 -170
  20. aait-2.3.8.2/orangecontrib/AAIT/llm/Tutorial_TestFinetuning.py +0 -53
  21. aait-2.3.8.2/orangecontrib/AAIT/llm/finetuning.py +0 -250
  22. aait-2.3.8.2/orangecontrib/AAIT/llm/functions_DatasetGeneration.py +0 -334
  23. aait-2.3.8.2/orangecontrib/AAIT/llm/functions_Finetuning.py +0 -124
  24. aait-2.3.8.2/orangecontrib/AAIT/llm/main_DatasetGeneration.py +0 -68
  25. aait-2.3.8.2/orangecontrib/AAIT/llm/main_Finetuning.py +0 -96
  26. aait-2.3.8.2/orangecontrib/AAIT/llm/quickpy.py +0 -99
  27. aait-2.3.8.2/orangecontrib/AAIT/llm/test.py +0 -38
  28. aait-2.3.8.2/orangecontrib/AAIT/llm/test_functions.py +0 -0
  29. aait-2.3.8.2/orangecontrib/AAIT/widgets/designer/owchunkanalysis.ui +0 -64
  30. aait-2.3.8.2/orangecontrib/AAIT/widgets/icons/chunking_analysis.png +0 -0
  31. aait-2.3.8.2/orangecontrib/AAIT/widgets/icons/owlargelanguagemodel.svg +0 -25
  32. {aait-2.3.8.2 → aait-2.3.9}/License.txt +0 -0
  33. {aait-2.3.8.2 → aait-2.3.9}/aait.egg-info/dependency_links.txt +0 -0
  34. {aait-2.3.8.2 → aait-2.3.9}/aait.egg-info/entry_points.txt +0 -0
  35. {aait-2.3.8.2 → aait-2.3.9}/aait.egg-info/namespace_packages.txt +0 -0
  36. {aait-2.3.8.2 → aait-2.3.9}/aait.egg-info/requires.txt +0 -0
  37. {aait-2.3.8.2 → aait-2.3.9}/aait.egg-info/top_level.txt +0 -0
  38. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/__init__.py +0 -0
  39. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
  40. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
  41. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/__init__.py +0 -0
  42. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/answers.py +0 -0
  43. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/answers_llama.py +0 -0
  44. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/chunking.py +0 -0
  45. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/embeddings.py +0 -0
  46. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/lemmes.py +0 -0
  47. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
  48. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/process_documents.py +0 -0
  49. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
  50. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/llm/translations.py +0 -0
  51. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
  52. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
  53. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/MetManagement.py +0 -0
  54. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/OperationSystem.py +0 -0
  55. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
  56. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/__init__.py +0 -0
  57. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
  58. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/aait_table_viewer.py +0 -0
  59. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/base_widget.py +0 -0
  60. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
  61. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/import_uic.py +0 -0
  62. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
  63. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/mac_utils.py +0 -0
  64. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
  65. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
  66. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/thread_management.py +0 -0
  67. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
  68. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
  69. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
  70. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
  71. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
  72. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/unlink_table_domain.py +0 -0
  73. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/utils/windows_utils.py +0 -0
  74. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWAddColumns.py +0 -0
  75. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
  76. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
  77. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
  78. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
  79. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
  80. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
  81. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
  82. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWEditTable.py +0 -0
  83. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWEmptySwitch.py +0 -0
  84. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
  85. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
  86. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
  87. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWFileMetadata.py +0 -0
  88. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWFileSyncChecker.py +0 -0
  89. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWFileWithPath.py +0 -0
  90. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +0 -0
  91. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWFusionNM.py +0 -0
  92. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
  93. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
  94. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWGenerateWord.py +0 -0
  95. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
  96. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
  97. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWKeywordsDetection.py +0 -0
  98. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWLLMEngine.py +0 -0
  99. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
  100. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
  101. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
  102. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWLoadDocuments.py +0 -0
  103. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +0 -0
  104. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +0 -0
  105. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
  106. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
  107. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
  108. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
  109. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
  110. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
  111. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +0 -0
  112. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
  113. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
  114. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
  115. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
  116. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
  117. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
  118. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
  119. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWOperationSystem.py +0 -0
  120. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
  121. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
  122. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
  123. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
  124. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
  125. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
  126. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
  127. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +0 -0
  128. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py +0 -0
  129. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -0
  130. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWSortAndSelect.py +0 -0
  131. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
  132. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
  133. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
  134. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
  135. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -0
  136. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
  137. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/__init__.py +0 -0
  138. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
  139. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/ow_OperationSystem.ui +0 -0
  140. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
  141. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
  142. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owaddcolumns.ui +0 -0
  143. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
  144. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
  145. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
  146. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
  147. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owedgellm.ui +0 -0
  148. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
  149. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owemptyswitch.ui +0 -0
  150. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
  151. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
  152. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owexecutescript_TEST.ui +0 -0
  153. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
  154. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
  155. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owfilemetadata.ui +0 -0
  156. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owfilesyncchecker.ui +0 -0
  157. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
  158. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +0 -0
  159. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owfusion_nm.ui +0 -0
  160. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owgenerate_word.ui +0 -0
  161. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
  162. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
  163. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
  164. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui +0 -0
  165. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
  166. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
  167. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
  168. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owloaddocuments.ui +0 -0
  169. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
  170. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
  171. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
  172. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
  173. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
  174. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
  175. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
  176. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
  177. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_2.5_32b.ui +0 -0
  178. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_1.5b_q6.ui +0 -0
  179. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_3b_q4.ui +0 -0
  180. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q4.ui +0 -0
  181. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q6.ui +0 -0
  182. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_qwencoder_7b.ui +0 -0
  183. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
  184. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
  185. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
  186. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
  187. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
  188. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
  189. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
  190. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
  191. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owsavewithpath.ui +0 -0
  192. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owselect_column_dynamic.ui +0 -0
  193. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owselect_row_dynamic.ui +0 -0
  194. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owsortandselect.ui +0 -0
  195. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
  196. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
  197. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
  198. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
  199. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -0
  200. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
  201. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
  202. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
  203. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
  204. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/blue_down_arrow.svg +0 -0
  205. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
  206. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
  207. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
  208. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/document_generator.png +0 -0
  209. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
  210. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/edge_llm.svg +0 -0
  211. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
  212. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
  213. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/green_check.svg +0 -0
  214. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
  215. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
  216. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
  217. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
  218. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
  219. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
  220. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
  221. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
  222. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
  223. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
  224. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
  225. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
  226. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
  227. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/operationSystem.png +0 -0
  228. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
  229. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
  230. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
  231. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
  232. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owaccumulator.png +0 -0
  233. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
  234. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
  235. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
  236. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
  237. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owemptyswitch.svg +0 -0
  238. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owenvinfo.png +0 -0
  239. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
  240. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
  241. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owfilemetadata.svg +0 -0
  242. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -0
  243. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owfilesyncchecker.svg +0 -0
  244. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
  245. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owfusion_nm.png +0 -0
  246. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
  247. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
  248. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owkeywords.png +0 -0
  249. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owkeywordsdetection.png +0 -0
  250. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
  251. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owloaddocuments.svg +0 -0
  252. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
  253. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
  254. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
  255. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
  256. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
  257. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
  258. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
  259. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
  260. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
  261. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
  262. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
  263. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
  264. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owselectcolumndynamique.png +0 -0
  265. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owsortandselect.svg +0 -0
  266. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
  267. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
  268. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
  269. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
  270. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
  271. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
  272. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
  273. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
  274. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
  275. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/AAIT/widgets/icons/zip.svg +0 -0
  276. {aait-2.3.8.2 → aait-2.3.9}/orangecontrib/__init__.py +0 -0
  277. {aait-2.3.8.2 → aait-2.3.9}/setup.cfg +0 -0
aait-2.3.9/PKG-INFO ADDED
@@ -0,0 +1,9 @@
1
+ Metadata-Version: 2.1
2
+ Name: aait
3
+ Version: 2.3.9
4
+ Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
+ Home-page:
6
+ Author: Orange community
7
+ Author-email:
8
+ Keywords: orange3 add-on
9
+ License-File: License.txt
@@ -0,0 +1,9 @@
1
+ Metadata-Version: 2.1
2
+ Name: aait
3
+ Version: 2.3.9
4
+ Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
+ Home-page:
6
+ Author: Orange community
7
+ Author-email:
8
+ Keywords: orange3 add-on
9
+ License-File: License.txt
@@ -1,5 +1,4 @@
1
1
  License.txt
2
- setup.cfg
3
2
  setup.py
4
3
  aait.egg-info/PKG-INFO
5
4
  aait.egg-info/SOURCES.txt
@@ -12,29 +11,15 @@ orangecontrib/__init__.py
12
11
  orangecontrib/AAIT/__init__.py
13
12
  orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py
14
13
  orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll
15
- orangecontrib/AAIT/llm/MergeBaseLora.py
16
- orangecontrib/AAIT/llm/SERV_kill_workflow.py
17
- orangecontrib/AAIT/llm/SERV_requests.py
18
- orangecontrib/AAIT/llm/SERV_start_workflow.py
19
- orangecontrib/AAIT/llm/Tutorial_Finetuning.py
20
- orangecontrib/AAIT/llm/Tutorial_TestFinetuning.py
21
14
  orangecontrib/AAIT/llm/__init__.py
22
15
  orangecontrib/AAIT/llm/answers.py
23
16
  orangecontrib/AAIT/llm/answers_llama.py
24
17
  orangecontrib/AAIT/llm/chunking.py
25
18
  orangecontrib/AAIT/llm/embeddings.py
26
- orangecontrib/AAIT/llm/finetuning.py
27
- orangecontrib/AAIT/llm/functions_DatasetGeneration.py
28
- orangecontrib/AAIT/llm/functions_Finetuning.py
29
19
  orangecontrib/AAIT/llm/lemmes.py
30
20
  orangecontrib/AAIT/llm/lmstudio.py
31
- orangecontrib/AAIT/llm/main_DatasetGeneration.py
32
- orangecontrib/AAIT/llm/main_Finetuning.py
33
21
  orangecontrib/AAIT/llm/process_documents.py
34
22
  orangecontrib/AAIT/llm/prompt_management.py
35
- orangecontrib/AAIT/llm/quickpy.py
36
- orangecontrib/AAIT/llm/test.py
37
- orangecontrib/AAIT/llm/test_functions.py
38
23
  orangecontrib/AAIT/llm/translations.py
39
24
  orangecontrib/AAIT/optimiser/__init__.py
40
25
  orangecontrib/AAIT/optimiser/optuna_multi.py
@@ -135,7 +120,6 @@ orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui
135
120
  orangecontrib/AAIT/widgets/designer/owaccumulator.ui
136
121
  orangecontrib/AAIT/widgets/designer/owaddcolumns.ui
137
122
  orangecontrib/AAIT/widgets/designer/owapplyrules.ui
138
- orangecontrib/AAIT/widgets/designer/owchunkanalysis.ui
139
123
  orangecontrib/AAIT/widgets/designer/owchunking.ui
140
124
  orangecontrib/AAIT/widgets/designer/owconcatrules.ui
141
125
  orangecontrib/AAIT/widgets/designer/owconversellm.ui
@@ -199,7 +183,6 @@ orangecontrib/AAIT/widgets/icons/Mistral.png
199
183
  orangecontrib/AAIT/widgets/icons/apply_rules.svg
200
184
  orangecontrib/AAIT/widgets/icons/blue_down_arrow.svg
201
185
  orangecontrib/AAIT/widgets/icons/category.svg
202
- orangecontrib/AAIT/widgets/icons/chunking_analysis.png
203
186
  orangecontrib/AAIT/widgets/icons/dark_green.txt
204
187
  orangecontrib/AAIT/widgets/icons/de.png
205
188
  orangecontrib/AAIT/widgets/icons/document_generator.png
@@ -19,7 +19,7 @@ def open_hide_terminal(command, with_qt=True, env=None):
19
19
  if env is None:
20
20
  env = dict(os.environ)
21
21
  if not with_qt:
22
- if sys.platform.startswith("darwin"):
22
+ if sys.platform.startswith("Darwin") or sys.platform.startswith("darwin"):
23
23
  print("Warning: 'offscreen' mode may not be fully supported on Mac.")
24
24
  else:
25
25
  env['QT_QPA_PLATFORM'] = 'offscreen'
@@ -67,7 +67,7 @@ def open_hide_terminal(command, with_qt=True, env=None):
67
67
  env=env)
68
68
 
69
69
 
70
- elif sys.platform.startswith("darwin"):
70
+ elif sys.platform.startswith("Darwin") or sys.platform.startswith("darwin") :
71
71
  command_chaine = ' '.join(command)
72
72
  if hide_terminal:
73
73
  if with_qt == False:
@@ -111,7 +111,7 @@ def open_terminal(command, with_qt=True, env=None):
111
111
  if env is None:
112
112
  env = dict(os.environ)
113
113
  if not with_qt:
114
- if sys.platform.startswith("darwin"):
114
+ if sys.platform.startswith("Darwin") or sys.platform.startswith("darwin"):
115
115
  print("Warning: 'offscreen' mode may not be fully supported on Mac.")
116
116
  else:
117
117
  env['QT_QPA_PLATFORM'] = 'offscreen'
@@ -145,7 +145,7 @@ def open_terminal(command, with_qt=True, env=None):
145
145
  else:
146
146
  raise RuntimeError("Impossible d'ouvrir le terminal.")
147
147
 
148
- elif sys.platform.startswith("darwin"):
148
+ elif sys.platform.startswith("Darwin") or sys.platform.startswith("darwin"):
149
149
  # macOS: on écrit $$ (PID du shell) dans un fichier, puis on remplace le shell avec exec
150
150
  pidfile = tempfile.NamedTemporaryFile(delete=False)
151
151
  pidfile_path = pidfile.name
@@ -267,7 +267,7 @@ def kill_process_tree(pid):
267
267
  print(f"Tuer enfant PID {child.pid} ({child.name()})")
268
268
  child.kill()
269
269
 
270
- if sys.platform.startswith("darwin"):
270
+ if sys.platform.startswith("Darwin") or sys.platform.startswith("darwin"):
271
271
  # Attendre un peu pour que les enfants meurent proprement
272
272
  gone, alive = psutil.wait_procs(children, timeout=3)
273
273
  for p in alive:
@@ -196,7 +196,7 @@ class OWAAITResourcesManager(widget.OWWidget):
196
196
  QTimer.singleShot(0, self.close)
197
197
  def open_explorer(self):
198
198
  path = MetManagement.get_local_store_path()
199
- if sys.platform.startswith("darwin"):
199
+ if sys.platform.startswith("Darwin") or sys.platform.startswith("darwin"):
200
200
  import subprocess
201
201
  subprocess.run(["open", path])
202
202
  return
@@ -2,7 +2,7 @@ from Orange.widgets import widget
2
2
  import sys
3
3
  import os
4
4
 
5
- from AnyQt.QtWidgets import QApplication
5
+ from AnyQt.QtWidgets import QApplication, QPushButton, QCheckBox
6
6
  from Orange.widgets.utils.signals import Input, Output
7
7
  from Orange.data import Domain, Table
8
8
 
@@ -23,78 +23,89 @@ class OWAccumulator(widget.OWWidget):
23
23
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
24
24
  icon = "icons_dev/owaccumulator.png"
25
25
 
26
- # Le chemin du fichier .ui
27
26
  gui = os.path.join(os.path.dirname(os.path.abspath(__file__)), "designer/owaccumulator.ui")
28
- priority = 1094
29
27
 
30
28
  want_main_area = True
31
- # want_control_area est mis à False pour utiliser l'UI chargée dans mainArea
32
29
  want_control_area = False
33
30
 
34
31
  class Inputs:
35
32
  data = Input("Input Data", Table, auto_summary=False)
33
+ trigger = Input("Trigger", Table, auto_summary=False)
36
34
 
37
35
  class Outputs:
38
36
  sample = Output("Output", Table, auto_summary=False)
39
- preview = Output("Preview", Table, auto_summary=False)
40
37
 
41
38
  def __init__(self):
42
39
  super().__init__()
43
40
 
44
- # --- NOUVEAU : Chargement de l'UI et connexion du bouton ---
45
- # Charge le contenu du .ui dans l'instance du widget (self)
41
+ # --- Chargement du fichier UI ---
46
42
  uic.loadUi(self.gui, self)
47
43
 
48
- # Connexion du bouton 'pushButton_send' défini dans le .ui
49
- self.pushButton_send.clicked.connect(self.push)
44
+ # --- Récupération dynamique des widgets ---
45
+ self.checkBox_send = self.findChild(QCheckBox, 'checkBox_send')
46
+ self.pushButton_send = self.findChild(QPushButton, 'pushButton_send')
50
47
 
51
- # --- Variables d'état ---
48
+ # --- Variables d’état ---
52
49
  self.data = None
53
50
  self.out_data = None
51
+ self.str_auto_send = "True" # valeur par défaut ; peut être persistée via ini
52
+
53
+ # --- Initialisation de la checkbox ---
54
+ if self.checkBox_send is not None:
55
+ # Restauration de l’état précédent
56
+ if self.str_auto_send != "False":
57
+ self.checkBox_send.setChecked(True)
58
+ else:
59
+ self.checkBox_send.setChecked(False)
60
+
61
+ # ✅ Connexion au changement d’état
62
+ self.checkBox_send.stateChanged.connect(self.update_auto_send_state)
63
+
64
+ # --- Connexion du bouton manuel ---
65
+ if self.pushButton_send is not None:
66
+ self.pushButton_send.clicked.connect(self.push)
54
67
 
55
- # --- Appel à post_initialized pour l'alignement ---
56
68
  self.post_initialized()
57
69
 
70
+ def update_auto_send_state(self):
71
+ self.str_auto_send = "True" if self.checkBox_send.isChecked() else "False"
72
+
58
73
  def push(self):
59
74
  """Sends the accumulated data and resets the accumulator."""
60
75
  if self.data is not None:
61
76
  self.out_data = self.data.copy()
62
-
63
- # Send the final output
64
77
  self.Outputs.sample.send(self.out_data)
65
-
66
- # Purge the accumulator
67
- self.data = None
68
- self.Outputs.preview.send(None) # Clear preview after purge
69
- self.information("Data sent and accumulator purged.")
70
78
  else:
71
79
  self.Outputs.sample.send(None)
72
80
  self.warning("Accumulator is empty, nothing to send.")
73
81
 
82
+ @Inputs.trigger
83
+ def on_trigger(self, signal_data):
84
+ """Handles the incoming trigger signal."""
85
+ if self.data is not None:
86
+ self.Outputs.sample.send(self.data.copy())
87
+ self.information("Data sent on trigger.")
88
+ self.data = None
89
+
74
90
  @Inputs.data
75
91
  def set_data(self, dataset):
76
92
  """Accumulates incoming data, merging columns if necessary, with robust variable handling."""
77
93
  self.error("") # Clear previous errors
94
+ self.information("")
78
95
  if dataset is None:
79
- # If input is cleared, clear the preview output
80
- if self.data is not None:
81
- self.data = None
82
- self.Outputs.preview.send(None)
96
+ self.data = None
97
+ self.Outputs.sample.send(None)
83
98
  return
84
99
 
85
- # --- LOGIQUE DE FUSION DES COLONNES (CONSERVÉE) ---
86
-
87
100
  if self.data is None:
88
- # First data block: initialize the accumulator
101
+ # Première table reçue
89
102
  self.data = dataset.copy()
90
-
91
103
  else:
92
104
  try:
93
- # 1. Collecter TOUTES les variables (attributs réguliers + méta) des deux tables
105
+ # Fusion flexible des domaines
94
106
  current_all_vars = self.data.domain.variables + self.data.domain.metas
95
107
  new_all_vars = dataset.domain.variables + dataset.domain.metas
96
108
 
97
- # Utiliser un dictionnaire pour ne conserver qu'une seule variable par nom
98
109
  unique_vars = {}
99
110
  for var in current_all_vars + new_all_vars:
100
111
  if var.name not in unique_vars:
@@ -114,10 +125,8 @@ class OWAccumulator(widget.OWWidget):
114
125
  key=lambda x: x.name)
115
126
  all_metas = sorted([unique_vars[name] for name in all_metas_names], key=lambda x: x.name)
116
127
 
117
- # 4. Créer le nouveau domaine
118
128
  new_domain = Domain(all_vars, metas=all_metas)
119
129
 
120
- # 5. Transform (expand) both tables to the new, common domain
121
130
  data_expanded = self.data.transform(new_domain)
122
131
  dataset_expanded = dataset.transform(new_domain)
123
132
 
@@ -127,13 +136,11 @@ class OWAccumulator(widget.OWWidget):
127
136
  except Exception as e:
128
137
  self.error(f"Data tables could not be aggregated/concatenated. Error: {e}")
129
138
  return
130
- # Send the current accumulated data for preview
131
- self.Outputs.preview.send(self.data)
139
+
140
+ if self.checkBox_send and self.checkBox_send.isChecked():
141
+ self.Outputs.sample.send(self.data)
132
142
 
133
143
  def post_initialized(self):
134
- """
135
- Method for post-initialization tasks, aligned with OWChunker structure.
136
- """
137
144
  pass
138
145
 
139
146
 
@@ -144,4 +151,4 @@ if __name__ == "__main__":
144
151
  if hasattr(app, "exec"):
145
152
  app.exec()
146
153
  else:
147
- app.exec_()
154
+ app.exec_()
@@ -92,10 +92,9 @@ def tokens_to_row(table):
92
92
  for token in tokens:
93
93
  # Duplicate the row's values
94
94
  attrs = list(row) # attribute values
95
- class_vars = list(row.get_class()) if domain.class_vars else []
96
95
  metas = list(row.metas) + [token] # append token as a new meta
97
96
 
98
- new_data_rows.append(attrs + class_vars + metas)
97
+ new_data_rows.append(attrs + metas)
99
98
 
100
99
  # Build and return the new Table
101
100
  return Table.from_list(new_domain, new_data_rows)
@@ -122,10 +121,9 @@ def tokens_to_column(table):
122
121
 
123
122
  # Build row: attributes + class_vars + metas + tokens
124
123
  attrs = list(row)
125
- class_vars = list(row.get_class()) if table.domain.class_vars else []
126
124
  metas = list(row.metas) + padded_tokens
127
125
 
128
- new_data_rows.append(attrs + class_vars + metas)
126
+ new_data_rows.append(attrs + metas)
129
127
 
130
128
  return Table.from_list(new_domain, new_data_rows)
131
129
 
@@ -22,12 +22,14 @@ else:
22
22
 
23
23
 
24
24
  model_names = {
25
+ "Qwen3 1.7B (Q2)": "Qwen3-1.7B-Q2_K_L.gguf",
25
26
  "Qwen3 1.7B": "Qwen3-1.7B-Q6_K.gguf",
26
27
  "Qwen3 4B": "Qwen3-4B-Q4_K_M.gguf",
27
28
  "Qwen3 8B": "Qwen3-8B-Q4_K_M.gguf",
28
29
  "Qwen3 14B": "Qwen3-14B-Q4_K_M.gguf",
29
30
  "Granite4 7B": "granite-4.0-h-tiny-Q4_K_M.gguf",
30
31
  "Phi4 4B": "Phi-4-mini-reasoning-Q4_K_M.gguf",
32
+ "Gemma3 270m": "gemma-3-270m-Q8_0.gguf",
31
33
  "Gemma3 12B": "gemma-3-12b-it-Q4_K_M.gguf",
32
34
  "Deepseek 8B": "DeepSeek-R1-0528-Qwen3-8B-Q4_K_M.gguf"
33
35
  }
@@ -62,7 +62,7 @@
62
62
  </widget>
63
63
  <widget class="QCheckBox" name="checkBox_send">
64
64
  <property name="enabled">
65
- <bool>false</bool>
65
+ <bool>true</bool>
66
66
  </property>
67
67
  <property name="geometry">
68
68
  <rect>
@@ -70,11 +70,16 @@
70
70
  </rect>
71
71
  </property>
72
72
  <property name="currentText">
73
- <string>Qwen3 1.7B</string>
73
+ <string>Qwen3 1.7B (Q2)</string>
74
74
  </property>
75
75
  <property name="minimumContentsLength">
76
76
  <number>0</number>
77
77
  </property>
78
+ <item>
79
+ <property name="text">
80
+ <string>Qwen3 1.7B (Q2)</string>
81
+ </property>
82
+ </item>
78
83
  <item>
79
84
  <property name="text">
80
85
  <string>Qwen3 1.7B</string>
@@ -105,6 +110,11 @@
105
110
  <string>Phi4 4B</string>
106
111
  </property>
107
112
  </item>
113
+ <item>
114
+ <property name="text">
115
+ <string>Gemma3 270m</string>
116
+ </property>
117
+ </item>
108
118
  <item>
109
119
  <property name="text">
110
120
  <string>Gemma3 12B</string>
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
+ <svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
4
+ viewBox="0 0 32 32" xml:space="preserve">
5
+ <path id="machine--learning--03_1_" d="M29.36,15.695v-3.389c0.575-0.159,1-0.681,1-1.305c0-0.75-0.61-1.36-1.36-1.36
6
+ c-0.191,0-0.372,0.04-0.537,0.111l-2.365-2.956C26.261,6.572,26.36,6.298,26.36,6c0-0.75-0.61-1.36-1.36-1.36
7
+ c-0.401,0-0.758,0.177-1.007,0.454l-3.659-1.83C20.351,3.179,20.36,3.091,20.36,3c0-0.75-0.61-1.36-1.36-1.36
8
+ c-0.625,0-1.147,0.425-1.306,1h-4.389c-0.159-0.575-0.681-1-1.305-1c-0.75,0-1.36,0.61-1.36,1.36c0,0.091,0.01,0.179,0.027,0.264
9
+ l-2.66,1.33C7.758,4.318,7.401,4.14,7,4.14c-0.75,0-1.36,0.61-1.36,1.36c0,0.273,0.082,0.526,0.221,0.739L3.598,8.785
10
+ C3.417,8.695,3.216,8.64,3,8.64c-0.75,0-1.36,0.61-1.36,1.36c0,0.625,0.425,1.146,1,1.305v3.389c-0.575,0.159-1,0.681-1,1.305
11
+ c0,0.75,0.61,1.36,1.36,1.36c0.546,0,1.014-0.325,1.231-0.791l3.424,0.571C7.726,17.824,8.298,18.36,9,18.36
12
+ c0.091,0,0.179-0.01,0.264-0.027l0.83,1.659C9.818,20.242,9.64,20.599,9.64,21c0,0.75,0.61,1.36,1.36,1.36
13
+ c0.47,0,0.885-0.24,1.13-0.604l3.518,1.173C15.646,22.953,15.64,22.976,15.64,23c0,0.625,0.425,1.147,1,1.306v3.388
14
+ c-0.575,0.159-1,0.681-1,1.306c0,0.75,0.61,1.36,1.36,1.36s1.36-0.61,1.36-1.36c0-0.624-0.425-1.147-1-1.306v-3.389
15
+ c0.575-0.159,1-0.681,1-1.306c0-0.452-0.224-0.85-0.564-1.098l0.682-1.82l3.163,0.904c0,0.005-0.001,0.01-0.001,0.015
16
+ c0,0.624,0.425,1.147,1,1.306v5.389c-0.575,0.159-1,0.681-1,1.306c0,0.75,0.61,1.36,1.36,1.36s1.36-0.61,1.36-1.36
17
+ c0-0.624-0.425-1.147-1-1.306v-5.389c0.575-0.159,1-0.681,1-1.306c0-0.149-0.03-0.29-0.074-0.424l3.828-2.553
18
+ C28.353,18.231,28.66,18.36,29,18.36c0.75,0,1.36-0.61,1.36-1.36C30.36,16.376,29.935,15.854,29.36,15.695z M21.354,14.932
19
+ c-0.002-0.045-0.007-0.09-0.014-0.134l3.049-1.355l3.313,2.899L21.354,14.932z M20,15.64c-0.353,0-0.64-0.287-0.64-0.64
20
+ s0.287-0.64,0.64-0.64s0.64,0.287,0.64,0.64S20.353,15.64,20,15.64z M20,13.64c-0.75,0-1.36,0.61-1.36,1.36
21
+ c0,0.452,0.224,0.85,0.564,1.097l-1.166,3.11l-1.902-0.543l-1.465-5.126l5.463-3.756l0.628,0.489l3.028,2.65l-2.745,1.22
22
+ C20.796,13.838,20.423,13.64,20,13.64z M9.131,15.653L8.122,9.85l3.612-0.361V9.485C11.93,9.995,12.421,10.36,13,10.36
23
+ c0.005,0,0.009-0.001,0.014-0.001l0.823,2.879l-3.966,2.726C9.666,15.792,9.412,15.681,9.131,15.653z M13,9.64
24
+ c-0.353,0-0.64-0.287-0.64-0.64S12.647,8.36,13,8.36S13.64,8.647,13.64,9S13.353,9.64,13,9.64z M10.28,16.557l3.765-2.589
25
+ l1.275,4.463l-4.962-1.418c0-0.005,0.001-0.009,0.001-0.014C10.36,16.844,10.328,16.697,10.28,16.557z M24.129,7.036
26
+ C24.366,7.235,24.667,7.36,25,7.36c0.191,0,0.372-0.04,0.537-0.111l2.365,2.955C27.739,10.428,27.64,10.702,27.64,11
27
+ c0,0.069,0.01,0.135,0.02,0.201l-3.144,1.397l-3.295-2.883l-0.464-0.361L24.129,7.036z M28.251,15.866l-3.138-2.745l2.841-1.262
28
+ c0.176,0.213,0.412,0.371,0.686,0.446v3.389C28.501,15.733,28.369,15.789,28.251,15.866z M29.64,11c0,0.353-0.287,0.64-0.64,0.64
29
+ s-0.64-0.287-0.64-0.64s0.287-0.64,0.64-0.64S29.64,10.647,29.64,11z M25,5.36c0.353,0,0.64,0.287,0.64,0.64S25.353,6.64,25,6.64
30
+ S24.36,6.353,24.36,6S24.647,5.36,25,5.36z M19,2.36c0.353,0,0.64,0.287,0.64,0.64S19.353,3.64,19,3.64S18.36,3.353,18.36,3
31
+ S18.647,2.36,19,2.36z M19,4.36c0.401,0,0.758-0.177,1.007-0.454l3.659,1.83C23.649,5.821,23.64,5.909,23.64,6
32
+ c0,0.156,0.032,0.303,0.08,0.443l-3.56,2.448l-6.904-5.37c0.021-0.051,0.035-0.106,0.05-0.161h4.389
33
+ C17.853,3.935,18.375,4.36,19,4.36z M12,2.36c0.353,0,0.64,0.287,0.64,0.64S12.353,3.64,12,3.64S11.36,3.353,11.36,3
34
+ S11.647,2.36,12,2.36z M10.993,3.906C11.242,4.182,11.599,4.36,12,4.36c0.304,0,0.583-0.104,0.81-0.274l6.728,5.232l-5.075,3.489
35
+ l-0.757-2.65C14.096,9.918,14.36,9.491,14.36,9c0-0.75-0.61-1.36-1.36-1.36c-0.673,0-1.229,0.492-1.337,1.135V8.772L7.998,9.138
36
+ l-0.42-2.412C8.039,6.508,8.36,6.042,8.36,5.5c0-0.091-0.01-0.179-0.027-0.264L10.993,3.906z M4.265,9.511
37
+ C4.231,9.423,4.19,9.339,4.139,9.261l2.263-2.546c0.143,0.071,0.3,0.115,0.467,0.132L7.28,9.21L4.265,9.511z M7,4.86
38
+ c0.353,0,0.64,0.287,0.64,0.64S7.353,6.14,7,6.14S6.36,5.853,6.36,5.5S6.647,4.86,7,4.86z M2.36,10c0-0.353,0.287-0.64,0.64-0.64
39
+ S3.64,9.647,3.64,10S3.353,10.64,3,10.64S2.36,10.353,2.36,10z M3,16.64c-0.353,0-0.64-0.287-0.64-0.64S2.647,15.36,3,15.36
40
+ S3.64,15.647,3.64,16C3.64,16.353,3.353,16.64,3,16.64z M7.769,16.43l-3.424-0.571c-0.059-0.561-0.455-1.018-0.986-1.165v-3.389
41
+ c0.503-0.139,0.888-0.556,0.977-1.077l3.067-0.307l1.018,5.853C8.135,15.91,7.904,16.142,7.769,16.43z M8.36,17
42
+ c0-0.353,0.287-0.64,0.64-0.64S9.64,16.647,9.64,17S9.353,17.64,9,17.64S8.36,17.353,8.36,17z M11,21.64
43
+ c-0.353,0-0.64-0.287-0.64-0.64s0.287-0.64,0.64-0.64s0.64,0.287,0.64,0.64S11.353,21.64,11,21.64z M12.353,21.071
44
+ c0.001-0.024,0.007-0.047,0.007-0.071c0-0.75-0.61-1.36-1.36-1.36c-0.091,0-0.179,0.01-0.264,0.027l-0.83-1.659
45
+ c0.098-0.088,0.182-0.189,0.251-0.302l5.396,1.541l0.742,2.596c-0.168,0.103-0.315,0.238-0.425,0.402L12.353,21.071z M17.64,29
46
+ c0,0.353-0.287,0.64-0.64,0.64c-0.353,0-0.64-0.287-0.64-0.64s0.287-0.64,0.64-0.64C17.353,28.36,17.64,28.647,17.64,29z M17,23.64
47
+ c-0.353,0-0.64-0.287-0.64-0.64s0.287-0.64,0.64-0.64c0.353,0,0.64,0.287,0.64,0.64S17.353,23.64,17,23.64z M17.121,21.652
48
+ C17.08,21.648,17.041,21.64,17,21.64c-0.005,0-0.009,0.001-0.014,0.001l-0.618-2.162l1.416,0.404L17.121,21.652z M18.732,19.406
49
+ l1.147-3.059c0.041,0.004,0.08,0.012,0.121,0.012c0.519,0,0.967-0.296,1.196-0.725l6.451,1.433c0.006,0.124,0.03,0.243,0.068,0.356
50
+ l-3.828,2.553C23.647,19.769,23.34,19.64,23,19.64c-0.491,0-0.918,0.264-1.158,0.655L18.732,19.406z M23.64,29
51
+ c0,0.353-0.287,0.64-0.64,0.64s-0.64-0.287-0.64-0.64s0.287-0.64,0.64-0.64S23.64,28.647,23.64,29z M23,21.64
52
+ c-0.353,0-0.64-0.287-0.64-0.64s0.287-0.64,0.64-0.64s0.64,0.287,0.64,0.64S23.353,21.64,23,21.64z M29,17.64
53
+ c-0.353,0-0.64-0.287-0.64-0.64c0-0.353,0.287-0.64,0.64-0.64s0.64,0.287,0.64,0.64C29.64,17.353,29.353,17.64,29,17.64z"/>
54
+ <rect id="_Transparent_Rectangle" style="fill:none;" width="32" height="32"/>
55
+ </svg>
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
4
4
  NAME = "aait"
5
5
 
6
6
  # Version du package PyPI
7
- VERSION = "2.3.8.2" # la version doit être supérieure à la précédente sinon la publication sera refusée
7
+ VERSION = "2.3.9" # la version doit être supérieure à la précédente sinon la publication sera refusée
8
8
 
9
9
  # Facultatif / Adaptable à souhait
10
10
  AUTHOR = "Orange community"
aait-2.3.8.2/PKG-INFO DELETED
@@ -1,28 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: aait
3
- Version: 2.3.8.2
4
- Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
- Home-page:
6
- Author: Orange community
7
- Author-email:
8
- Keywords: orange3 add-on
9
- License-File: License.txt
10
- Requires-Dist: torch
11
- Requires-Dist: sentence-transformers==5.0.0
12
- Requires-Dist: gpt4all[all]==2.8.2
13
- Requires-Dist: sacremoses==0.1.1
14
- Requires-Dist: transformers==4.51.3
15
- Requires-Dist: sentencepiece==0.2.0
16
- Requires-Dist: optuna
17
- Requires-Dist: spacy==3.7.6
18
- Requires-Dist: markdown
19
- Requires-Dist: python-multipart
20
- Requires-Dist: PyMuPDF==1.24.14
21
- Requires-Dist: chonkie==0.4.1
22
- Requires-Dist: GPUtil==1.4.0
23
- Requires-Dist: unidecode==1.3.8
24
- Requires-Dist: python-docx==1.1.2
25
- Requires-Dist: psutil
26
- Requires-Dist: thefuzz==0.22.1
27
- Requires-Dist: beautifulsoup4==4.12.3
28
- Requires-Dist: CATEGORIT
@@ -1,28 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: aait
3
- Version: 2.3.8.2
4
- Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
- Home-page:
6
- Author: Orange community
7
- Author-email:
8
- Keywords: orange3 add-on
9
- License-File: License.txt
10
- Requires-Dist: torch
11
- Requires-Dist: sentence-transformers==5.0.0
12
- Requires-Dist: gpt4all[all]==2.8.2
13
- Requires-Dist: sacremoses==0.1.1
14
- Requires-Dist: transformers==4.51.3
15
- Requires-Dist: sentencepiece==0.2.0
16
- Requires-Dist: optuna
17
- Requires-Dist: spacy==3.7.6
18
- Requires-Dist: markdown
19
- Requires-Dist: python-multipart
20
- Requires-Dist: PyMuPDF==1.24.14
21
- Requires-Dist: chonkie==0.4.1
22
- Requires-Dist: GPUtil==1.4.0
23
- Requires-Dist: unidecode==1.3.8
24
- Requires-Dist: python-docx==1.1.2
25
- Requires-Dist: psutil
26
- Requires-Dist: thefuzz==0.22.1
27
- Requires-Dist: beautifulsoup4==4.12.3
28
- Requires-Dist: CATEGORIT
@@ -1,79 +0,0 @@
1
- from transformers import AutoModelForCausalLM, AutoTokenizer
2
- from peft import PeftModel
3
- import torch
4
-
5
- # Check GPU usage
6
- device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
7
- print(f"Using device: {device}")
8
-
9
- # Paths
10
- base_model_path = r"C:\Users\lucas\aait_store\Models\NLP\Chocolatine-3B-Instruct"
11
- lora_adapter_path = r"C:\Users\lucas\AppData\Local\Programs\Orange_dev\Lib\results\checkpoint-15525"
12
- merged_model_output_path = r"C:\Users\lucas\merged_model"
13
-
14
- # Clean the output directory (if needed)
15
- import shutil, os
16
- if os.path.exists(merged_model_output_path):
17
- shutil.rmtree(merged_model_output_path)
18
- os.makedirs(merged_model_output_path, exist_ok=True)
19
-
20
- # Load the base model
21
- base_model = AutoModelForCausalLM.from_pretrained(base_model_path, torch_dtype=torch.float16)
22
-
23
- # Load the LoRA adapter
24
- lora_model = PeftModel.from_pretrained(base_model, lora_adapter_path)
25
-
26
- # Merge LoRA weights into the base model
27
- lora_model.merge_and_unload()
28
-
29
- # Save only the merged base model
30
- base_model.save_pretrained(merged_model_output_path)
31
-
32
- # Save the tokenizer
33
- tokenizer = AutoTokenizer.from_pretrained(base_model_path)
34
- tokenizer.save_pretrained(merged_model_output_path)
35
-
36
- print(f"Merged model saved to {merged_model_output_path}")
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
- # # Test function to evaluate before and after fine-tuning
46
- # def test_model(model, tokenizer, test_queries):
47
- # model.eval() # Set the model to evaluation mode
48
- # for query in test_queries:
49
- # prompt = f"### User: {query}\n\n### Assistant:"
50
- #
51
- # # Move input_ids to the appropriate device
52
- # input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
53
- #
54
- # # Generate output on the GPU
55
- # output = model.generate(input_ids, max_length=400, temperature=0, top_p=0)
56
- #
57
- # # Decode the response
58
- # response = tokenizer.decode(output[0], skip_special_tokens=True)
59
- # response = response.replace(prompt, "")
60
- #
61
- # print(f"Query: {query}")
62
- # print(f"Response: {response}\n")
63
- # print("#############")
64
-
65
-
66
- # # Move the model to GPU
67
- # base_model.to(device)
68
- #
69
- # # Test model before fine-tuning
70
- # print("Testing model before fine-tuning:")
71
- # test_queries = [
72
- # "Pour l'hélicoptère FAMA K209M, quelles sont les vitesses recommandées pour : le décollage, l'autorotation, et la vitesse d'approche ?",
73
- # "Pour l'hélicoptère FAMA K209M, quelles sont les étapes de l'autorotation avec remise de puissance ?",
74
- # "Pour l'hélicoptère FAMA K209M, quelles sont les étapes pour le remplacement du filtre à huile de turbine ?",
75
- # "Pour l'hélicoptère FAMA K209M, quelles sont les mesures à prendre en cas d'incendie ?",
76
- # "Quelle est la référence de l'huile moteur de l'hélicoptère FAMA K209M ?"
77
- # ]
78
- # test_model(base_model, tokenizer, test_queries)
79
-
@@ -1,17 +0,0 @@
1
- import subprocess
2
-
3
-
4
- workflow_key = "Acuity_RAG"
5
-
6
-
7
- # Step 1: Start the workflow
8
- start_command = [
9
- "curl",
10
- "-X", "GET",
11
- f"http://localhost:8000/kill-process/{workflow_key}",
12
- "-H", "accept: application/json"
13
- ]
14
-
15
- start_result = subprocess.run(start_command, capture_output=True, text=True)
16
- print("Start Workflow - Status Code:", start_result.returncode)
17
- print("Start Workflow - Output:", start_result.stdout)
@@ -1,73 +0,0 @@
1
- import subprocess
2
- import json
3
- import time
4
-
5
- # Step 1: Start workflow (once --> other script)
6
-
7
-
8
- # Step 2: Send input data
9
- question = "Qu'est-ce qu'un millésime ?"
10
- workflow_id = "Acuity.ows"
11
- input_id = "chatbotInput1"
12
-
13
- payload = {
14
- "workflow_id": workflow_id,
15
- "data": [
16
- {
17
- "num_input": input_id,
18
- "values": [
19
- ["content"],
20
- ["str"],
21
- [[question]]
22
- ]
23
- }
24
- ]
25
- }
26
-
27
- json_data = json.dumps(payload)
28
- escaped_json = json_data.replace('"', '\\"') # Escape quotes for shell
29
-
30
- input_command = f"""curl --location "http://127.0.0.1:8000/input-workflow" \
31
- --header "Content-Type: application/json" \
32
- --data "{escaped_json}" """
33
-
34
- input_result = subprocess.run(input_command, shell=True, capture_output=True, text=True)
35
- print("\nSend Input - STDOUT:\n", input_result.stdout)
36
- print("Send Input - STDERR:\n", input_result.stderr)
37
- print("Send Input - Return Code:", input_result.returncode)
38
-
39
-
40
-
41
-
42
-
43
- # Step 3: Poke the workflow to get the progress / results
44
- print("\nWaiting for workflow to complete...")
45
- output_command = ["curl", "--location", "http://127.0.0.1:8000/output-workflow"]
46
- timeout = 30
47
- k = 0
48
- while k < 30:
49
- output_result = subprocess.run(output_command, capture_output=True)
50
- stdout_utf8 = output_result.stdout.decode("utf-8")
51
- parsed_response = json.loads(stdout_utf8)
52
- if parsed_response["_result"] is None:
53
- print("Progress:", parsed_response["_statut"])
54
- else:
55
- break
56
- time.sleep(1)
57
- k += 1
58
- print("\nRaw Output:\n", stdout_utf8, " - Type:", type(stdout_utf8))
59
-
60
-
61
-
62
-
63
-
64
- # Step 4: Parse and get the results
65
- try:
66
- parsed_response = json.loads(stdout_utf8)
67
- print("\nParsed Response:\n", parsed_response, " - Type:", type(parsed_response))
68
- answer = parsed_response["_result"][0]["content"]
69
- print("\nAnswer:", answer)
70
- except json.JSONDecodeError as e:
71
- print("Failed to parse JSON:", e)
72
- except (KeyError, IndexError) as e:
73
- print("Unexpected response structure:", e)