aait 2.3.15__tar.gz → 2.3.15.990__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 (279) hide show
  1. {aait-2.3.15 → aait-2.3.15.990}/PKG-INFO +1 -1
  2. {aait-2.3.15 → aait-2.3.15.990}/aait.egg-info/PKG-INFO +1 -1
  3. {aait-2.3.15 → aait-2.3.15.990}/aait.egg-info/SOURCES.txt +4 -2
  4. aait-2.3.15.990/aait.egg-info/requires.txt +19 -0
  5. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/__init__.py +1 -2
  6. aait-2.3.15.990/orangecontrib/AAIT/llm/chunking.py +149 -0
  7. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/lemmes.py +2 -2
  8. aait-2.3.15.990/orangecontrib/AAIT/llm/resources/markdown_recipe.json +65 -0
  9. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/aait_repo_file.py +3 -3
  10. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/subprocess_management.py +2 -2
  11. aait-2.3.15.990/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
  12. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/windows_utils.py +2 -1
  13. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -3
  14. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWApplyRules.py +1 -0
  15. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWAutoShowCreateInstance.py +16 -16
  16. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWAutoShowTable.py +16 -16
  17. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWChunking.py +9 -10
  18. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWConverseLLM.py +1 -2
  19. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -1
  20. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWEditTable.py +3 -0
  21. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWEmptySwitch.py +2 -2
  22. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWExtractTokens.py +2 -2
  23. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWFileWithPath.py +4 -0
  24. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +1 -0
  25. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWGenerateWord.py +2 -7
  26. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWGetPages.py +2 -0
  27. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWKeywordsDetection.py +122 -20
  28. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWLLMEngine.py +4 -0
  29. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +2 -0
  30. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWOperationSystem.py +2 -0
  31. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWQuadrantclicker.py +0 -1
  32. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +3 -0
  33. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWSortAndSelect.py +1 -0
  34. aait-2.3.15.990/orangecontrib/AAIT/widgets/OWSplitExcelSheets.py +231 -0
  35. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owchunking.ui +17 -2
  36. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui +5 -0
  37. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owsplitexcelsheets.ui +5 -14
  38. aait-2.3.15.990/orangecontrib/AAIT/widgets/icons/splitexcelsheets.png +0 -0
  39. {aait-2.3.15 → aait-2.3.15.990}/setup.py +15 -15
  40. aait-2.3.15/aait.egg-info/requires.txt +0 -19
  41. aait-2.3.15/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -25
  42. aait-2.3.15/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
  43. aait-2.3.15/orangecontrib/AAIT/llm/chunking.py +0 -150
  44. {aait-2.3.15 → aait-2.3.15.990}/License.txt +0 -0
  45. {aait-2.3.15 → aait-2.3.15.990}/aait.egg-info/dependency_links.txt +0 -0
  46. {aait-2.3.15 → aait-2.3.15.990}/aait.egg-info/entry_points.txt +0 -0
  47. {aait-2.3.15 → aait-2.3.15.990}/aait.egg-info/namespace_packages.txt +0 -0
  48. {aait-2.3.15 → aait-2.3.15.990}/aait.egg-info/top_level.txt +0 -0
  49. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/__init__.py +0 -0
  50. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/answers.py +0 -0
  51. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/answers_llama.py +0 -0
  52. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/embeddings.py +0 -0
  53. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
  54. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/process_documents.py +0 -0
  55. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
  56. /aait-2.3.15/orangecontrib/AAIT/optimiser/__init__.py → /aait-2.3.15.990/orangecontrib/AAIT/llm/resources/__ini__.py +0 -0
  57. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/llm/translations.py +0 -0
  58. {aait-2.3.15/orangecontrib/AAIT/utils → aait-2.3.15.990/orangecontrib/AAIT/optimiser}/__init__.py +0 -0
  59. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
  60. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/MetManagement.py +0 -0
  61. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/OperationSystem.py +0 -0
  62. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
  63. {aait-2.3.15/orangecontrib/AAIT/utils/tools → aait-2.3.15.990/orangecontrib/AAIT/utils}/__init__.py +0 -0
  64. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/aait_table_viewer.py +0 -0
  65. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/base_widget.py +0 -0
  66. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
  67. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/import_uic.py +0 -0
  68. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
  69. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/mac_utils.py +0 -0
  70. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
  71. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
  72. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/thread_management.py +0 -0
  73. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
  74. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
  75. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
  76. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
  77. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/unlink_table_domain.py +0 -0
  78. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/utils/widget_positioning.py +0 -0
  79. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWAccumulator.py +0 -0
  80. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWAddColumns.py +0 -0
  81. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
  82. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
  83. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
  84. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
  85. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
  86. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
  87. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWFileMetadata.py +0 -0
  88. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWFileSyncChecker.py +0 -0
  89. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWFusionNM.py +0 -0
  90. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
  91. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
  92. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
  93. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
  94. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
  95. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWLargeLanguageModel.py +0 -0
  96. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
  97. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWLoadDocuments.py +0 -0
  98. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +0 -0
  99. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Embeddings.py +0 -0
  100. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +0 -0
  101. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
  102. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
  103. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
  104. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
  105. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
  106. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
  107. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +0 -0
  108. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
  109. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
  110. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
  111. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
  112. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
  113. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
  114. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
  115. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
  116. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
  117. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
  118. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
  119. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
  120. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
  121. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
  122. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py +0 -0
  123. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -0
  124. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
  125. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
  126. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
  127. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
  128. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -0
  129. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
  130. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/__init__.py +0 -0
  131. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
  132. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/ow_OperationSystem.ui +0 -0
  133. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
  134. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
  135. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owaccumulator.ui +0 -0
  136. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owaddcolumns.ui +0 -0
  137. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
  138. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
  139. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
  140. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owedgellm.ui +0 -0
  141. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
  142. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owemptyswitch.ui +0 -0
  143. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
  144. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
  145. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owexecutescript_TEST.ui +0 -0
  146. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
  147. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
  148. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owfilemetadata.ui +0 -0
  149. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owfilesyncchecker.ui +0 -0
  150. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
  151. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +0 -0
  152. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owfusion_nm.ui +0 -0
  153. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owgenerate_word.ui +0 -0
  154. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
  155. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
  156. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owgetpages.ui +0 -0
  157. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
  158. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
  159. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owlargelanguagemodel.ui +0 -0
  160. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
  161. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
  162. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owloaddocuments.ui +0 -0
  163. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
  164. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
  165. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_embeddings.ui +0 -0
  166. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
  167. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
  168. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
  169. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
  170. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
  171. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
  172. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_2.5_32b.ui +0 -0
  173. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_1.5b_q6.ui +0 -0
  174. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_3b_q4.ui +0 -0
  175. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q4.ui +0 -0
  176. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q6.ui +0 -0
  177. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_qwencoder_7b.ui +0 -0
  178. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
  179. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
  180. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
  181. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
  182. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
  183. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
  184. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owquadrant_clicker.ui +0 -0
  185. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
  186. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
  187. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owsavewithpath.ui +0 -0
  188. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owselect_column_dynamic.ui +0 -0
  189. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owselect_row_dynamic.ui +0 -0
  190. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owsortandselect.ui +0 -0
  191. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
  192. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
  193. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
  194. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
  195. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -0
  196. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
  197. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/CreateInstance.svg +0 -0
  198. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
  199. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
  200. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/Table.svg +0 -0
  201. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
  202. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/blue_down_arrow.svg +0 -0
  203. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/book.png +0 -0
  204. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
  205. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
  206. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
  207. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/document_generator.png +0 -0
  208. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
  209. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/edge_llm.svg +0 -0
  210. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
  211. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
  212. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/green_check.svg +0 -0
  213. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
  214. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
  215. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
  216. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
  217. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
  218. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
  219. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
  220. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
  221. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
  222. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
  223. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
  224. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
  225. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
  226. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/operationSystem.png +0 -0
  227. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
  228. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
  229. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
  230. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
  231. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owaccumulator.png +0 -0
  232. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
  233. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
  234. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
  235. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
  236. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owemptyswitch.svg +0 -0
  237. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owenvinfo.png +0 -0
  238. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
  239. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
  240. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owfilemetadata.svg +0 -0
  241. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -0
  242. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owfilesyncchecker.svg +0 -0
  243. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
  244. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owfusion_nm.png +0 -0
  245. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
  246. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
  247. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owkeywords.png +0 -0
  248. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owkeywordsdetection.png +0 -0
  249. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owlargelanguagemodel.svg +0 -0
  250. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
  251. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owloaddocuments.svg +0 -0
  252. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
  253. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_embeddings.svg +0 -0
  254. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
  255. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
  256. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
  257. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
  258. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
  259. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
  260. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
  261. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
  262. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
  263. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
  264. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
  265. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owselectcolumndynamique.png +0 -0
  266. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owsortandselect.svg +0 -0
  267. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
  268. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
  269. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
  270. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
  271. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/quadrantclicker.svg +0 -0
  272. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
  273. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
  274. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
  275. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
  276. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
  277. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/AAIT/widgets/icons/zip.svg +0 -0
  278. {aait-2.3.15 → aait-2.3.15.990}/orangecontrib/__init__.py +0 -0
  279. {aait-2.3.15 → aait-2.3.15.990}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aait
