aait 2.3.12.2__tar.gz → 2.3.13__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 (273) hide show
  1. {aait-2.3.12.2 → aait-2.3.13}/PKG-INFO +1 -1
  2. {aait-2.3.12.2 → aait-2.3.13}/aait.egg-info/PKG-INFO +1 -1
  3. {aait-2.3.12.2 → aait-2.3.13}/aait.egg-info/SOURCES.txt +3 -0
  4. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/answers_llama.py +111 -34
  5. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWConverseLLM.py +1 -1
  6. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWExtractTokens.py +3 -4
  7. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWFileWithPath.py +14 -8
  8. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +1 -3
  9. aait-2.3.13/orangecontrib/AAIT/widgets/OWGenerateWord.py +576 -0
  10. aait-2.3.13/orangecontrib/AAIT/widgets/OWGetPages.py +144 -0
  11. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWLLMEngine.py +17 -6
  12. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWQueryLLM.py +4 -0
  13. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWReranking.py +4 -0
  14. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWSortAndSelect.py +1 -0
  15. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owedgellm.ui +81 -5
  16. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +2 -2
  17. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +11 -11
  18. aait-2.3.13/orangecontrib/AAIT/widgets/designer/owgenerate_word.ui +105 -0
  19. aait-2.3.13/orangecontrib/AAIT/widgets/designer/owgetpages.ui +87 -0
  20. aait-2.3.13/orangecontrib/AAIT/widgets/icons/book.png +0 -0
  21. {aait-2.3.12.2 → aait-2.3.13}/setup.py +1 -1
  22. aait-2.3.12.2/orangecontrib/AAIT/widgets/OWGenerateWord.py +0 -608
  23. aait-2.3.12.2/orangecontrib/AAIT/widgets/designer/owgenerate_word.ui +0 -58
  24. {aait-2.3.12.2 → aait-2.3.13}/License.txt +0 -0
  25. {aait-2.3.12.2 → aait-2.3.13}/aait.egg-info/dependency_links.txt +0 -0
  26. {aait-2.3.12.2 → aait-2.3.13}/aait.egg-info/entry_points.txt +0 -0
  27. {aait-2.3.12.2 → aait-2.3.13}/aait.egg-info/namespace_packages.txt +0 -0
  28. {aait-2.3.12.2 → aait-2.3.13}/aait.egg-info/requires.txt +0 -0
  29. {aait-2.3.12.2 → aait-2.3.13}/aait.egg-info/top_level.txt +0 -0
  30. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/__init__.py +0 -0
  31. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
  32. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
  33. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/__init__.py +0 -0
  34. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/answers.py +0 -0
  35. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/chunking.py +0 -0
  36. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/embeddings.py +0 -0
  37. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/lemmes.py +0 -0
  38. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
  39. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/process_documents.py +0 -0
  40. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
  41. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/llm/translations.py +0 -0
  42. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
  43. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
  44. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/MetManagement.py +0 -0
  45. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/OperationSystem.py +0 -0
  46. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
  47. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/__init__.py +0 -0
  48. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
  49. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/aait_table_viewer.py +0 -0
  50. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/base_widget.py +0 -0
  51. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
  52. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/import_uic.py +0 -0
  53. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
  54. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/mac_utils.py +0 -0
  55. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
  56. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
  57. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/subprocess_management.py +0 -0
  58. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/thread_management.py +0 -0
  59. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
  60. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
  61. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
  62. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
  63. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
  64. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/unlink_table_domain.py +0 -0
  65. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/widget_positioning.py +0 -0
  66. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/utils/windows_utils.py +0 -0
  67. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -0
  68. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWAccumulator.py +0 -0
  69. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWAddColumns.py +0 -0
  70. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
  71. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWAutoShowCreateInstance.py +0 -0
  72. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWAutoShowTable.py +0 -0
  73. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
  74. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
  75. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
  76. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
  77. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
  78. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWEditTable.py +0 -0
  79. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWEmptySwitch.py +0 -0
  80. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
  81. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
  82. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
  83. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWFileMetadata.py +0 -0
  84. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWFileSyncChecker.py +0 -0
  85. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWFusionNM.py +0 -0
  86. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
  87. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
  88. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
  89. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
  90. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWKeywordsDetection.py +0 -0
  91. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
  92. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
  93. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWLargeLanguageModel.py +0 -0
  94. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
  95. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWLoadDocuments.py +0 -0
  96. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +0 -0
  97. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Embeddings.py +0 -0
  98. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +0 -0
  99. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
  100. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
  101. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
  102. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
  103. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
  104. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
  105. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +0 -0
  106. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
  107. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
  108. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
  109. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
  110. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
  111. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
  112. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
  113. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWOperationSystem.py +0 -0
  114. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
  115. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
  116. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
  117. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
  118. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWQuadrantclicker.py +0 -0
  119. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
  120. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +0 -0
  121. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py +0 -0
  122. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -0
  123. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
  124. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
  125. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
  126. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
  127. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -0
  128. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
  129. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/__init__.py +0 -0
  130. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
  131. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/ow_OperationSystem.ui +0 -0
  132. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
  133. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
  134. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owaccumulator.ui +0 -0
  135. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owaddcolumns.ui +0 -0
  136. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
  137. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
  138. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
  139. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
  140. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
  141. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owemptyswitch.ui +0 -0
  142. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
  143. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
  144. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owexecutescript_TEST.ui +0 -0
  145. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
  146. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owfilemetadata.ui +0 -0
  147. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owfilesyncchecker.ui +0 -0
  148. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
  149. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owfusion_nm.ui +0 -0
  150. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
  151. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
  152. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
  153. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui +0 -0
  154. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
  155. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owlargelanguagemodel.ui +0 -0
  156. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
  157. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
  158. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owloaddocuments.ui +0 -0
  159. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
  160. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
  161. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
  162. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
  163. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
  164. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
  165. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
  166. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
  167. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_2.5_32b.ui +0 -0
  168. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_1.5b_q6.ui +0 -0
  169. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_3b_q4.ui +0 -0
  170. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q4.ui +0 -0
  171. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q6.ui +0 -0
  172. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_qwencoder_7b.ui +0 -0
  173. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
  174. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
  175. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
  176. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
  177. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
  178. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
  179. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owquadrant_clicker.ui +0 -0
  180. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
  181. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
  182. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owsavewithpath.ui +0 -0
  183. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owselect_column_dynamic.ui +0 -0
  184. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owselect_row_dynamic.ui +0 -0
  185. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owsortandselect.ui +0 -0
  186. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
  187. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
  188. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
  189. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
  190. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -0
  191. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
  192. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/CreateInstance.svg +0 -0
  193. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
  194. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
  195. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/Table.svg +0 -0
  196. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
  197. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/blue_down_arrow.svg +0 -0
  198. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
  199. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
  200. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
  201. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/document_generator.png +0 -0
  202. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
  203. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/edge_llm.svg +0 -0
  204. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
  205. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
  206. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/green_check.svg +0 -0
  207. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
  208. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
  209. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
  210. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
  211. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
  212. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
  213. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
  214. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
  215. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
  216. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
  217. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
  218. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
  219. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
  220. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/operationSystem.png +0 -0
  221. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
  222. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
  223. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
  224. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
  225. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owaccumulator.png +0 -0
  226. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
  227. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
  228. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
  229. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
  230. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owemptyswitch.svg +0 -0
  231. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owenvinfo.png +0 -0
  232. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
  233. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
  234. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owfilemetadata.svg +0 -0
  235. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -0
  236. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owfilesyncchecker.svg +0 -0
  237. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
  238. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owfusion_nm.png +0 -0
  239. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
  240. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
  241. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owkeywords.png +0 -0
  242. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owkeywordsdetection.png +0 -0
  243. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owlargelanguagemodel.svg +0 -0
  244. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
  245. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owloaddocuments.svg +0 -0
  246. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
  247. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_embeddings.svg +0 -0
  248. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
  249. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
  250. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
  251. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
  252. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
  253. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
  254. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
  255. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
  256. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
  257. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
  258. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
  259. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owselectcolumndynamique.png +0 -0
  260. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owsortandselect.svg +0 -0
  261. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
  262. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
  263. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
  264. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
  265. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/quadrantclicker.svg +0 -0
  266. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
  267. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
  268. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
  269. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
  270. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
  271. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/AAIT/widgets/icons/zip.svg +0 -0
  272. {aait-2.3.12.2 → aait-2.3.13}/orangecontrib/__init__.py +0 -0
  273. {aait-2.3.12.2 → aait-2.3.13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aait
3
- Version: 2.3.12.2
3
+ Version: 2.3.13
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.12.2
3
+ Version: 2.3.13
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
@@ -72,6 +72,7 @@ orangecontrib/AAIT/widgets/OWFusionNM.py
72
72
  orangecontrib/AAIT/widgets/OWGenerateQuestions.py
73
73
  orangecontrib/AAIT/widgets/OWGenerateSynthesis.py
74
74
  orangecontrib/AAIT/widgets/OWGenerateWord.py
75
+ orangecontrib/AAIT/widgets/OWGetPages.py
75
76
  orangecontrib/AAIT/widgets/OWInputSelector.py
76
77
  orangecontrib/AAIT/widgets/OWKeywords.py
77
78
  orangecontrib/AAIT/widgets/OWKeywordsDetection.py
@@ -144,6 +145,7 @@ orangecontrib/AAIT/widgets/designer/owfusion_nm.ui
144
145
  orangecontrib/AAIT/widgets/designer/owgenerate_word.ui
145
146
  orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui
146
147
  orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui
148
+ orangecontrib/AAIT/widgets/designer/owgetpages.ui
147
149
  orangecontrib/AAIT/widgets/designer/owkeyword.ui
148
150
  orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui
149
151
  orangecontrib/AAIT/widgets/designer/owlangdetect.ui
@@ -190,6 +192,7 @@ orangecontrib/AAIT/widgets/icons/Mistral.png
190
192
  orangecontrib/AAIT/widgets/icons/Table.svg
191
193
  orangecontrib/AAIT/widgets/icons/apply_rules.svg
192
194
  orangecontrib/AAIT/widgets/icons/blue_down_arrow.svg
195
+ orangecontrib/AAIT/widgets/icons/book.png
193
196
  orangecontrib/AAIT/widgets/icons/category.svg
194
197
  orangecontrib/AAIT/widgets/icons/dark_green.txt
195
198
  orangecontrib/AAIT/widgets/icons/de.png
@@ -6,9 +6,15 @@ try:
6
6
  except:
7
7
  pass
8
8
  import psutil
9
+ import base64
9
10
  import ntpath
10
11
  import platform
11
12
  from llama_cpp import Llama
13
+ try:
14
+ from llama_cpp.llama_chat_format import Qwen3VLChatHandler
15
+ except Exception as e:
16
+ print("Missing installs for Qwen3-VL:", e)
17
+ pass
12
18
  from Orange.data import Domain, StringVariable, Table
13
19
 
14
20
 
@@ -105,7 +111,7 @@ def count_tokens(model: Llama, text: str) -> int:
105
111
  return len(tokens)
106
112
 
107
113
 
108
- def load_model(model_path, use_gpu, n_ctx=10000):
114
+ def load_model(model_path, use_gpu, n_ctx=10000, k_cache=0, v_cache=0):
109
115
  """
110
116
  Charge un modèle GGUF avec llama_cpp.Llama.
111
117
 
@@ -135,6 +141,8 @@ def load_model(model_path, use_gpu, n_ctx=10000):
135
141
  use_mlock=False,
136
142
  embedding=False,
137
143
  verbose=True, #hahahahahaha remettre a False
144
+ type_k=k_cache,
145
+ type_v=v_cache
138
146
  )
139
147
  return model
140
148
  except Exception as e:
@@ -153,7 +161,14 @@ def generate_answers(table, model_path, use_gpu=False, n_ctx=4096, query_paramet
153
161
  class_dom = list(data.domain.class_vars)
154
162
 
155
163
  # Chargement modèle (llama_cpp)
156
- model = load_model(model_path=model_path, use_gpu=use_gpu, n_ctx=n_ctx)
164
+ if not "Qwen3-VL-8B-Instruct" in model_path:
165
+ model = load_model(model_path=model_path,
166
+ use_gpu=use_gpu,
167
+ n_ctx=n_ctx,
168
+ k_cache=query_parameters["k_cache"],
169
+ v_cache=query_parameters["v_cache"])
170
+ else:
171
+ model = load_Qwen3VL(model_path=model_path, n_ctx=n_ctx)
157
172
  if model is None:
158
173
  return None
159
174
  # Paramètres de génération par défaut
@@ -172,27 +187,34 @@ def generate_answers(table, model_path, use_gpu=False, n_ctx=4096, query_paramet
172
187
  assistant_prompt = row["assistant prompt"].value if "assistant prompt" in data.domain else ""
173
188
 
174
189
  # Appliquer ton template existant (inchangé)
175
- prompt = prompt_management.apply_prompt_template(
176
- model_path,
177
- user_prompt=prompt,
178
- assistant_prompt=assistant_prompt,
179
- system_prompt=system_prompt
180
- )
181
-
182
- prompt = handle_context_length(prompt, model, n_ctx, method="truncate", progress_callback=progress_callback)
183
-
184
- answer = run_query(
185
- prompt,
186
- model=model,
187
- max_tokens=query_parameters["max_tokens"],
188
- temperature=query_parameters["temperature"],
189
- top_p=query_parameters["top_p"],
190
- top_k=query_parameters["top_k"],
191
- repeat_penalty=query_parameters["repeat_penalty"],
192
- workflow_id=workflow_id,
193
- argself=argself,
194
- progress_callback=progress_callback
195
- )
190
+ if not "Qwen3-VL-8B-Instruct" in model_path:
191
+ prompt = prompt_management.apply_prompt_template(
192
+ model_path,
193
+ user_prompt=prompt,
194
+ assistant_prompt=assistant_prompt,
195
+ system_prompt=system_prompt
196
+ )
197
+
198
+ prompt = handle_context_length(prompt, model, n_ctx, method="truncate", margin=query_parameters["max_tokens"], progress_callback=progress_callback)
199
+
200
+ answer = run_query(
201
+ prompt,
202
+ model=model,
203
+ max_tokens=query_parameters["max_tokens"],
204
+ temperature=query_parameters["temperature"],
205
+ top_p=query_parameters["top_p"],
206
+ top_k=query_parameters["top_k"],
207
+ repeat_penalty=query_parameters["repeat_penalty"],
208
+ workflow_id=workflow_id,
209
+ argself=argself,
210
+ progress_callback=progress_callback
211
+ )
212
+ else:
213
+ image_paths = [p.strip() for p in row["image paths"].value.split(";")] if "image paths" in data.domain else []
214
+ answer = run_Qwen3VL_query(query=prompt,
215
+ image_paths=image_paths,
216
+ model=model,
217
+ progress_callback=progress_callback)
196
218
 
197
219
  if answer == "":
198
220
  answer = (
@@ -251,6 +273,7 @@ class StopCallback:
251
273
 
252
274
  return True # Continue generation
253
275
 
276
+
254
277
  def write_tokens_to_file(token: str, workflow_id=""):
255
278
  chemin_dossier = MetManagement.get_api_local_folder(workflow_id=workflow_id)
256
279
  if os.path.exists(chemin_dossier):
@@ -325,7 +348,7 @@ def run_query(prompt, model, max_tokens=4096, temperature=0, top_p=0, top_k=40,
325
348
  return answer
326
349
 
327
350
 
328
- def generate_conversation(table, model, conversation=None, n_ctx=32768, progress_callback=None, argself=None):
351
+ def generate_conversation(table, model, conversation=None, n_ctx=32768, query_parameters=None, workflow_id="", progress_callback=None, argself=None):
329
352
  """
330
353
  Generates a response using a language model and appends it to a conversation.
331
354
 
@@ -380,7 +403,7 @@ def generate_conversation(table, model, conversation=None, n_ctx=32768, progress
380
403
  prompt += prompt_management.apply_user_template(model_path, user_prompt)
381
404
  prompt += prompt_management.apply_assistant_template(model_path, assistant_prompt)
382
405
 
383
- prompt = handle_context_length(prompt, model, n_ctx, method="truncate", progress_callback=progress_callback)
406
+ prompt = handle_context_length(prompt, model, n_ctx, method="truncate", margin=query_parameters["max_tokens"], progress_callback=progress_callback)
384
407
 
385
408
  # Return progression to fill the user & assistant cards
386
409
  progress_callback(("user", user_prompt))
@@ -390,7 +413,7 @@ def generate_conversation(table, model, conversation=None, n_ctx=32768, progress
390
413
  conversation.append({"role": "user", "content": user_prompt})
391
414
 
392
415
  # Generate the answer
393
- answer = run_query(prompt, model=model, argself=argself, progress_callback=progress_callback)
416
+ answer = run_query(prompt, model=model, argself=argself, workflow_id=workflow_id, progress_callback=progress_callback)
394
417
 
395
418
  # Split the thinking block and remove it from the answer
396
419
  think_text, final_answer = split_think(answer=answer)
@@ -431,13 +454,6 @@ def split_think(answer: str):
431
454
  return think_text, final_answer
432
455
 
433
456
 
434
- def conversation_to_text(conversation):
435
- if not conversation:
436
- return ""
437
- else:
438
- pass #TODO
439
-
440
-
441
457
  def handle_context_length(prompt, model, n_ctx, method="truncate", margin=0, progress_callback=None):
442
458
  """
443
459
  Truncate a prompt to fit within n_ctx tokens, leaving margin for generation.
@@ -456,11 +472,72 @@ def handle_context_length(prompt, model, n_ctx, method="truncate", margin=0, pro
456
472
  prompt = model.detokenize(tokens).decode("utf-8") if tokens else ""
457
473
  if progress_callback:
458
474
  warning = (
459
- f"Complete prompt contains {initial_length} tokens - context limit is {limit}. "
475
+ f"Complete prompt contains {initial_length} tokens - context limit is {limit} (Context length - Max tokens). "
460
476
  f"The {truncated_length} last tokens have been kept in the prompt."
461
477
  )
462
478
  progress_callback(("warning", warning))
463
479
  return prompt
480
+ elif method == "summarize":
481
+ pass
464
482
  else:
465
483
  return prompt
466
484
 
485
+
486
+
487
+ # For pure display
488
+ def conversation_to_text(conversation):
489
+ if not conversation:
490
+ return ""
491
+ else:
492
+ pass #TODO
493
+
494
+
495
+
496
+ def load_Qwen3VL(model_path, n_ctx=32768):
497
+ folder = os.path.dirname(model_path)
498
+ mmproj_path = os.path.join(folder, "mmproj-Qwen3-VL-8B-Instruct-F16.gguf")
499
+ if not os.path.exists(mmproj_path):
500
+ print("Something is wrong with your model : couldn't find mmproj-Qwen3-VL-8B-Instruct-F16.gguf")
501
+ return None
502
+ chat_handler = Qwen3VLChatHandler(clip_model_path=mmproj_path)
503
+ model = Llama(model_path=model_path,
504
+ chat_handler=chat_handler,
505
+ n_ctx=n_ctx,
506
+ n_gpu_layers=-1)
507
+ return model
508
+
509
+
510
+ def run_Qwen3VL_query(query, image_paths, model, system_prompt=" ", progress_callback=None):
511
+ image_messages = []
512
+ for image_path in image_paths:
513
+ data_uri = convert_to_uri(image_path)
514
+ image_messages.append({"type": "image_url", "image_url": {"url": data_uri}})
515
+ image_messages.append({"type": "text", "text": query})
516
+
517
+ messages = [{"role": "system", "content": system_prompt},
518
+ {"role": "user", "content": image_messages}]
519
+ generator = model.create_chat_completion(messages=messages, stream=True)
520
+
521
+ full_response = ""
522
+ for chunk in generator:
523
+ # chunk is a dict, often with a 'choices' list
524
+ for choice in chunk.get("choices", []):
525
+ # Each choice may have a 'delta' dict with 'content'
526
+ delta = choice.get("delta", {})
527
+ token = delta.get("content")
528
+ if token:
529
+ full_response += token
530
+ if progress_callback is not None:
531
+ progress_callback(("assistant", token))
532
+ return full_response
533
+
534
+
535
+
536
+ def convert_to_uri(image_path):
537
+ with open(image_path, "rb") as f:
538
+ image_bytes = f.read()
539
+ b64_data = base64.b64encode(image_bytes).decode("utf-8")
540
+ data_uri = f"data:image/png;base64,{b64_data}"
541
+ return data_uri
542
+
543
+
@@ -164,7 +164,7 @@ class OWConverseLLM(widget.OWWidget):
164
164
  elif action == "user":
165
165
  user_card = UserMessageCard(value)
166
166
  self.add_message_card(user_card)
167
- elif action == "assistant:":
167
+ elif action == "assistant":
168
168
  if self.current_assistant_card is None:
169
169
  assistant_card = AssistantMessageCard(value)
170
170
  self.add_message_card(assistant_card)
@@ -3,7 +3,6 @@ import sys
3
3
 
4
4
  from Orange.data import Table, Domain, StringVariable
5
5
  from AnyQt.QtWidgets import QApplication
6
- from Orange.widgets import widget
7
6
  from Orange.widgets.settings import Setting
8
7
  from Orange.widgets.utils.signals import Input, Output
9
8
 
@@ -15,7 +14,7 @@ if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).
15
14
  else:
16
15
  from orangecontrib.AAIT.utils.import_uic import uic
17
16
  from orangecontrib.AAIT.utils.initialize_from_ini import apply_modification_from_python_file
18
-
17
+ from orangecontrib.AAIT.utils import base_widget
19
18
 
20
19
  @apply_modification_from_python_file(filepath_original_widget=__file__)
21
20
  class OWExtractTokens(base_widget.BaseListWidget):
@@ -28,7 +27,7 @@ class OWExtractTokens(base_widget.BaseListWidget):
28
27
  gui = os.path.join(os.path.dirname(os.path.abspath(__file__)), "designer/owextracttokens.ui")
29
28
  want_control_area = False
30
29
  priority = 1060
31
- selected_column_name = Setting("")
30
+ selected_column_name = Setting("content")
32
31
 
33
32
  class Inputs:
34
33
  data = Input("Data", Table)
@@ -51,7 +50,7 @@ class OWExtractTokens(base_widget.BaseListWidget):
51
50
  # Qt Management
52
51
  self.setFixedWidth(470)
53
52
  self.setFixedHeight(600)
54
- uic.loadUi(self.gui, self)
53
+ #uic.loadUi(self.gui, self)
55
54
 
56
55
  # Data Management
57
56
  self.data = None
@@ -2,9 +2,8 @@ import os
2
2
  import sys
3
3
 
4
4
  import Orange.data
5
- from AnyQt.QtWidgets import QApplication
5
+ from AnyQt.QtWidgets import QApplication, QPushButton
6
6
  from Orange.data import StringVariable
7
- from Orange.widgets import widget
8
7
  from Orange.widgets.utils.signals import Input, Output
9
8
  from AnyQt.QtWidgets import QCheckBox
10
9
  from Orange.widgets.settings import Setting
@@ -29,7 +28,7 @@ class OWFileWithPath(base_widget.BaseListWidget):
29
28
  priority = 1060
30
29
 
31
30
  # Settings
32
- selected_column_name = Setting("content")
31
+ selected_column_name = Setting("path")
33
32
 
34
33
  class Inputs:
35
34
  filepath = Input("Path", str, auto_summary=False)
@@ -50,14 +49,16 @@ class OWFileWithPath(base_widget.BaseListWidget):
50
49
  @Inputs.path_table
51
50
  def set_path_table(self, in_path_table):
52
51
  self.in_path_table = in_path_table
52
+ if self.in_path_table is None:
53
+ self.Outputs.data.send(None)
54
+ return
53
55
  if self.in_path_table is not None:
54
56
  self.var_selector.add_variables(self.in_path_table.domain)
55
57
  self.var_selector.select_variable_by_name(self.selected_column_name)
56
- if "path" in in_path_table.domain:
57
- self.filepath = in_path_table[0]["path"].value
58
- self.run()
59
- else:
60
- self.warning("You need a 'path' variable from which the data will be loaded.")
58
+
59
+ self.filepath = in_path_table[0][self.selected_column_name].value
60
+ self.run()
61
+
61
62
  if self.autorun:
62
63
  self.run()
63
64
 
@@ -66,6 +67,8 @@ class OWFileWithPath(base_widget.BaseListWidget):
66
67
  super().__init__()
67
68
  # Qt Management
68
69
  #uic.loadUi(self.gui, self)
70
+ self.setFixedWidth(500)
71
+ self.setFixedHeight(450)
69
72
  self.checkbox_interface = self.findChild(QCheckBox, 'checkBox')
70
73
  if self.strloadAsString=="False":
71
74
  self.checkbox_interface.setChecked(False)
@@ -80,6 +83,9 @@ class OWFileWithPath(base_widget.BaseListWidget):
80
83
  self.data = None
81
84
  self.autorun = True
82
85
  self.post_initialized()
86
+
87
+ self.pushButton_run = self.findChild(QPushButton, 'pushButton_send')
88
+ self.pushButton_run.clicked.connect(self.run)
83
89
  def on_checkbox_toggled(self):
84
90
  if self.checkbox_interface.isChecked():
85
91
  self.strloadAsString="True"
@@ -54,7 +54,7 @@ class OWFileFromDir(base_widget.BaseListWidget):
54
54
  super().__init__()
55
55
  # Qt Management
56
56
  self.setFixedWidth(500)
57
- self.setFixedHeight(600)
57
+ self.setFixedHeight(620)
58
58
  if self.is_dash_int_castable(self.time_filter)!=0:
59
59
  self.time_filter = "0-0-0-1"
60
60
 
@@ -332,10 +332,8 @@ class OWFileFromDir(base_widget.BaseListWidget):
332
332
 
333
333
  if __name__ == "__main__":
334
334
  app = QApplication(sys.argv)
335
- #data = Orange.data.Table(r"C:\Users\max83\Desktop\data.tab")
336
335
  my_widget = OWFileFromDir()
337
336
  my_widget.show()
338
- #my_widget.set_path_table(data)
339
337
 
340
338
  if hasattr(app, "exec"):
341
339
  app.exec()