AAIT 2.2.2.2__tar.gz → 2.2.6__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 (288) hide show
  1. {aait-2.2.2.2 → aait-2.2.6}/PKG-INFO +1 -1
  2. {aait-2.2.2.2 → aait-2.2.6}/aait.egg-info/PKG-INFO +1 -1
  3. {aait-2.2.2.2 → aait-2.2.6}/aait.egg-info/SOURCES.txt +15 -0
  4. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/answers.py +50 -41
  5. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/process_documents.py +58 -5
  6. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/MetManagement.py +13 -0
  7. aait-2.2.6/orangecontrib/AAIT/utils/base_widget.py +173 -0
  8. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/windows_utils.py +158 -114
  9. aait-2.2.6/orangecontrib/AAIT/widgets/OWAccumulator.py +147 -0
  10. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWDisplayMD.py +8 -13
  11. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWEditTable.py +2 -2
  12. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWEmptySwitch.py +0 -1
  13. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWExecuteScript.py +62 -34
  14. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWFileMetadata.py +32 -33
  15. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWFileSyncChecker.py +9 -9
  16. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWFileWithPath.py +5 -6
  17. aait-2.2.6/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +335 -0
  18. aait-2.2.6/orangecontrib/AAIT/widgets/OWFusionNM.py +410 -0
  19. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +3 -3
  20. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWKeywords.py +5 -1
  21. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWKeywordsDetection.py +5 -1
  22. aait-2.2.6/orangecontrib/AAIT/widgets/OWLoadDocuments.py +125 -0
  23. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +4 -1
  24. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWQueryLLM.py +3 -3
  25. aait-2.2.6/orangecontrib/AAIT/widgets/OWSortAndSelect.py +194 -0
  26. aait-2.2.6/orangecontrib/AAIT/widgets/designer/owaccumulator.ui +83 -0
  27. aait-2.2.6/orangecontrib/AAIT/widgets/designer/owchunkanalysis.ui +64 -0
  28. aait-2.2.6/orangecontrib/AAIT/widgets/designer/owexecutescript_TEST.ui +210 -0
  29. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +14 -1
  30. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +77 -6
  31. aait-2.2.6/orangecontrib/AAIT/widgets/designer/owllm4all.ui +54 -0
  32. aait-2.2.6/orangecontrib/AAIT/widgets/designer/owloaddocuments.ui +86 -0
  33. aait-2.2.6/orangecontrib/AAIT/widgets/designer/owsortandselect.ui +204 -0
  34. aait-2.2.6/orangecontrib/AAIT/widgets/icons/chunking_analysis.png +0 -0
  35. aait-2.2.6/orangecontrib/AAIT/widgets/icons/edge_llm.svg +6 -0
  36. aait-2.2.6/orangecontrib/AAIT/widgets/icons/owaccumulator.png +0 -0
  37. aait-2.2.6/orangecontrib/AAIT/widgets/icons/owloaddocuments.svg +52 -0
  38. aait-2.2.6/orangecontrib/AAIT/widgets/icons/owsortandselect.svg +6 -0
  39. {aait-2.2.2.2 → aait-2.2.6}/setup.py +1 -1
  40. aait-2.2.2.2/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +0 -161
  41. aait-2.2.2.2/orangecontrib/AAIT/widgets/OWFusionNM.py +0 -450
  42. {aait-2.2.2.2 → aait-2.2.6}/License.txt +0 -0
  43. {aait-2.2.2.2 → aait-2.2.6}/aait.egg-info/dependency_links.txt +0 -0
  44. {aait-2.2.2.2 → aait-2.2.6}/aait.egg-info/entry_points.txt +0 -0
  45. {aait-2.2.2.2 → aait-2.2.6}/aait.egg-info/namespace_packages.txt +0 -0
  46. {aait-2.2.2.2 → aait-2.2.6}/aait.egg-info/requires.txt +0 -0
  47. {aait-2.2.2.2 → aait-2.2.6}/aait.egg-info/top_level.txt +0 -0
  48. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/__init__.py +0 -0
  49. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/SignalReceiver.py +0 -0
  50. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/__init__.py +0 -0
  51. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/audit_widget.py +0 -0
  52. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (2).TIF +0 -0
  53. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (3).TIF +0 -0
  54. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (4).TIF +0 -0
  55. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0001.csv +0 -0
  56. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0002.csv +0 -0
  57. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0003.csv +0 -0
  58. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/dynamic_results.py +0 -0
  59. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/test_all_widgets.py +0 -0
  60. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/test_server.py +0 -0
  61. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_4all.py +0 -0
  62. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_chunking.py +0 -0
  63. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_edit_table.py +0 -0
  64. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_mpnet_create_embeddings.py +0 -0
  65. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_optimisation.py +0 -0
  66. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_optimisationselection.py +0 -0
  67. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_powfactory.py +0 -0
  68. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_queryllm.py +0 -0
  69. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_spacy_md_fr_lemmatizer.py +0 -0
  70. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widget_traduction.py +0 -0
  71. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/audit_widget/widgets_model.py +0 -0
  72. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/encapsulation/__init__.py +0 -0
  73. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
  74. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
  75. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/MergeBaseLora.py +0 -0
  76. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/SERV_kill_workflow.py +0 -0
  77. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/SERV_requests.py +0 -0
  78. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/SERV_start_workflow.py +0 -0
  79. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/Tutorial_Finetuning.py +0 -0
  80. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/Tutorial_TestFinetuning.py +0 -0
  81. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/__init__.py +0 -0
  82. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/chunking.py +0 -0
  83. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/embeddings.py +0 -0
  84. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/finetuning.py +0 -0
  85. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/functions_DatasetGeneration.py +0 -0
  86. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/functions_Finetuning.py +0 -0
  87. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/lemmes.py +0 -0
  88. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
  89. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/main_DatasetGeneration.py +0 -0
  90. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/main_Finetuning.py +0 -0
  91. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
  92. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/quickpy.py +0 -0
  93. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/test.py +0 -0
  94. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/test_functions.py +0 -0
  95. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/llm/translations.py +0 -0
  96. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
  97. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
  98. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/CheckMetaData.py +0 -0
  99. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
  100. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/__init__.py +0 -0
  101. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
  102. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/check_data_in.py +0 -0
  103. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
  104. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/import_uic.py +0 -0
  105. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
  106. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/mac_utils.py +0 -0
  107. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
  108. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
  109. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/subprocess_management.py +0 -0
  110. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/thread_management.py +0 -0
  111. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
  112. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
  113. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
  114. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
  115. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
  116. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -0
  117. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWAddColumns.py +0 -0
  118. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
  119. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
  120. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
  121. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
  122. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
  123. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
  124. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
  125. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
  126. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWExtractTokens.py +0 -0
  127. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
  128. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWGenerateWord.py +0 -0
  129. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
  130. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
  131. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
  132. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
  133. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +0 -0
  134. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
  135. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
  136. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
  137. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
  138. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
  139. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
  140. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +0 -0
  141. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
  142. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
  143. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
  144. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
  145. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
  146. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
  147. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
  148. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
  149. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
  150. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
  151. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
  152. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
  153. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
  154. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +0 -0
  155. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py +0 -0
  156. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -0
  157. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
  158. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
  159. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
  160. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
  161. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -0
  162. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
  163. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/__init__.py +0 -0
  164. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
  165. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
  166. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
  167. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owaddcolumns.ui +0 -0
  168. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
  169. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
  170. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
  171. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
  172. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
  173. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owemptyswitch.ui +0 -0
  174. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
  175. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
  176. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
  177. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owfilemetadata.ui +0 -0
  178. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owfilesyncchecker.ui +0 -0
  179. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
  180. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owfusion_nm.ui +0 -0
  181. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owgenerate_word.ui +0 -0
  182. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
  183. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
  184. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
  185. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui +0 -0
  186. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
  187. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
  188. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
  189. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
  190. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
  191. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
  192. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
  193. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
  194. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
  195. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
  196. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_2.5_32b.ui +0 -0
  197. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_1.5b_q6.ui +0 -0
  198. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_3b_q4.ui +0 -0
  199. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q4.ui +0 -0
  200. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q6.ui +0 -0
  201. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_qwencoder_7b.ui +0 -0
  202. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
  203. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
  204. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
  205. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
  206. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
  207. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
  208. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
  209. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
  210. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owsavewithpath.ui +0 -0
  211. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owselect_column_dynamic.ui +0 -0
  212. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owselect_row_dynamic.ui +0 -0
  213. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
  214. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
  215. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
  216. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
  217. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -0
  218. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
  219. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
  220. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
  221. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
  222. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
  223. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
  224. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
  225. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/document_generator.png +0 -0
  226. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
  227. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
  228. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
  229. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
  230. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
  231. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
  232. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
  233. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
  234. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
  235. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
  236. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
  237. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
  238. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
  239. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
  240. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
  241. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
  242. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
  243. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
  244. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
  245. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
  246. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
  247. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
  248. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
  249. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
  250. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owemptyswitch.svg +0 -0
  251. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owenvinfo.png +0 -0
  252. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
  253. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
  254. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owfilemetadata.svg +0 -0
  255. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -0
  256. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owfilesyncchecker.svg +0 -0
  257. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
  258. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owfusion_nm.png +0 -0
  259. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
  260. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
  261. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owkeywords.png +0 -0
  262. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owkeywordsdetection.png +0 -0
  263. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
  264. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
  265. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
  266. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
  267. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
  268. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
  269. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
  270. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
  271. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
  272. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
  273. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
  274. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
  275. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
  276. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owselectcolumndynamique.png +0 -0
  277. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
  278. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
  279. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
  280. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
  281. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
  282. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
  283. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
  284. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
  285. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
  286. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/AAIT/widgets/icons/zip.svg +0 -0
  287. {aait-2.2.2.2 → aait-2.2.6}/orangecontrib/__init__.py +0 -0
  288. {aait-2.2.2.2 → aait-2.2.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aait
3
- Version: 2.2.2.2
3
+ Version: 2.2.6
4
4
  Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
5
  Home-page:
6
6
  Author: Orange community
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aait
3
- Version: 2.2.2.2
3
+ Version: 2.2.6
4
4
  Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
5
  Home-page:
6
6
  Author: Orange community
@@ -66,6 +66,7 @@ orangecontrib/AAIT/utils/MetManagement.py
66
66
  orangecontrib/AAIT/utils/SimpleDialogQt.py
67
67
  orangecontrib/AAIT/utils/__init__.py
68
68
  orangecontrib/AAIT/utils/aait_repo_file.py
69
+ orangecontrib/AAIT/utils/base_widget.py
69
70
  orangecontrib/AAIT/utils/check_data_in.py
70
71
  orangecontrib/AAIT/utils/delta_local_shared_fodler.py
71
72
  orangecontrib/AAIT/utils/import_uic.py
@@ -82,6 +83,7 @@ orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py
82
83
  orangecontrib/AAIT/utils/tools/first_time_check.py
83
84
  orangecontrib/AAIT/utils/tools/owcorpus_ok.txt
84
85
  orangecontrib/AAIT/widgets/OWAAITResourcesManager.py
86
+ orangecontrib/AAIT/widgets/OWAccumulator.py
85
87
  orangecontrib/AAIT/widgets/OWAddColumns.py
86
88
  orangecontrib/AAIT/widgets/OWApplyRules.py
87
89
  orangecontrib/AAIT/widgets/OWCN2rule_view.py
@@ -110,6 +112,7 @@ orangecontrib/AAIT/widgets/OWKeywordsDetection.py
110
112
  orangecontrib/AAIT/widgets/OWLMStudio.py
111
113
  orangecontrib/AAIT/widgets/OWLanguageDetection.py
112
114
  orangecontrib/AAIT/widgets/OWLemmatizer.py
115
+ orangecontrib/AAIT/widgets/OWLoadDocuments.py
113
116
  orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py
114
117
  orangecontrib/AAIT/widgets/OWModel_Falcon.py
115
118
  orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py
@@ -136,6 +139,7 @@ orangecontrib/AAIT/widgets/OWReranking.py
136
139
  orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py
137
140
  orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py
138
141
  orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py
142
+ orangecontrib/AAIT/widgets/OWSortAndSelect.py
139
143
  orangecontrib/AAIT/widgets/OWStartLoop.py
140
144
  orangecontrib/AAIT/widgets/OWTable2Corpus.py
141
145
  orangecontrib/AAIT/widgets/OWTranslation.py
@@ -146,8 +150,10 @@ orangecontrib/AAIT/widgets/__init__.py
146
150
  orangecontrib/AAIT/widgets/designer/owMarkdown.ui
147
151
  orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui
148
152
  orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui
153
+ orangecontrib/AAIT/widgets/designer/owaccumulator.ui
149
154
  orangecontrib/AAIT/widgets/designer/owaddcolumns.ui
150
155
  orangecontrib/AAIT/widgets/designer/owapplyrules.ui
156
+ orangecontrib/AAIT/widgets/designer/owchunkanalysis.ui
151
157
  orangecontrib/AAIT/widgets/designer/owchunking.ui
152
158
  orangecontrib/AAIT/widgets/designer/owconcatrules.ui
153
159
  orangecontrib/AAIT/widgets/designer/owconversellm.ui
@@ -155,6 +161,7 @@ orangecontrib/AAIT/widgets/designer/owembeddings.ui
155
161
  orangecontrib/AAIT/widgets/designer/owemptyswitch.ui
156
162
  orangecontrib/AAIT/widgets/designer/owendloop.ui
157
163
  orangecontrib/AAIT/widgets/designer/owexecutescript.ui
164
+ orangecontrib/AAIT/widgets/designer/owexecutescript_TEST.ui
158
165
  orangecontrib/AAIT/widgets/designer/owextrachunks.ui
159
166
  orangecontrib/AAIT/widgets/designer/owextracttokens.ui
160
167
  orangecontrib/AAIT/widgets/designer/owfilemetadata.ui
@@ -169,6 +176,8 @@ orangecontrib/AAIT/widgets/designer/owkeyword.ui
169
176
  orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui
170
177
  orangecontrib/AAIT/widgets/designer/owlangdetect.ui
171
178
  orangecontrib/AAIT/widgets/designer/owlemmatizer.ui
179
+ orangecontrib/AAIT/widgets/designer/owllm4all.ui
180
+ orangecontrib/AAIT/widgets/designer/owloaddocuments.ui
172
181
  orangecontrib/AAIT/widgets/designer/owloadworkflow.ui
173
182
  orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui
174
183
  orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui
@@ -194,6 +203,7 @@ orangecontrib/AAIT/widgets/designer/owreranking.ui
194
203
  orangecontrib/AAIT/widgets/designer/owsavewithpath.ui
195
204
  orangecontrib/AAIT/widgets/designer/owselect_column_dynamic.ui
196
205
  orangecontrib/AAIT/widgets/designer/owselect_row_dynamic.ui
206
+ orangecontrib/AAIT/widgets/designer/owsortandselect.ui
197
207
  orangecontrib/AAIT/widgets/designer/owstartloop.ui
198
208
  orangecontrib/AAIT/widgets/designer/owtable2corpus.ui
199
209
  orangecontrib/AAIT/widgets/designer/owtranslation.ui
@@ -204,10 +214,12 @@ orangecontrib/AAIT/widgets/icons/MDViewer.png
204
214
  orangecontrib/AAIT/widgets/icons/Mistral.png
205
215
  orangecontrib/AAIT/widgets/icons/apply_rules.svg
206
216
  orangecontrib/AAIT/widgets/icons/category.svg
217
+ orangecontrib/AAIT/widgets/icons/chunking_analysis.png
207
218
  orangecontrib/AAIT/widgets/icons/dark_green.txt
208
219
  orangecontrib/AAIT/widgets/icons/de.png
209
220
  orangecontrib/AAIT/widgets/icons/document_generator.png
210
221
  orangecontrib/AAIT/widgets/icons/documents.png
222
+ orangecontrib/AAIT/widgets/icons/edge_llm.svg
211
223
  orangecontrib/AAIT/widgets/icons/endloop.png
212
224
  orangecontrib/AAIT/widgets/icons/extra_chunks.png
213
225
  orangecontrib/AAIT/widgets/icons/in_or_out.png
@@ -227,6 +239,7 @@ orangecontrib/AAIT/widgets/icons/optimisation.png
227
239
  orangecontrib/AAIT/widgets/icons/optimizer.png
228
240
  orangecontrib/AAIT/widgets/icons/output.png
229
241
  orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg
242
+ orangecontrib/AAIT/widgets/icons/owaccumulator.png
230
243
  orangecontrib/AAIT/widgets/icons/owchunking.png
231
244
  orangecontrib/AAIT/widgets/icons/owconversellm.svg
232
245
  orangecontrib/AAIT/widgets/icons/owedittable.svg
@@ -245,6 +258,7 @@ orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png
245
258
  orangecontrib/AAIT/widgets/icons/owkeywords.png
246
259
  orangecontrib/AAIT/widgets/icons/owkeywordsdetection.png
247
260
  orangecontrib/AAIT/widgets/icons/owlemmatizer.svg
261
+ orangecontrib/AAIT/widgets/icons/owloaddocuments.svg
248
262
  orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg
249
263
  orangecontrib/AAIT/widgets/icons/owmodel_falcon.png
250
264
  orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg
@@ -258,6 +272,7 @@ orangecontrib/AAIT/widgets/icons/owqueryllm.svg
258
272
  orangecontrib/AAIT/widgets/icons/owreranking.svg
259
273
  orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg
260
274
  orangecontrib/AAIT/widgets/icons/owselectcolumndynamique.png
275
+ orangecontrib/AAIT/widgets/icons/owsortandselect.svg
261
276
  orangecontrib/AAIT/widgets/icons/owtable2corpus.svg
262
277
  orangecontrib/AAIT/widgets/icons/owtranslation.svg
263
278
  orangecontrib/AAIT/widgets/icons/owtrigger.svg
@@ -1,6 +1,9 @@
1
1
  import copy
2
2
  import os
3
- import GPUtil
3
+ try:
4
+ import GPUtil #sometimes errors occurs on gpu testing
5
+ except:
6
+ pass
4
7
  import psutil
5
8
  import ntpath
6
9
  import platform
@@ -44,50 +47,56 @@ def check_gpu(model_path, argself):
44
47
  argself.can_run = False
45
48
  argself.error("Model is not compatible. It must be a .gguf format.")
46
49
  return
47
- # Calculate the model size in MB with a 1500 MB buffer
48
- model_size = os.path.getsize(model_path) / (1024 ** 3) * 1000
49
- model_size += token_weight * int(argself.n_ctx)
50
- print(f"Required memory: {model_size/1000:.2f}GB")
51
- # If there is no GPU, set use_gpu to False
52
- if len(GPUtil.getGPUs()) == 0:
53
- argself.use_gpu = False
54
- argself.information("Running on CPU. No GPU detected.")
55
- return
56
- # Else
57
- else:
58
- # Get the available VRAM on the first GPU
59
- gpu = GPUtil.getGPUs()[0]
60
- free_vram = gpu.memoryFree
61
- # If there is not enough VRAM on GPU
62
- if free_vram < model_size:
63
- # Set use_gpu to False
64
- argself.use_gpu = False
65
- # Check for available RAM
66
- available_ram = psutil.virtual_memory().available / 1024 / 1024
67
- if available_ram < model_size:
68
- argself.can_run = False
69
- argself.error(f"Cannot run. Both GPU and CPU are too small for this model (required: {model_size/1000:.2f}GB).")
50
+ # sometimes errors occurs on gpu testing
51
+ try:
52
+ # Calculate the model size in MB with a 1500 MB buffer
53
+ model_size = os.path.getsize(model_path) / (1024 ** 3) * 1000
54
+ model_size += token_weight * int(argself.n_ctx)
55
+ print(f"Required memory: {model_size/1000:.2f}GB")
56
+ # If there is no GPU, set use_gpu to False
57
+ if len(GPUtil.getGPUs()) == 0:
58
+ argself.use_gpu = False
59
+ argself.information("Running on CPU. No GPU detected.")
70
60
  return
61
+ # Else
71
62
  else:
72
- argself.warning(f"Running on CPU. GPU seems to be too small for this model (available: {free_vram/1000:.2f}GB || required: {model_size/1000:.2f}GB).")
73
- return
74
- # If there is enough space on GPU
75
- else:
76
- try:
77
- # Load the model and test it
78
- # model = GPT4All(model_name=model_path, model_path=model_path, n_ctx=int(argself.n_ctx),
79
- # allow_download=False, device="cuda")
80
- # answer = model.generate("What if ?", max_tokens=3)
81
- # # If it works, set use_gpu to True
82
- argself.use_gpu = True
83
- argself.information("Running on GPU.")
84
- return
85
- # If importing Llama and reading the model doesn't work
86
- except Exception as e:
63
+ # Get the available VRAM on the first GPU
64
+ gpu = GPUtil.getGPUs()[0]
65
+ free_vram = gpu.memoryFree
66
+ # If there is not enough VRAM on GPU
67
+ if free_vram < model_size:
87
68
  # Set use_gpu to False
88
69
  argself.use_gpu = False
89
- argself.warning(f"GPU cannot be used. (detail: {e})")
90
- return
70
+ # Check for available RAM
71
+ available_ram = psutil.virtual_memory().available / 1024 / 1024
72
+ if available_ram < model_size:
73
+ argself.can_run = False
74
+ argself.error(f"Cannot run. Both GPU and CPU are too small for this model (required: {model_size/1000:.2f}GB).")
75
+ return
76
+ else:
77
+ argself.warning(f"Running on CPU. GPU seems to be too small for this model (available: {free_vram/1000:.2f}GB || required: {model_size/1000:.2f}GB).")
78
+ return
79
+ # If there is enough space on GPU
80
+ else:
81
+ try:
82
+ # Load the model and test it
83
+ # model = GPT4All(model_name=model_path, model_path=model_path, n_ctx=int(argself.n_ctx),
84
+ # allow_download=False, device="cuda")
85
+ # answer = model.generate("What if ?", max_tokens=3)
86
+ # # If it works, set use_gpu to True
87
+ argself.use_gpu = True
88
+ argself.information("Running on GPU.")
89
+ return
90
+ # If importing Llama and reading the model doesn't work
91
+ except Exception as e:
92
+ # Set use_gpu to False
93
+ argself.use_gpu = False
94
+ argself.warning(f"GPU cannot be used. (detail: {e})")
95
+ return
96
+ except:
97
+ argself.use_gpu = False
98
+ argself.warning(f"GPU cannot be used.")
99
+ return
91
100
 
92
101
 
93
102
  def load_model(model_path, use_gpu, n_ctx=10000):
@@ -1,6 +1,7 @@
1
1
  import os
2
2
  import json
3
3
  import ntpath
4
+ from pathlib import Path
4
5
 
5
6
  from Orange.data import Table, Domain, StringVariable
6
7
 
@@ -133,6 +134,49 @@ def check_for_embeddings(folder_path):
133
134
  return None
134
135
 
135
136
 
137
+ def load_documents_in_table(table, progress_callback=None, argself=None):
138
+ """
139
+ Load the text content of each document listed in a table and add it
140
+ as a new column "content".
141
+
142
+ :param table: Orange.data.Table containing file paths in a column named "path".
143
+ :return: Orange.data.Table with an added meta column "content" containing the extracted text.
144
+ """
145
+ # Make a copy of the table to avoid modifying the original
146
+ data = table.copy()
147
+
148
+ # List to store text from each document
149
+ texts = []
150
+ names = []
151
+ # Iterate over all rows in the table
152
+ for i, row in enumerate(data):
153
+ # Get file path from the "path" column
154
+ filepath = row["path"].value
155
+ # Get text and name
156
+ name = Path(filepath).name
157
+ text = extract_text(filepath)
158
+ # Store results
159
+ names.append(name)
160
+ texts.append(text)
161
+ # Update progress if a callback is provided
162
+ if progress_callback is not None:
163
+ progress_value = float(100 * (i + 1) / len(data))
164
+ progress_callback(progress_value)
165
+ # Check if processing should be stopped
166
+ if argself is not None and getattr(argself, "stop", False):
167
+ break
168
+
169
+ # Create a StringVariable for the new column
170
+ var_content = StringVariable("content")
171
+ var_name = StringVariable("name")
172
+
173
+ # Add the column as a meta-column in the table
174
+ data = data.add_column(variable=var_name, data=names, to_metas=True)
175
+ data = data.add_column(variable=var_content, data=texts, to_metas=True)
176
+ return data
177
+
178
+
179
+
136
180
  def extract_text(filepath):
137
181
  """
138
182
  Extrait le texte d'un fichier en fonction de son type (PDF ou DOCX).
@@ -148,11 +192,13 @@ def extract_text(filepath):
148
192
  return extract_text_from_pdf(filepath)
149
193
  elif file_extension == ".docx":
150
194
  return extract_text_from_docx(filepath)
195
+ elif file_extension in [".txt", ".md"]:
196
+ return extract_text_from_txt(filepath)
151
197
  else:
152
- raise ValueError("Format de fichier non supporté. Utilisez un fichier PDF ou DOCX.")
198
+ return "ERROR: Unsupported file format. Please use a .pdf, .docx, .txt, or .md file."
153
199
  except Exception as e:
154
200
  print(f"Erreur lors de l'extraction de texte depuis {filepath}: {e}")
155
- return "Extraction Error"
201
+ return f"ERROR: Extraction Error ({e})"
156
202
 
157
203
 
158
204
  def extract_text_from_pdf(pdf_path):
@@ -176,7 +222,7 @@ def extract_text_from_pdf(pdf_path):
176
222
  return extracted_text
177
223
  except Exception as e:
178
224
  print(f"Erreur lors de l'extraction de texte depuis {pdf_path}: {e}")
179
- return "Extraction Error"
225
+ return f"ERROR: Extraction Error ({e})"
180
226
 
181
227
 
182
228
  def extract_text_from_docx(docx_path):
@@ -221,13 +267,20 @@ def extract_text_from_docx(docx_path):
221
267
  row_text = [cell.text.strip() for cell in row.cells] # Extrait le texte de chaque cellule
222
268
  table_text.append("\t".join(row_text)) # Sépare les colonnes par des tabulations
223
269
  extracted_text.append("\n".join(table_text)) # Ajoute le tableau sous forme de texte
224
-
225
270
  return "\n".join(filter(None, extracted_text)) # Retourne le texte en filtrant les vides
226
271
 
227
272
  except Exception as e:
228
273
  print(f"Erreur lors de l'extraction de texte depuis {docx_path}: {e}")
229
- return "Extraction Error"
274
+ return f"ERROR: Extraction Error ({e})"
275
+
230
276
 
277
+ def extract_text_from_txt(filepath):
278
+ try:
279
+ with open(filepath, 'r', encoding='utf-8') as f:
280
+ return f.read()
281
+ except Exception as e:
282
+ print(f"Erreur lors de l'extraction de texte depuis {filepath}: {e}")
283
+ return f"ERROR: Extraction Error ({e})"
231
284
 
232
285
 
233
286
  def get_pages_of_extract(pdf_path, extract):
@@ -1368,6 +1368,19 @@ def write_file_time(path):
1368
1368
  except Exception as e:
1369
1369
  print(f"Error creating .ok file: {e}")
1370
1370
  return
1371
+ def write_file_arbitrary_time(path,time):
1372
+ time= int(time)
1373
+ time_ok=path[:-4]+".ok"
1374
+ reset_files([time_ok])
1375
+ with open(path, "w") as f:
1376
+ f.write(str(time))
1377
+ f.flush()
1378
+ try:
1379
+ with open(time_ok, "w"):
1380
+ pass
1381
+ except Exception as e:
1382
+ print(f"Error creating .ok file: {e}")
1383
+ return
1371
1384
 
1372
1385
  def read_file_time(path):
1373
1386
  time_ok = path[:-4] + ".ok"
@@ -0,0 +1,173 @@
1
+ import os
2
+ from AnyQt.QtWidgets import QWidget, QVBoxLayout, QLineEdit, QListWidget, QListWidgetItem
3
+ from AnyQt.QtCore import pyqtSignal
4
+ import Orange
5
+ from Orange.widgets import gui, widget
6
+ from Orange.widgets.settings import Setting
7
+ from Orange.widgets.utils.signals import Input, Output
8
+
9
+ if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
10
+ from Orange.widgets.orangecontrib.AAIT.utils.import_uic import uic
11
+ else:
12
+ from orangecontrib.AAIT.utils.import_uic import uic
13
+
14
+
15
+ class BaseListWidget(widget.OWWidget):
16
+ """
17
+ Base Orange widget providing a filterable list of variables from the input data domain.
18
+
19
+ This class automatically:
20
+ - Adds a `FilterableVariableList` UI component.
21
+ - Handles input data and populates the list with variables.
22
+ - Restores the last selected variable (`selected_column_name`).
23
+
24
+ ______________________________________________________________________________________
25
+ How to use:
26
+ ⚠️ The linked .ui file **must include a `QWidget` named "placeholder"`**, where the
27
+ variable list will be inserted (see owexecutescript_TEST.ui).
28
+
29
+ 1. Inherit from `BaseListWidget` instead of `Orange.widgets.OWWidget`.
30
+ Your widget will automatically have the attribute `selected_column_name`.
31
+
32
+ 2. Use `selected_column_name` in your `run()` function to determine
33
+ which column should be processed. For example, check if it's in
34
+ `data.domain` or verify its type (e.g., `StringVariable`).
35
+
36
+ 3. Pass `selected_column_name` to any threaded function you use:
37
+ ```python
38
+ thread_management.Thread(self.my_function, self.data, self.selected_column_name)
39
+ ```
40
+
41
+ 4. Update your processing functions (e.g., `generate_answers`, `create_embeddings`,
42
+ `execute_scripts_in_table`) to accept the column name as an argument.
43
+
44
+ 5. Remove any `uic.loadUi(self.gui, self)` calls from your widget, as the UI is already loaded automatically by `BaseListWidget`.
45
+
46
+ 6. If you only need "Data" as input and "Data" as output, remove the Inputs, Outputs and set() methods from your widget.
47
+
48
+ 6. By default, your widget already handles "Data" as input and output.
49
+ You **must NOT** define the `Inputs`, `Outputs`, or `set_data()` methods
50
+ in your subclass, because they are already implemented in `BaseListWidget`.
51
+
52
+ ⚠️ Optional: Only if you truly need to customize input handling, you can
53
+ override the `set_data()` method. In that case, make sure to update
54
+ the `var_selector` (a `FilterableVariableList`) like this:
55
+
56
+ ```python
57
+ self.var_selector.add_variables(self.data.domain)
58
+ self.var_selector.select_variable_by_name(self.selected_column_name)
59
+ """
60
+ # Settings
61
+ selected_column_name = Setting("Default") # set the targeted column by default as "Default"
62
+
63
+ class Inputs:
64
+ data = Input("Data", Orange.data.Table)
65
+
66
+ class Outputs:
67
+ data = Output("Data", Orange.data.Table)
68
+
69
+ @Inputs.data
70
+ def set_data(self, in_data):
71
+ self.data = in_data
72
+ if self.data:
73
+ self.var_selector.add_variables(self.data.domain)
74
+ self.var_selector.select_variable_by_name(self.selected_column_name)
75
+ if self.autorun:
76
+ self.run()
77
+
78
+
79
+ def __init__(self):
80
+ super().__init__()
81
+ # Load the .ui file if defined
82
+ if self.gui and os.path.exists(self.gui):
83
+ uic.loadUi(self.gui, self)
84
+
85
+ # --- Insert filterable variable list ---
86
+ self.var_selector = FilterableVariableList(self)
87
+ placeholder = self.findChild(QWidget, "placeholder") # add a QWidget in your .ui
88
+ if placeholder:
89
+ self.var_selector.setParent(placeholder)
90
+ self.var_selector.setGeometry(0, 0, placeholder.width(), placeholder.height())
91
+ self.var_selector.show()
92
+ self.var_selector.selected_variable.connect(self.on_variable_selected)
93
+
94
+ # Data management
95
+ self.data = None
96
+ self.autorun = True
97
+
98
+
99
+ def on_variable_selected(self, var_name):
100
+ """Update the selected column when the user clicks an item."""
101
+ self.selected_column_name = var_name
102
+
103
+
104
+
105
+
106
+ # Widget Qt pour sélectionner des variables dans un widget Orange
107
+ class FilterableVariableList(QWidget):
108
+ """
109
+ A scrollable list of Orange variables with:
110
+ - Single selection
111
+ - Colored icons based on type
112
+ - Filter field at the top
113
+ """
114
+ selected_variable = pyqtSignal(str)
115
+
116
+ def __init__(self, parent=None):
117
+ super().__init__(parent)
118
+ self.all_vars = []
119
+
120
+ # Layout
121
+ self.layout = QVBoxLayout(self)
122
+ self.filter_edit = QLineEdit()
123
+ self.filter_edit.setPlaceholderText("Filter variables...")
124
+ self.layout.addWidget(self.filter_edit)
125
+
126
+ self.list_widget = QListWidget()
127
+ self.list_widget.setSelectionMode(QListWidget.SingleSelection)
128
+ self.layout.addWidget(self.list_widget)
129
+
130
+ # Connect filter
131
+ self.filter_edit.textChanged.connect(self.apply_filter)
132
+ # Connect variable selection
133
+ self.list_widget.itemSelectionChanged.connect(self.on_selection_changed)
134
+
135
+
136
+ def add_variables(self, variables):
137
+ """Store all variables and populate the list"""
138
+ self.all_vars = variables
139
+ self.populate_list(self.all_vars)
140
+
141
+ def populate_list(self, variables):
142
+ """Populate the QListWidget with items and icons using Orange standard icons"""
143
+ self.list_widget.clear()
144
+ if variables is not None:
145
+ for var in variables:
146
+ item = QListWidgetItem(var.name)
147
+ item.setIcon(gui.attributeIconDict[var]) # <-- standard Orange icon
148
+ self.list_widget.addItem(item)
149
+
150
+ def apply_filter(self, text):
151
+ """Filter the list based on input"""
152
+ text = text.lower()
153
+ filtered = [v for v in self.all_vars if text in v.name.lower()]
154
+ self.populate_list(filtered)
155
+
156
+ def on_selection_changed(self):
157
+ selected = self.get_selected_name()
158
+ if selected:
159
+ self.selected_variable.emit(selected)
160
+
161
+ def get_selected_name(self):
162
+ """Get the selected variable's name"""
163
+ selected_items = self.list_widget.selectedItems()
164
+ return selected_items[0].text() if selected_items else None
165
+
166
+ def select_variable_by_name(self, name):
167
+ """Select an item in the list by its variable name."""
168
+ for i in range(self.list_widget.count()):
169
+ item = self.list_widget.item(i)
170
+ if item.text() == name:
171
+ self.list_widget.setCurrentItem(item)
172
+ self.list_widget.scrollToItem(item) # optional: ensure it's visible
173
+ return