3
- Version: 2.3.15
3
+ Version: 2.3.15.990
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.3.15
3
+ Version: 2.3.15.990
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
@@ -9,8 +9,6 @@ aait.egg-info/requires.txt
9
9
  aait.egg-info/top_level.txt
10
10
  orangecontrib/__init__.py
11
11
  orangecontrib/AAIT/__init__.py
12
- orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py
13
- orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll
14
12
  orangecontrib/AAIT/llm/__init__.py
15
13
  orangecontrib/AAIT/llm/answers.py
16
14
  orangecontrib/AAIT/llm/answers_llama.py
@@ -21,6 +19,8 @@ orangecontrib/AAIT/llm/lmstudio.py
21
19
  orangecontrib/AAIT/llm/process_documents.py
22
20
  orangecontrib/AAIT/llm/prompt_management.py
23
21
  orangecontrib/AAIT/llm/translations.py
22
+ orangecontrib/AAIT/llm/resources/__ini__.py
23
+ orangecontrib/AAIT/llm/resources/markdown_recipe.json
24
24
  orangecontrib/AAIT/optimiser/__init__.py
25
25
  orangecontrib/AAIT/optimiser/optuna_multi.py
26
26
  orangecontrib/AAIT/utils/MetManagement.py
@@ -112,6 +112,7 @@ orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py
112
112
  orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py
