aait 2.0.2.2__tar.gz → 2.0.2.4__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.
- {aait-2.0.2.2 → aait-2.0.2.4}/PKG-INFO +1 -1
- {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/PKG-INFO +1 -1
- {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/SOURCES.txt +10 -8
- {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/requires.txt +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/MetManagement.py +2 -2
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/mac_utils.py +8 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/windows_utils.py +1 -1
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWExtractTokens.py +1 -1
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +1 -1
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLMStudio.py +1 -1
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Solar.py +1 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +30 -26
- {aait-2.0.2.2 → aait-2.0.2.4}/setup.py +3 -2
- aait-2.0.2.4/tests/test_class_values_context_handler.py +75 -0
- aait-2.0.2.4/tests/test_credentials.py +76 -0
- aait-2.0.2.4/tests/test_domain_context_handler.py +401 -0
- aait-2.0.2.4/tests/test_gui.py +140 -0
- aait-2.0.2.4/tests/test_matplotlib_export.py +43 -0
- aait-2.0.2.4/tests/test_perfect_domain_context_handler.py +148 -0
- aait-2.0.2.4/tests/test_scatterplot_density.py +59 -0
- aait-2.0.2.4/tests/test_settings_handler.py +27 -0
- aait-2.0.2.4/tests/test_widgets_outputs.py +29 -0
- aait-2.0.2.4/tests/test_workflows.py +80 -0
- aait-2.0.2.2/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +0 -125
- aait-2.0.2.2/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -144
- aait-2.0.2.2/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -89
- aait-2.0.2.2/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +0 -42
- aait-2.0.2.2/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -32
- aait-2.0.2.2/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -22
- aait-2.0.2.2/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
- aait-2.0.2.2/orangecontrib/AAIT/widgets/icons/zip.svg +0 -26
- {aait-2.0.2.2 → aait-2.0.2.4}/License.txt +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/dependency_links.txt +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/entry_points.txt +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/namespace_packages.txt +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/top_level.txt +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/SignalReceiver.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/audit_widget.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (2).TIF +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (3).TIF +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (4).TIF +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0001.csv +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0002.csv +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0003.csv +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dynamic_results.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/test_all_widgets.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/test_server.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_4all.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_chunking.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_edit_table.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_mpnet_create_embeddings.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_optimisation.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_optimisationselection.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_powfactory.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_queryllm.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_spacy_md_fr_lemmatizer.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_traduction.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widgets_model.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/encapsulation/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/GPT4ALL.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/GPT4ALL_killer.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/MergeBaseLora.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/SERV_kill_workflow.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/SERV_requests.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/SERV_start_workflow.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/Tutorial_Finetuning.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/Tutorial_TestFinetuning.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/answers.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/chunking.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/embeddings.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/finetuning.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/functions_DatasetGeneration.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/functions_Finetuning.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/lemmes.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/main_DatasetGeneration.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/main_Finetuning.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/process_documents.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/quickpy.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/test.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/test_functions.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/translations.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/CheckMetaData.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/check_data_in.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/import_uic.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/subprocess_management.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/thread_management.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWEditTable.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWFileWithPath.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLLM4ALL.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/keyword.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/llm4all.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/__init__.py +0 -0
- {aait-2.0.2.2 → aait-2.0.2.4}/setup.cfg +0 -0
|
@@ -97,7 +97,6 @@ orangecontrib/AAIT/widgets/OWExecuteScript.py
|
|
|
97
97
|
orangecontrib/AAIT/widgets/OWExtraChunks.py
|
|
98
98
|
orangecontrib/AAIT/widgets/OWExtractTokens.py
|
|
99
99
|
orangecontrib/AAIT/widgets/OWFileWithPath.py
|
|
100
|
-
orangecontrib/AAIT/widgets/OWFindFilesFromDir.py
|
|
101
100
|
orangecontrib/AAIT/widgets/OWGenerateQuestions.py
|
|
102
101
|
orangecontrib/AAIT/widgets/OWGenerateSynthesis.py
|
|
103
102
|
orangecontrib/AAIT/widgets/OWInputSelector.py
|
|
@@ -130,12 +129,10 @@ orangecontrib/AAIT/widgets/OWQueryLLM.py
|
|
|
130
129
|
orangecontrib/AAIT/widgets/OWRandomData.py
|
|
131
130
|
orangecontrib/AAIT/widgets/OWReranking.py
|
|
132
131
|
orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py
|
|
133
|
-
orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py
|
|
134
132
|
orangecontrib/AAIT/widgets/OWStartLoop.py
|
|
135
133
|
orangecontrib/AAIT/widgets/OWTable2Corpus.py
|
|
136
134
|
orangecontrib/AAIT/widgets/OWTranslation.py
|
|
137
135
|
orangecontrib/AAIT/widgets/OWTrigger.py
|
|
138
|
-
orangecontrib/AAIT/widgets/OWUnzipFolder.py
|
|
139
136
|
orangecontrib/AAIT/widgets/POW_Wfactory.py
|
|
140
137
|
orangecontrib/AAIT/widgets/__init__.py
|
|
141
138
|
orangecontrib/AAIT/widgets/designer/owMarkdown.ui
|
|
@@ -151,7 +148,6 @@ orangecontrib/AAIT/widgets/designer/owexecutescript.ui
|
|
|
151
148
|
orangecontrib/AAIT/widgets/designer/owextrachunks.ui
|
|
152
149
|
orangecontrib/AAIT/widgets/designer/owextracttokens.ui
|
|
153
150
|
orangecontrib/AAIT/widgets/designer/owfilewithpath.ui
|
|
154
|
-
orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui
|
|
155
151
|
orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui
|
|
156
152
|
orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui
|
|
157
153
|
orangecontrib/AAIT/widgets/designer/owkeyword.ui
|
|
@@ -178,7 +174,6 @@ orangecontrib/AAIT/widgets/designer/owstartloop.ui
|
|
|
178
174
|
orangecontrib/AAIT/widgets/designer/owtable2corpus.ui
|
|
179
175
|
orangecontrib/AAIT/widgets/designer/owtranslation.ui
|
|
180
176
|
orangecontrib/AAIT/widgets/designer/owtrigger.ui
|
|
181
|
-
orangecontrib/AAIT/widgets/designer/owunzipfolder.ui
|
|
182
177
|
orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg
|
|
183
178
|
orangecontrib/AAIT/widgets/icons/MDViewer.png
|
|
184
179
|
orangecontrib/AAIT/widgets/icons/Mistral.png
|
|
@@ -214,7 +209,6 @@ orangecontrib/AAIT/widgets/icons/owedittable.svg
|
|
|
214
209
|
orangecontrib/AAIT/widgets/icons/owembeddings.svg
|
|
215
210
|
orangecontrib/AAIT/widgets/icons/owexecutescript.svg
|
|
216
211
|
orangecontrib/AAIT/widgets/icons/owextracttokens.svg
|
|
217
|
-
orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg
|
|
218
212
|
orangecontrib/AAIT/widgets/icons/owfilewithpath.svg
|
|
219
213
|
orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg
|
|
220
214
|
orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png
|
|
@@ -236,8 +230,16 @@ orangecontrib/AAIT/widgets/icons/owtranslation.svg
|
|
|
236
230
|
orangecontrib/AAIT/widgets/icons/owtrigger.svg
|
|
237
231
|
orangecontrib/AAIT/widgets/icons/processdocuments.svg
|
|
238
232
|
orangecontrib/AAIT/widgets/icons/qwen-color.png
|
|
239
|
-
orangecontrib/AAIT/widgets/icons/select_dynamic_row.png
|
|
240
233
|
orangecontrib/AAIT/widgets/icons/startloop.png
|
|
241
234
|
orangecontrib/AAIT/widgets/icons/tools.png
|
|
242
235
|
orangecontrib/AAIT/widgets/icons/widgetFactory.svg
|
|
243
|
-
|
|
236
|
+
tests/test_class_values_context_handler.py
|
|
237
|
+
tests/test_credentials.py
|
|
238
|
+
tests/test_domain_context_handler.py
|
|
239
|
+
tests/test_gui.py
|
|
240
|
+
tests/test_matplotlib_export.py
|
|
241
|
+
tests/test_perfect_domain_context_handler.py
|
|
242
|
+
tests/test_scatterplot_density.py
|
|
243
|
+
tests/test_settings_handler.py
|
|
244
|
+
tests/test_widgets_outputs.py
|
|
245
|
+
tests/test_workflows.py
|
|
@@ -1357,7 +1357,7 @@ def get_second_from_1970():
|
|
|
1357
1357
|
|
|
1358
1358
|
def write_file_time(path):
|
|
1359
1359
|
time= get_second_from_1970()
|
|
1360
|
-
time_ok=path[:-
|
|
1360
|
+
time_ok=path[:-3]+".ok"
|
|
1361
1361
|
reset_files([time_ok])
|
|
1362
1362
|
with open(path, "w") as f:
|
|
1363
1363
|
f.write(str(time))
|
|
@@ -1369,7 +1369,7 @@ def write_file_time(path):
|
|
|
1369
1369
|
return
|
|
1370
1370
|
|
|
1371
1371
|
def read_file_time(path):
|
|
1372
|
-
time_ok = path[:-
|
|
1372
|
+
time_ok = path[:-3] + ".ok"
|
|
1373
1373
|
for _ in range(100):
|
|
1374
1374
|
if not os.path.exists(time_ok):
|
|
1375
1375
|
time.sleep(0.5)
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import subprocess
|
|
1
2
|
import os
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\","/"):
|
|
6
|
+
from Orange.widgets.orangecontrib.AAIT.utils import SimpleDialogQt
|
|
7
|
+
else:
|
|
8
|
+
from orangecontrib.AAIT.utils import SimpleDialogQt
|
|
2
9
|
|
|
3
10
|
def mac_shellcopy(src, dest):
|
|
4
11
|
"""
|
|
@@ -8,6 +15,7 @@ def mac_shellcopy(src, dest):
|
|
|
8
15
|
:param dest: Chemin de destination (str)
|
|
9
16
|
:returns: True si succès, False sinon
|
|
10
17
|
"""
|
|
18
|
+
import io
|
|
11
19
|
from tqdm import tqdm
|
|
12
20
|
|
|
13
21
|
BUFFER_SIZE = 10 * 1024 * 1024 # 10MB buffer
|
|
@@ -114,7 +114,7 @@ def tokens_to_column(table):
|
|
|
114
114
|
|
|
115
115
|
new_data_rows = []
|
|
116
116
|
for i, row in enumerate(table):
|
|
117
|
-
tokens =
|
|
117
|
+
tokens = table.tokens[i]
|
|
118
118
|
|
|
119
119
|
# Pad token list to max_tokens with empty strings
|
|
120
120
|
padded_tokens = tokens + [''] * (max_tokens - len(tokens))
|
|
@@ -260,7 +260,7 @@ class OWGenerateSynthesis(widget.OWWidget):
|
|
|
260
260
|
current_length = len(embedder.tokenizer(partial_summaries)["input_ids"])
|
|
261
261
|
self.label_progress_3.setText(f"Resulting length from precedent chunks : {current_length} tokens")
|
|
262
262
|
chunks, _ = chunking.chunk_words(partial_summaries, embedder.tokenizer, chunk_size=25000, chunk_overlap=200)
|
|
263
|
-
self.label_progress_2.setText("Finalising the current summary...")
|
|
263
|
+
self.label_progress_2.setText(f"Finalising the current summary...")
|
|
264
264
|
return self.generate_synthesis_on_chunk(model, chunks[0], llm=llm, prompt_template=prompt4)
|
|
265
265
|
|
|
266
266
|
|
|
@@ -169,7 +169,7 @@ class OWLMStudio(widget.OWWidget):
|
|
|
169
169
|
for i, row in enumerate(self.data):
|
|
170
170
|
features = list(self.data[i])
|
|
171
171
|
metas = list(self.data.metas[i])
|
|
172
|
-
result = lmstudio.appel_lmstudio(str(row["prompt"]), self.model
|
|
172
|
+
result = lmstudio.appel_lmstudio(str(row["prompt"]), self.model)
|
|
173
173
|
metas.append(result)
|
|
174
174
|
rows.append(features + metas)
|
|
175
175
|
answer_dom = [StringVariable("Answer")]
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModel_CE_MiniLML6(widget.OWWidget):
|
|
22
22
|
name = "Cross Encoder - MiniLM L6 v2"
|
|
23
23
|
description = "Load the cross encoder MiniLM L6 v2 from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/owmodel_ce_minilml6.svg"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/owmodel_ce_minilml6.svg"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelFalcon(widget.OWWidget):
|
|
22
22
|
name = "Falcon 3 7B"
|
|
23
23
|
description = "Load the model Solar from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/owmodel_falcon.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/owmodel_falcon.png"
|
|
@@ -22,6 +22,7 @@ else:
|
|
|
22
22
|
class OWModel_HelsinkiEnFr(widget.OWWidget):
|
|
23
23
|
name = "Model - Translation - Helsinki EN-FR"
|
|
24
24
|
description = "Load the translation model Helsinki EN-FR from the AAIT Store"
|
|
25
|
+
category = "AAIT - Models"
|
|
25
26
|
icon = "icons/owmodel_helsinki_en_fr.svg"
|
|
26
27
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
27
28
|
icon = "icons_dev/owmodel_helsinki_en_fr.svg"
|
|
@@ -23,6 +23,7 @@ else:
|
|
|
23
23
|
class OWModel_HelsinkiFrEn(widget.OWWidget):
|
|
24
24
|
name = "Model - Translation - Helsinki FR-EN"
|
|
25
25
|
description = "Load the translation model Helsinki FR-EN from the AAIT Store"
|
|
26
|
+
category = "AAIT - Models"
|
|
26
27
|
icon = "icons/owmodel_helsinki_fr_en.svg"
|
|
27
28
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
28
29
|
icon = "icons_dev/owmodel_helsinki_fr_en.svg"
|
|
@@ -22,6 +22,7 @@ else:
|
|
|
22
22
|
class OWModelMPNET(widget.OWWidget):
|
|
23
23
|
name = "Model - Embeddings - MPNET"
|
|
24
24
|
description = "Load the embeddings model all-mpnet-base-v2 from the AAIT Store"
|
|
25
|
+
category = "AAIT - Models"
|
|
25
26
|
icon = "icons/owmodel_mpnet.svg"
|
|
26
27
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
27
28
|
icon = "icons_dev/owmodel_mpnet.svg"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelMistral(widget.OWWidget):
|
|
22
22
|
name = "Mistral 7B"
|
|
23
23
|
description = "Load the model Mistral from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/Mistral.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/Mistral.png"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelQwen(widget.OWWidget):
|
|
22
22
|
name = "QwenCoder 7B"
|
|
23
23
|
description = "Load the model QwenCoder from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/qwen-color.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/qwen-color.png"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelQwenInstruct1B5Q4(widget.OWWidget):
|
|
22
22
|
name = "Qwen Instruct 1.5B Q6"
|
|
23
23
|
description = "Load the model Qwen instruct from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/qwen-color.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/qwen-color.png"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelQwenInstruct3BQ4(widget.OWWidget):
|
|
22
22
|
name = "Qwen 2.5 32B"
|
|
23
23
|
description = "Load the model Qwen from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/qwen-color.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/qwen-color.png"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelQwenInstruct3BQ4(widget.OWWidget):
|
|
22
22
|
name = "Qwen Instruct 3B Q4"
|
|
23
23
|
description = "Load the model Qwen from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/qwen-color.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/qwen-color.png"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelQwenInstruct7BQ4(widget.OWWidget):
|
|
22
22
|
name = "Qwen Instruct 7B Q4"
|
|
23
23
|
description = "Load the model Qwen from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/qwen-color.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/qwen-color.png"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelQwenInstruct7BQ6(widget.OWWidget):
|
|
22
22
|
name = "Qwen Instruct 7B Q6"
|
|
23
23
|
description = "Load the model Qwen from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/qwen-color.png"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/qwen-color.png"
|
|
@@ -21,6 +21,7 @@ else:
|
|
|
21
21
|
class OWModelSolar(widget.OWWidget):
|
|
22
22
|
name = "Solar 10.7B"
|
|
23
23
|
description = "Load the model Solar from the AAIT Store"
|
|
24
|
+
category = "AAIT - Models"
|
|
24
25
|
icon = "icons/logo_solar.svg"
|
|
25
26
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
26
27
|
icon = "icons_dev/logo_solar.svg"
|
|
@@ -5,7 +5,7 @@ from Orange.widgets import gui, widget
|
|
|
5
5
|
from Orange.widgets.settings import Setting
|
|
6
6
|
from Orange.widgets.utils.widgetpreview import WidgetPreview
|
|
7
7
|
from Orange.widgets.widget import Input, Output
|
|
8
|
-
from Orange.data import Table
|
|
8
|
+
from Orange.data import Table, StringVariable
|
|
9
9
|
|
|
10
10
|
class OWSaveFilepathEntry(widget.OWWidget):
|
|
11
11
|
name = "Save with Filepath Entry"
|
|
@@ -44,15 +44,17 @@ class OWSaveFilepathEntry(widget.OWWidget):
|
|
|
44
44
|
@Inputs.path_table
|
|
45
45
|
def set_path_table(self, in_path_table):
|
|
46
46
|
if in_path_table is not None:
|
|
47
|
-
#pour enregistrement en json
|
|
48
|
-
if "path" in in_path_table.domain:
|
|
49
|
-
if in_path_table[0]["path"].value.endswith(".json"):
|
|
50
|
-
self.json = True
|
|
51
|
-
|
|
52
47
|
if "path" in in_path_table.domain:
|
|
53
48
|
self.save_path = in_path_table[0]["path"].value.replace('"', '')
|
|
54
49
|
self.run()
|
|
55
50
|
|
|
51
|
+
#pour enregistrement en json
|
|
52
|
+
if "folder_path" in in_path_table.domain:
|
|
53
|
+
self.save_path = in_path_table[0]["folder_path"].value.replace('"', '')
|
|
54
|
+
self.json = True
|
|
55
|
+
self.run()
|
|
56
|
+
|
|
57
|
+
|
|
56
58
|
def __init__(self):
|
|
57
59
|
super().__init__()
|
|
58
60
|
self.info_label = gui.label(self.controlArea, self, "Initial info.")
|
|
@@ -92,37 +94,39 @@ class OWSaveFilepathEntry(widget.OWWidget):
|
|
|
92
94
|
saver.filename = self.save_path
|
|
93
95
|
saver.filter = selected_filter
|
|
94
96
|
saver.do_save()
|
|
95
|
-
|
|
97
|
+
|
|
96
98
|
self.data = None
|
|
97
99
|
self.save_path = None
|
|
98
100
|
|
|
99
101
|
def save_json(self):
|
|
100
|
-
if "
|
|
102
|
+
if "answer" not in self.data.domain:
|
|
101
103
|
self.error("No answer column found.")
|
|
102
104
|
return
|
|
103
|
-
if "
|
|
104
|
-
self.error("No
|
|
105
|
+
if "folder_path" not in self.data.domain:
|
|
106
|
+
self.error("No folder_path column found.")
|
|
105
107
|
return
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
text_response = self.data.get_column("answer")[0]
|
|
109
|
+
folder_path = self.data.get_column("folder_path")[0]
|
|
110
|
+
try:
|
|
111
|
+
data_raw = json.loads(text_response)
|
|
112
|
+
except json.JSONDecodeError as e:
|
|
113
|
+
print("JSON mal formé :", e)
|
|
109
114
|
try:
|
|
110
|
-
data_raw =
|
|
111
|
-
except
|
|
112
|
-
print("JSON
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
with open(folder_path, "w", encoding="utf-8") as f:
|
|
121
|
-
json.dump(data_raw, f, ensure_ascii=False, indent=4)
|
|
115
|
+
data_raw = ast.literal_eval(text_response)
|
|
116
|
+
except Exception as e2:
|
|
117
|
+
print("Faux JSON invalide aussi :", e2)
|
|
118
|
+
self.error("Faux JSON invalide aussi :", e2)
|
|
119
|
+
|
|
120
|
+
json_path = folder_path + "/rapport.json"
|
|
121
|
+
# Étape 3 : enregistrer dans un fichier JSON propre
|
|
122
|
+
with open(json_path, "w", encoding="utf-8") as f:
|
|
123
|
+
json.dump(data_raw, f, ensure_ascii=False, indent=4)
|
|
122
124
|
self.information("JSON saved successfully")
|
|
125
|
+
new_name_column = StringVariable("json_path")
|
|
126
|
+
out_data = self.data.add_column(new_name_column, [json_path])
|
|
123
127
|
self.json = False
|
|
124
128
|
self.save_path = None
|
|
125
|
-
self.Outputs.data.send(
|
|
129
|
+
self.Outputs.data.send(out_data)
|
|
126
130
|
|
|
127
131
|
def run(self):
|
|
128
132
|
self.error("")
|
|
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
|
|
|
4
4
|
NAME = "aait"
|
|
5
5
|
|
|
6
6
|
# Version du package PyPI
|
|
7
|
-
VERSION = "2.0.2.
|
|
7
|
+
VERSION = "2.0.2.4" # la version doit être supérieure à la précédente sinon la publication sera refusée
|
|
8
8
|
|
|
9
9
|
# Facultatif / Adaptable à souhait
|
|
10
10
|
AUTHOR = "Orange community"
|
|
@@ -53,7 +53,8 @@ INSTALL_REQUIRES = [
|
|
|
53
53
|
"python-docx==1.1.2",
|
|
54
54
|
"psutil",
|
|
55
55
|
"thefuzz==0.22.1",
|
|
56
|
-
"beautifulsoup4==4.12.3"
|
|
56
|
+
"beautifulsoup4==4.12.3",
|
|
57
|
+
"CATEGORIT"]
|
|
57
58
|
|
|
58
59
|
|
|
59
60
|
# Spécifie le dossier contenant les widgets et le nom de section qu'aura l'addon sur Orange
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from unittest import TestCase
|
|
2
|
+
from unittest.mock import Mock
|
|
3
|
+
from Orange.data import DiscreteVariable, Domain
|
|
4
|
+
from Orange.data import ContinuousVariable
|
|
5
|
+
from Orange.widgets.settings import ContextSetting, ClassValuesContextHandler
|
|
6
|
+
from Orange.widgets.utils import vartype
|
|
7
|
+
|
|
8
|
+
Continuous = vartype(ContinuousVariable("x"))
|
|
9
|
+
Discrete = vartype(DiscreteVariable("x"))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TestClassValuesContextHandler(TestCase):
|
|
13
|
+
def setUp(self):
|
|
14
|
+
self.domain = Domain(
|
|
15
|
+
attributes=[ContinuousVariable('c1'),
|
|
16
|
+
DiscreteVariable('d1', values='abc'),
|
|
17
|
+
DiscreteVariable('d2', values='def')],
|
|
18
|
+
class_vars=[DiscreteVariable('d3', values='ghi')],
|
|
19
|
+
metas=[ContinuousVariable('c2'),
|
|
20
|
+
DiscreteVariable('d4', values='jkl')]
|
|
21
|
+
)
|
|
22
|
+
self.args = (self.domain,
|
|
23
|
+
{'c1': Continuous, 'd1': Discrete,
|
|
24
|
+
'd2': Discrete, 'd3': Discrete},
|
|
25
|
+
{'c2': Continuous, 'd4': Discrete, })
|
|
26
|
+
self.handler = ClassValuesContextHandler()
|
|
27
|
+
self.handler.read_defaults = lambda: None
|
|
28
|
+
|
|
29
|
+
def test_open_context(self):
|
|
30
|
+
self.handler.bind(SimpleWidget)
|
|
31
|
+
context = Mock(
|
|
32
|
+
classes=['g', 'h', 'i'], values=dict(
|
|
33
|
+
text='u',
|
|
34
|
+
with_metas=[('d1', Discrete), ('d2', Discrete)]
|
|
35
|
+
))
|
|
36
|
+
self.handler.global_contexts = \
|
|
37
|
+
[Mock(classes=[], values={}), context, Mock(classes=[], values={})]
|
|
38
|
+
|
|
39
|
+
widget = SimpleWidget()
|
|
40
|
+
self.handler.initialize(widget)
|
|
41
|
+
self.handler.open_context(widget, self.args[0].class_var)
|
|
42
|
+
self.assertEqual(widget.text, 'u')
|
|
43
|
+
self.assertEqual(widget.with_metas, [('d1', Discrete),
|
|
44
|
+
('d2', Discrete)])
|
|
45
|
+
|
|
46
|
+
def test_open_context_with_no_match(self):
|
|
47
|
+
self.handler.bind(SimpleWidget)
|
|
48
|
+
context = Mock(
|
|
49
|
+
classes=['g', 'h', 'i'], values=dict(
|
|
50
|
+
text='u',
|
|
51
|
+
with_metas=[('d1', Discrete), ('d2', Discrete)]
|
|
52
|
+
))
|
|
53
|
+
self.handler.global_contexts = \
|
|
54
|
+
[Mock(classes=[], values={}), context, Mock(classes=(), values={})]
|
|
55
|
+
widget = SimpleWidget()
|
|
56
|
+
self.handler.initialize(widget)
|
|
57
|
+
widget.text = 'u'
|
|
58
|
+
|
|
59
|
+
self.handler.open_context(widget, self.args[0][1])
|
|
60
|
+
|
|
61
|
+
context = widget.current_context
|
|
62
|
+
self.assertEqual(context.classes, ('a', 'b', 'c'))
|
|
63
|
+
self.assertEqual(widget.text, 'u')
|
|
64
|
+
self.assertEqual(widget.with_metas, [])
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class SimpleWidget:
|
|
68
|
+
text = ContextSetting("")
|
|
69
|
+
with_metas = ContextSetting([])
|
|
70
|
+
required = ContextSetting("", required=ContextSetting.REQUIRED)
|
|
71
|
+
|
|
72
|
+
def retrieveSpecificSettings(self):
|
|
73
|
+
pass
|
|
74
|
+
def storeSpecificSettings(self):
|
|
75
|
+
pass
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
from unittest.mock import patch
|
|
3
|
+
|
|
4
|
+
import keyring
|
|
5
|
+
import keyring.errors
|
|
6
|
+
import keyring.backend
|
|
7
|
+
|
|
8
|
+
from Orange.widgets.credentials import CredentialManager
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# minimal in-memory keyring implementation so the test is not dependent on
|
|
12
|
+
# the system config/services.
|
|
13
|
+
class Keyring(keyring.backend.KeyringBackend):
|
|
14
|
+
priority = 0
|
|
15
|
+
|
|
16
|
+
def __init__(self):
|
|
17
|
+
self.__store = {}
|
|
18
|
+
|
|
19
|
+
def set_password(self, service, username, password=None):
|
|
20
|
+
self.__store[(service, username)] = password
|
|
21
|
+
|
|
22
|
+
def get_password(self, service, username):
|
|
23
|
+
return self.__store.get((service, username), None)
|
|
24
|
+
|
|
25
|
+
def delete_password(self, service, username):
|
|
26
|
+
try:
|
|
27
|
+
del self.__store[service, username]
|
|
28
|
+
except KeyError:
|
|
29
|
+
raise keyring.errors.PasswordDeleteError()
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class TestCredentialManager(unittest.TestCase):
|
|
33
|
+
def setUp(self):
|
|
34
|
+
self._ring = keyring.get_keyring()
|
|
35
|
+
keyring.set_keyring(Keyring())
|
|
36
|
+
self.cm = CredentialManager('Orange')
|
|
37
|
+
|
|
38
|
+
def tearDown(self):
|
|
39
|
+
keyring.set_keyring(self._ring)
|
|
40
|
+
|
|
41
|
+
def test_credential_manager(self):
|
|
42
|
+
cm = CredentialManager('Orange')
|
|
43
|
+
cm.key = 'Foo'
|
|
44
|
+
self.assertEqual(cm.key, 'Foo')
|
|
45
|
+
del cm.key
|
|
46
|
+
self.assertEqual(cm.key, None)
|
|
47
|
+
|
|
48
|
+
def test_set_password(self):
|
|
49
|
+
"""
|
|
50
|
+
Handle error when setting password fails.
|
|
51
|
+
GH-2354
|
|
52
|
+
"""
|
|
53
|
+
with patch("keyring.set_password", side_effect=Exception), \
|
|
54
|
+
patch("Orange.widgets.credentials.log.exception") as log:
|
|
55
|
+
self.cm.key = ""
|
|
56
|
+
log.assert_called()
|
|
57
|
+
|
|
58
|
+
def test_delete_password(self):
|
|
59
|
+
"""
|
|
60
|
+
Handling error when deleting password fails
|
|
61
|
+
GH-2354
|
|
62
|
+
"""
|
|
63
|
+
with patch("keyring.delete_password", side_effect=Exception), \
|
|
64
|
+
patch("Orange.widgets.credentials.log.exception") as log:
|
|
65
|
+
del self.cm.key
|
|
66
|
+
log.assert_called()
|
|
67
|
+
|
|
68
|
+
def test_get_password(self):
|
|
69
|
+
"""
|
|
70
|
+
Handling errors when getting password fails.
|
|
71
|
+
GH-2354
|
|
72
|
+
"""
|
|
73
|
+
with patch("keyring.get_password", side_effect=Exception), \
|
|
74
|
+
patch("Orange.widgets.credentials.log.exception") as log:
|
|
75
|
+
self.assertEqual(self.cm.key, None)
|
|
76
|
+
log.assert_called()
|