113
113
  orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py
114
114
  orangecontrib/AAIT/widgets/OWSortAndSelect.py
115
+ orangecontrib/AAIT/widgets/OWSplitExcelSheets.py
115
116
  orangecontrib/AAIT/widgets/OWStartLoop.py
116
117
  orangecontrib/AAIT/widgets/OWTable2Corpus.py
117
118
  orangecontrib/AAIT/widgets/OWTranslation.py
@@ -265,6 +266,7 @@ orangecontrib/AAIT/widgets/icons/processdocuments.svg
265
266
  orangecontrib/AAIT/widgets/icons/quadrantclicker.svg
266
267
  orangecontrib/AAIT/widgets/icons/qwen-color.png
267
268
  orangecontrib/AAIT/widgets/icons/select_dynamic_row.png
269
+ orangecontrib/AAIT/widgets/icons/splitexcelsheets.png
268
270
  orangecontrib/AAIT/widgets/icons/startloop.png
269
271
  orangecontrib/AAIT/widgets/icons/tools.png
270
272
  orangecontrib/AAIT/widgets/icons/widgetFactory.svg
@@ -0,0 +1,19 @@
1
+ torch
2
+ sentence-transformers
3
+ gpt4all[all]
4
+ sacremoses
5
+ transformers
6
+ sentencepiece
7
+ optuna
8
+ spacy
9
+ markdown
10
+ python-multipart
11
+ PyMuPDF
12
+ chonkie
13
+ GPUtil
14
+ unidecode
15
+ python-docx
16
+ psutil
17
+ thefuzz
18
+ beautifulsoup4
19
+ CATEGORIT
@@ -2,7 +2,7 @@ import Orange
2
2
  from packaging import version
3
3
 
4
4
  import sys
5
- import re
5
+
6
6
  import os
7
7
  # def check_executable_path():
8
8
  # exe = sys.executable
@@ -52,7 +52,6 @@ else: # Execute the file
52
52
  import os
53
53
  import tempfile
54
54
  import gc
55
- import sys
56
55
  from orangewidget.workflow.discovery import WidgetDiscovery
57
56
  #from orangecanvas.registry import CategoryDescription
58
57
  from orangecanvas.registry.utils import category_from_package_globals
@@ -0,0 +1,149 @@
1
+ import copy
2
+ import re
3
+ import os
4
+ import pathlib
5
+ import Orange
6
+ from Orange.data import Domain, Table, StringVariable, ContinuousVariable
7
+ from chonkie import TokenChunker, SentenceChunker, RecursiveChunker, SemanticChunker, LateChunker
8
+
9
+
10
+ def create_chunks(table, column_name, tokenizer="character", chunk_size=300, chunk_overlap=100, mode="Token", progress_callback=None, argself=None):
11
+ """
12
+ Chunk the text in `column_name` of an Orange Table using a specialized chunker.
13
+
14
+ Splits each row's text into chunks based on the selected mode (Token, Sentence,
15
+ Recursive, or Markdown). Adds the chunked text and its metadata as new meta
16
+ columns to the table.
17
+
18
+ Parameters:
19
+ table (Table): Input data table.
20
+ column_name (str): Name of the text column to chunk.
21
+ tokenizer (str): Tokenizer type (e.g., "character").
22
+ chunk_size (int): Target chunk size.
23
+ chunk_overlap (int): Overlap between chunks (not used in all modes).
24
+ mode (str): Chunking strategy ("Token", "Sentence", "Recursive", "Markdown").
25
+ progress_callback (callable): Optional progress reporter.
26
+ argself: Optional caller reference.
27
+
28
+ Returns:
29
+ Table: The table with added meta columns: "Chunks", "Chunks size", and "Metadata".
30
+ """
31
+ # Définir la fonction de chunking selon le mode
32
+ if mode == "Token":
33
+ chunker = TokenChunker(tokenizer=tokenizer, chunk_size=chunk_size, chunk_overlap=chunk_overlap)
34
+ elif mode == "Sentence":
35
+ chunker = SentenceChunker(tokenizer=tokenizer, chunk_size=chunk_size, chunk_overlap=chunk_overlap, min_sentences_per_chunk=1)
36
+ elif mode == "Recursive":
37
+ chunker = RecursiveChunker(tokenizer=tokenizer, chunk_size=chunk_size, min_characters_per_chunk=24)
38
+
39
+ ### Les 3 modes suivants sont à tester après montée de version !!
40
+ ### Attention à la gestion des modèles !! Tokenizer doit être un SentenceTransformer (Mpnet ou Qwen-0.6B)
41
+ ### Gérer ça en amont dans le widget !
42
+ ### Ajouter du paramétrage selon la méthode de chunking !!!
43
+ elif mode == "Markdown":
44
+ # from recipe, tester dépendances d'abord
45
+ current_dir = pathlib.Path(__file__).parent.resolve()
46
+ chunker = RecursiveChunker.from_recipe(path=os.path.join(current_dir, r"resources\markdown_recipe.json"), tokenizer=tokenizer, chunk_size=400, min_characters_per_chunk=24)
47
+ elif mode == "Semantic":
48
+ chunker = SemanticChunker(embedding_model=tokenizer, threshold=0.7, chunk_size=chunk_size)
49
+ elif mode == "Late":
50
+ chunker = LateChunker(embedding_model=tokenizer, chunk_size=chunk_size, min_characters_per_chunk=24)
51
+ else:
52
+ raise ValueError(f"Invalid mode: {mode}. Valid modes are: Token, Sentence, Recursive, Markdown")
53
+
54
+
55
+ new_metas = list(table.domain.metas) + [StringVariable("Chunks"), ContinuousVariable("Chunks size"), ContinuousVariable("Chunks index"), ContinuousVariable("Chunks start"), ContinuousVariable("Chunks end"), StringVariable("Metadata")]
56
+ new_domain = Domain(table.domain.attributes, table.domain.class_vars, new_metas)
57
+
58
+ new_rows = []
59
+ for i, row in enumerate(table):
60
+ content = row[column_name].value
61
+ chunks = chunker(content)
62
+ # For each chunk in the chunked data
63
+ for j, chunk in enumerate(chunks):
64
+ # Build new metas with previous data and the chunk
65
+ new_metas_values = list(row.metas) + [chunk.text, chunk.token_count, j, chunk.start_index, chunk.end_index, ""]
66
+ # Create the new row instance
67
+ new_instance = Orange.data.Instance(new_domain, [row[x] for x in table.domain.attributes] + [row[y] for y in table.domain.class_vars] + new_metas_values)
68
+ # Store the new row
69
+ new_rows.append(new_instance)
70
+
71
+ if progress_callback is not None:
72
+ progress_value = float(100 * (i + 1) / len(table))
73
+ progress_callback(progress_value)
74
+ if argself is not None:
75
+ if argself.stop:
76
+ break
77
+
78
+ return Table.from_list(domain=new_domain, rows=new_rows)
79
+
80
+
81
+ ### Previous function - Metadatas were interesting
82
+ def chunk_markdown(content, tokenizer=None, chunk_size=300, chunk_overlap=100):
83
+ """
84
+ Découpe un contenu Markdown en chunks :
85
+ - Si des en-têtes Markdown (#, ##, ###...) existent : on respecte la hiérarchie
86
+ et on inclut dans les métadonnées uniquement les titres de la branche courante.
87
+ - Sinon : on délègue à chunk_words().
88
+
89
+ Parameters
90
+ ----------
91
+ content : str
92
+ Le contenu (Markdown ou texte brut).
93
+ tokenizer : any
94
+ Tokenizer utilisé par WordChunker si besoin.
95
+ chunk_size : int
96
+ Nombre max de mots par chunk.
97
+ chunk_overlap : int
98
+ Overlap (en mots) entre deux chunks consécutifs.
99
+
100
+ Returns
101
+ -------
102
+ (chunks, metadatas) : tuple(list[str], list[str])
103
+ chunks : segments de texte
104
+ metadatas : hiérarchies de titres associées (chaînes " ; " séparées), vide si aucun titre.
105
+ """
106
+ if not content or not isinstance(content, str):
107
+ return [], []
108
+
109
+ header_regex = re.compile(r"^(#{1,6})\s+(.*)", re.MULTILINE)
110
+ matches = list(header_regex.finditer(content))
111
+
112
+ # Cas SANS en-têtes : appel direct à chunk_words
113
+ if not matches:
114
+ chunks, _ = chunk_words(content, tokenizer, chunk_size=chunk_size, chunk_overlap=chunk_overlap)
115
+ return chunks, [""] * len(chunks)
116
+
117
+ # Cas AVEC en-têtes : extraire les sections (level, title, body)
118
+ sections = []
119
+ for i, match in enumerate(matches):
120
+ level = len(match.group(1))
121
+ title = match.group(2).strip()
122
+ start = match.end()
123
+ end = matches[i + 1].start() if i + 1 < len(matches) else len(content)
124
+ body = content[start:end].strip()
125
+ sections.append((level, title, body))
126
+
127
+ chunks, metadatas = [], []
128
+ current_titles = {}
129
+
130
+ for level, title, body in sections:
131
+ # purge les niveaux >= level
132
+ for l in list(current_titles.keys()):
133
+ if l >= level:
134
+ current_titles.pop(l, None)
135
+ current_titles[level] = title
136
+
137
+ metadata = " ; ".join(current_titles[lvl] for lvl in sorted(current_titles) if lvl <= level)
138
+
139
+ # déléguer le découpage de body à chunk_words
140
+ body_chunks, _ = chunk_words(body, tokenizer, chunk_size=chunk_size, chunk_overlap=chunk_overlap)
141
+
142
+ for ch in body_chunks:
143
+ chunks.append(ch)
144
+ metadatas.append(metadata)
145
+
146
+ return chunks, metadatas
147
+
148
+ def chunk_semantic():
149
+ pass
@@ -122,8 +122,8 @@ def lemmatize(text, model):
122
122
  # Modify the infix patterns (patterns for token splits)
123
123
  infixes = list(model.Defaults.infixes)
124
124
  # Add custom pattern for numbers with special characters
125
- infixes.append("(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]+(?:[-.#][A-Za-z\d]+)*")
126
- infixes.append("[^\s]*")
125
+ infixes.append(r"(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]+(?:[-.#][A-Za-z\d]+)*")
126
+ infixes.append(r"[^\s]*")
127
127
  # Recompile the infix pattern after adding the custom one
128
128
  model.tokenizer.infix_finditer = compile_infix_regex(infixes).finditer
129
129
  document = model(text)
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "markdown",
3
+ "description": "Recipe for markdown documents in English",
4
+ "schema": "Markdown",
5
+ "language": "en",
6
+ "metadata": {
7
+ "version": "0.1.0",
8
+ "author": "Chonkie Team"
9
+ },
10
+ "recipe": {
11
+ "delimiters": [
12
+ ". ",
13
+ "! ",
14
+ "? ",
15
+ "\n"
16
+ ],
17
+ "include_delim": "prev",
18
+ "recursive_rules": {
19
+ "levels": [
20
+ {
21
+ "delimiters": [
22
+ "######",
23
+ "#####",
24
+ "####",
25
+ "###",
26
+ "##",
27
+ "#"
28
+ ],
29
+ "whitespace": false,
30
+ "include_delim": "next"
31
+ },
32
+ {
33
+ "delimiters": [
34
+ "\n\n",
35
+ "\n\r"
36
+ ],
37
+ "whitespace": false,
38
+ "include_delim": "prev"
39
+ },
40
+ {
41
+ "delimiters": [
42
+ "\n",
43
+ "\r"
44
+ ],
45
+ "whitespace": false,
46
+ "include_delim": "prev"
47
+ },
48
+ {
49
+ "delimiters": [
50
+ ". ",
51
+ "! ",
52
+ "? "
53
+ ],
54
+ "whitespace": false,
55
+ "include_delim": "prev"
56
+ },
57
+ {
58
+ "delimiters": null,
59
+ "whitespace": false,
60
+ "include_delim": "prev"
61
+ }
62
+ ]
63
+ }
64
+ }
65
+ }
@@ -83,7 +83,7 @@ def create_index_file(in_repo_file,out_repo_file="a_ignorer"):
83
83
 
84
84
  def decode(repo_file,file_to_read):
85
85
  """
86
- /!\ be carrefull with big file (ram saturation)
86
+ be carrefull with big file (ram saturation)
87
87
  return containt of a zipped file
88
88
  """
89
89
  if not os.path.isfile(repo_file):
@@ -144,8 +144,8 @@ def decode_to_file(zip_path, target_path, output_path):
144
144
  def normalize_path(path):
145
145
  """
146
146
  Normalize paths for URLs and local usage:
147
- - Replaces backslashes (\) with forward slashes (/).
148
- - Removes './' and '\.' segments from paths.
147
+ - Replaces backslashes with forward slashes .
148
+ - Removes './' and '\\.' segments from paths.
149
149
  - Handles redundant slashes.
150
150
  """
151
151
  # Replace backslashes with slashes
@@ -9,7 +9,7 @@ import shlex
9
9
  def open_hide_terminal(command, with_qt=True, env=None):
10
10
  """
11
11
  Ouvre un nouveau terminal indépendant et exécute la commande spécifiée.
12
- /!\ attention command est une liste
12
+ attention command est une liste
13
13
  :param command: La liste de commande à exécuter.
14
14
  :param with_qt: Désactive l'affichage si False (utile pour les applications Qt sans affichage).
15
15
  :param hide_terminal: Masque la fenêtre du terminal si True.
@@ -102,7 +102,7 @@ def open_hide_terminal(command, with_qt=True, env=None):
102
102
 
103
103
  def open_terminal(command, with_qt=True, env=None):
104
104
  """
105
- /!\ attention command est une liste
105
+ attention command est une liste
106
106
  Ouvre un nouveau terminal indépendant et exécute la commande spécifiée.
107
107
  :param command: La liste de commande à exécuter.
108
108
  :param with_qt: Désactive l'affichage si False (utile pour les applications Qt sans affichage).
@@ -246,7 +246,8 @@ if os.name=='nt':
246
246
  cb_after = EnumWindowsProc(_enum_after) # garder une référence !
247
247
  user32.EnumWindows(cb_after, 0)
248
248
 
249
- new_hwnds = list(set(hwnd_list_after) - set(hwnd_list_before))
249
+ # peut etre a remettre (pyflakes warning)
250
+ #new_hwnds = list(set(hwnd_list_after) - set(hwnd_list_before))
250
251
 
251
252
  # ... le reste de ton code (détection de la fenêtre, thread enforce_modal, parsing buffer) ...
252
253
  buffer_content = ctypes.wstring_at(ctypes.addressof(file_buffer), file_buffer._length_)
@@ -11,18 +11,15 @@ from AnyQt.QtWidgets import (QComboBox, QDialog, QGroupBox, QHBoxLayout,
11
11
  from Orange.widgets import widget
12
12
 
13
13
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
14
- from Orange.widgets.orangecontrib.AAIT.fix_torch import fix_torch_dll_error
15
14
  from Orange.widgets.orangecontrib.AAIT.utils import (MetManagement,
16
15
  SimpleDialogQt)
17
16
  from Orange.widgets.orangecontrib.AAIT.utils.MetManagement import GetFromRemote
18
17
  from Orange.widgets.orangecontrib.AAIT.utils.initialize_from_ini import apply_modification_from_python_file
19
18
  else:
20
- from orangecontrib.AAIT.fix_torch import fix_torch_dll_error
21
19
  from orangecontrib.AAIT.utils import (MetManagement,
22
20
  SimpleDialogQt)
23
21
  from orangecontrib.AAIT.utils.MetManagement import GetFromRemote
24
22
  from orangecontrib.AAIT.utils.initialize_from_ini import apply_modification_from_python_file
25
- fix_torch_dll_error.fix_error_torch()
26
23
 
27
24
  class RepositoryManager(QDialog):
28
25
  def __init__(self, parent=None):
@@ -112,6 +112,7 @@ class OWApplyRules(widget.OWWidget):
112
112
  self.warning("")
113
113
  if self.rules_data is None or self.data is None:
114
114
  self.error("You must have rules and data")
115
+ self.Outputs.out_data.send(None)
115
116
  return
116
117
 
117
118
  data_regle = self.rules_data
@@ -479,33 +479,33 @@ class VariableItemModel(QStandardItemModel):
479
479
 
480
480
  class OWCreateInstance(OWWidget):
481
481
  name = "Auto show Create Instance"
482
- description = _tr.m[453, "Interactively create a data instance from sample dataset."]
482
+ description = "Interactively create a data instance from sample dataset."
483
483
  icon = "icons/CreateInstance.svg"
484
484
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
485
485
  icon = "icons_dev/CreateInstance.svg"
486
- category = _tr.m[454, "Transform"]
487
- keywords = _tr.m[455, "create instance, simulator"]
486
+ category = "Transform"
487
+ keywords = "create instance, simulator"
488
488
  priority = 2310
489
489
 
490
490
  class Inputs:
491
- data = Input(_tr.m[456, "Data"], Table)
492
- reference = Input(_tr.m[457, "Reference"], Table)
491
+ data = Input( "Data", Table)
492
+ reference = Input("Reference", Table)
493
493
  input_autoshow = Input("AutoShowConfiguration", str, auto_summary=False)
494
494
 
495
495
 
496
496
  class Outputs:
497
- data = Output(_tr.m[458, "Data"], Table)
497
+ data = Output("Data", Table)
498
498
 
499
499
  class Information(OWWidget.Information):
500
- nans_removed = Msg((_tr.m[459, "Variables with only missing values were "] + _tr.m[460, "removed from the list."]))
500
+ nans_removed = Msg(("Variables with only missing values were " +"removed from the list."))
501
501
 
502
502
  str_WidgetPositionning: str=Setting("None")
503
503
 
504
504
  want_main_area = False
505
- BUTTONS = [_tr.m[461, "Median"], _tr.m[462, "Mean"], _tr.m[463, "Random"], _tr.m[464, "Input"]]
505
+ BUTTONS = ["Median", "Mean", "Random", "Input"]
506
506
  ACTIONS = ["median", "mean", "random", "input"]
507
- HEADER = [["name", _tr.m[465, "Variable"]],
508
- ["variable", _tr.m[466, "Value"]]]
507
+ HEADER = [["name", "Variable"],
508
+ ["variable", "Value"]]
509
509
  Header = namedtuple(
510
510
  "header", [tag for tag, _ in HEADER]
511
511
  )(*range(len(HEADER)))
@@ -557,7 +557,7 @@ class OWCreateInstance(OWWidget):
557
557
  gui.rubber(box)
558
558
 
559
559
  gui.checkBox(self.buttonsArea, self, "append_to_data",
560
- _tr.m[467, "Append this instance to input data"],
560
+ "Append this instance to input data",
561
561
  callback=self.commit.deferred)
562
562
  gui.rubber(self.buttonsArea)
563
563
  gui.auto_apply(self.buttonsArea, self, "auto_commit")
@@ -674,7 +674,7 @@ class OWCreateInstance(OWWidget):
674
674
  def _create_data_from_values(self) -> Table:
675
675
  data = Table.from_domain(self.data.domain, 1)
676
676
  with data.unlocked():
677
- data.name = _tr.m[468, "created"]
677
+ data.name = "created"
678
678
  if data.X.size:
679
679
  data.X[:] = np.nan
680
680
  if data.Y.size:
@@ -703,7 +703,7 @@ class OWCreateInstance(OWWidget):
703
703
  part[-1, idx] = 1
704
704
  return data
705
705
 
706
- name = get_unique_names(self.data.domain, _tr.m[469, "Source ID"])
706
+ name = get_unique_names(self.data.domain, "Source ID")
707
707
  var = DiscreteVariable(name, values=(self.data.name, instance.name))
708
708
  var.attributes[source_label] = OWCreateInstance
709
709
  domain = Domain(domain.attributes, domain.class_vars,
@@ -725,8 +725,8 @@ class OWCreateInstance(OWWidget):
725
725
  def send_report(self):
726
726
  if not self.data:
727
727
  return
728
- self.report_domain(_tr.m[470, "Input"], self.data.domain)
729
- self.report_domain(_tr.m[471, "Output"], self.data.domain)
728
+ self.report_domain("Input", self.data.domain)
729
+ self.report_domain("Output", self.data.domain)
730
730
  items = []
731
731
  values: Dict = self._get_values()
732
732
  for var in self.data.domain.variables + self.data.domain.metas:
@@ -734,7 +734,7 @@ class OWCreateInstance(OWWidget):
734
734
  if var.is_primitive():
735
735
  val = var.repr_val(val)
736
736
  items.append([f"{var.name}:", val])
737
- self.report_table(_tr.m[472, "Values"], items)
737
+ self.report_table( "Values", items)
738
738
 
739
739
  @staticmethod
740
740
  def sizeHint():
@@ -183,29 +183,29 @@ _Sorting = List[Tuple[str, int]]
183
183
 
184
184
  class OWTable(OWWidget):
185
185
  name = "Autoshow Data Table"
186
- description = _tr.m[1657, "View the dataset in a spreadsheet."]
186
+ description = "View the dataset in a spreadsheet."
187
187
  icon = "icons/Table.svg"
188
188
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
189
189
  icon = "icons_dev/Table.svg"
190
190
  category = "AAIT - TOOLBOX"
191
191
  priority = 50
192
- keywords = _tr.m[1658, "data table, view"]
192
+ keywords = "data table, view"
193
193
 
194
194
  class Inputs:
195
- data = Input(_tr.m[1659, "Data"], Table, default=True)
196
- data_subset = Input(_tr.m[1660, "Data Subset"], Table)
195
+ data = Input("Data", Table, default=True)
196
+ data_subset = Input("Data Subset", Table)
197
197
  input_autoshow = Input("AutoShowConfiguration", str, auto_summary=False)
198
198
 
199
199
  class Outputs:
200
- selected_data = Output(_tr.m[1661, "Selected Data"], Table, default=True)
200
+ selected_data = Output("Selected Data", Table, default=True)
201
201
  annotated_data = Output(ANNOTATED_DATA_SIGNAL_NAME, Table)
202
202
 
203
203
  class Warning(OWWidget.Warning):
204
204
  missing_sort_columns = Msg(
205
- (_tr.m[1662, "Cannot restore sorting.\n"] + _tr.m[1663, "Missing columns in input table: {}"])
205
+ ( "Cannot restore sorting.\n" + "Missing columns in input table: {}")
206
206
  )
207
207
  non_sortable_input = Msg(
208
- (_tr.m[1664, "Cannot restore sorting.\n"] + _tr.m[1665, "Input table cannot be sorted due to implementation constraints."])
208
+ ( "Cannot restore sorting.\n" + "Input table cannot be sorted due to implementation constraints.")
209
209
  )
210
210
 
211
211
  str_WidgetPositionning: str=Setting("None")
@@ -238,28 +238,28 @@ class OWTable(OWWidget):
238
238
  info_box = gui.vBox(self.controlArea, "Info")
239
239
  self.info_text = gui.widgetLabel(info_box)
240
240
 
241
- box = gui.vBox(self.controlArea, _tr.m[1666, "Variables"])
241
+ box = gui.vBox(self.controlArea, "Variables")
242
242
  self.c_show_attribute_labels = gui.checkBox(
243
243
  box, self, "show_attribute_labels",
244
- _tr.m[1667, "Show variable labels (if present)"],
244
+ "Show variable labels (if present)",
245
245
  callback=self._update_variable_labels)
246
246
 
247
247
  gui.checkBox(box, self, "show_distributions",
248
- _tr.m[1668, 'Visualize numeric values'],
248
+ 'Visualize numeric values',
249
249
  callback=self._on_distribution_color_changed)
250
- gui.checkBox(box, self, "color_by_class", _tr.m[1669, 'Color by instance classes'],
250
+ gui.checkBox(box, self, "color_by_class", 'Color by instance classes',
251
251
  callback=self._on_distribution_color_changed)
252
252
 
253
- box = gui.vBox(self.controlArea, _tr.m[1670, "Selection"])
253
+ box = gui.vBox(self.controlArea, "Selection")
254
254
 
255
- gui.checkBox(box, self, "select_rows", _tr.m[1671, "Select full rows"],
255
+ gui.checkBox(box, self, "select_rows", "Select full rows",
256
256
  callback=self._on_select_rows_changed)
257
257
 
258
258
  gui.rubber(self.controlArea)
259
259
 
260
- gui.button(self.buttonsArea, self, _tr.m[1672, "Restore Original Order"],
260
+ gui.button(self.buttonsArea, self, "Restore Original Order",
261
261
  callback=self.restore_order,
262
- tooltip=_tr.m[1673, "Show rows in the original order"],
262
+ tooltip="Show rows in the original order",
263
263
  autoDefault=False,
264
264
  attribute=Qt.WA_LayoutUsesWidgetRect)
265
265
  gui.auto_send(self.buttonsArea, self, "auto_commit")
@@ -417,7 +417,7 @@ class OWTable(OWWidget):
417
417
  self.info.set_input_summary(summary, details)
418
418
 
419
419
  if self.input is None:
420
- summary = [_tr.m[1674, "No data."]]
420
+ summary = [ "No data."]
421
421
  else:
422
422
  summary = tsummary.format_summary(self.input.summary)
423
423
  self.info_text.setText("\n".join(summary))
@@ -33,12 +33,12 @@ class OWChunker(base_widget.BaseListWidget):
33
33
  # Settings
34
34
  chunk_size: str = Setting("300")
35
35
  overlap: str = Setting("100")
36
- mode: str = Setting("words")
36
+ mode: str = Setting("Token")
37
37
  selected_column_name = Setting("content")
38
38
 
39
39
  class Inputs:
40
40
  data = Input("Data", Orange.data.Table)
41
- model = Input("Model", SentenceTransformer, auto_summary=False)
41
+ model = Input("Tokenizer", SentenceTransformer, auto_summary=False)
42
42
 
43
43
  class Outputs:
44
44
  data = Output("Chunked Data", Orange.data.Table)
@@ -66,15 +66,15 @@ class OWChunker(base_widget.BaseListWidget):
66
66
  self.setFixedHeight(490)
67
67
  #uic.loadUi(self.gui, self)
68
68
 
69
-
69
+ # Chunking method
70
70
  self.edit_mode = self.findChild(QComboBox, "comboBox")
71
- self.edit_mode.addItems(["words", "tokens", "sentence", "markdown"])
72
- index = self.edit_mode.findText(self.mode)
73
- self.edit_mode.setCurrentIndex(index)
74
- self.edit_mode.currentIndexChanged.connect(self.update_edit_mode)
71
+ self.edit_mode.setCurrentText(self.mode)
72
+ self.edit_mode.currentTextChanged.connect(self.update_edit_mode)
73
+ # Chunk size
75
74
  self.edit_chunkSize = self.findChild(QLineEdit, 'chunkSize')
76
75
  self.edit_chunkSize.setText(str(self.chunk_size))
77
76
  self.edit_chunkSize.textChanged.connect(self.update_chunk_size)
77
+ # Chunk overlap
78
78
  self.edit_overlap = self.findChild(QLineEdit, 'QLoverlap')
79
79
  self.edit_overlap.setText(str(self.overlap))
80
80
  self.edit_overlap.textChanged.connect(self.update_overlap)
@@ -98,9 +98,8 @@ class OWChunker(base_widget.BaseListWidget):
98
98
  def update_overlap(self, text):
99
99
  self.overlap = text
100
100
 
101
- def update_edit_mode(self, index):
102
- selected = self.edit_mode.itemText(index)
103
- self.mode = selected
101
+ def update_edit_mode(self, text):
102
+ self.mode = text
104
103
 
105
104
  def run(self):
106
105
  self.error("")
@@ -88,8 +88,7 @@ class OWConverseLLM(widget.OWWidget):
88
88
  def __init__(self):
89
89
  super().__init__()
90
90
  # Qt Management
91
- self.setFixedWidth(840)
92
- self.setFixedHeight(750)
91
+ self.resize(840, 750)
93
92
  uic.loadUi(self.gui, self)
94
93
  # Context
95
94
  self.lineEdit_n_ctx = self.findChild(QLineEdit, "lineEdit")
@@ -38,7 +38,6 @@ from orangecanvas.gui.utils import disconnected
38
38
  from orangewidget.utils.listview import ListViewSearch
39
39
 
40
40
  from orangecontrib.text.corpus import Corpus
41
- from Orange.widgets.settings import Setting
42
41
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
43
42
  from Orange.widgets.orangecontrib.AAIT.utils import widget_positioning
44
43
  else:
@@ -37,6 +37,9 @@ class OWEditTable(widget.OWWidget):
37
37
  if data is not None:
38
38
  self.data = data
39
39
  self.populate_table()
40
+ else:
41
+ self.Outputs.data.send(None)
42
+
40
43
 
41
44
  def __init__(self):
42
45
  super().__init__()