aait 1.0.2.1__tar.gz → 1.0.2.2__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-1.0.2.1 → aait-1.0.2.2}/PKG-INFO +2 -7
- {aait-1.0.2.1 → aait-1.0.2.2}/aait.egg-info/PKG-INFO +2 -7
- {aait-1.0.2.1 → aait-1.0.2.2}/aait.egg-info/SOURCES.txt +4 -1
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/__init__.py +5 -5
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/answers.py +14 -4
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/chunking.py +1 -54
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/process_documents.py +4 -4
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/prompt_management.py +1 -1
- aait-1.0.2.2/orangecontrib/AAIT/llm/test.py +3 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/translations.py +2 -2
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/MetManagement.py +28 -2
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/SimpleDialogQt.py +11 -3
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +1 -1
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/import_uic.py +1 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/subprocess_management.py +41 -19
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/windows_utils.py +1 -1
- aait-1.0.2.2/orangecontrib/AAIT/widgets/OWDeep_Search.py +208 -0
- aait-1.0.2.2/orangecontrib/AAIT/widgets/OWExecuteScript.py +155 -0
- aait-1.0.2.2/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +41 -0
- aait-1.0.2.2/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +48 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +27 -27
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +27 -27
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +27 -27
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +27 -27
- {aait-1.0.2.1 → aait-1.0.2.2}/setup.py +1 -1
- aait-1.0.2.1/orangecontrib/AAIT/llm/test.py +0 -133
- {aait-1.0.2.1 → aait-1.0.2.2}/License.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/aait.egg-info/dependency_links.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/aait.egg-info/entry_points.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/aait.egg-info/namespace_packages.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/aait.egg-info/requires.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/aait.egg-info/top_level.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/SignalReceiver.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/audit_widget.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (2).TIF +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (3).TIF +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (4).TIF +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0001.csv +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0002.csv +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0003.csv +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/dynamic_results.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/test_all_widgets.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/test_server.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_4all.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_chunking.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_edit_table.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_mpnet_create_embeddings.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_optimisation.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_optimisationselection.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_powfactory.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_queryllm.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_spacy_md_fr_lemmatizer.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widget_traduction.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/audit_widget/widgets_model.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/encapsulation/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/GPT4ALL.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/GPT4ALL_killer.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/MergeBaseLora.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/SERV_kill_workflow.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/SERV_requests.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/SERV_start_workflow.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/Tutorial_Finetuning.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/Tutorial_TestFinetuning.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/embeddings.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/finetuning.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/functions_DatasetGeneration.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/functions_Finetuning.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/lemmes.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/main_DatasetGeneration.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/main_Finetuning.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/quickpy.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/llm/test_functions.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/CheckMetaData.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/check_data_in.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/thread_management.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWEditTable.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWFileWithPath.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWLLM4ALL.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWPaddleOCR.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owdeepsearch.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owpaddleocr.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/keyword.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/llm4all.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/paddleocr.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/orangecontrib/__init__.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/setup.cfg +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_class_values_context_handler.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_credentials.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_domain_context_handler.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_gui.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_matplotlib_export.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_perfect_domain_context_handler.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_scatterplot_density.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_settings_handler.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_widgets_outputs.py +0 -0
- {aait-1.0.2.1 → aait-1.0.2.2}/tests/test_workflows.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: aait
|
|
3
|
-
Version: 1.0.2.
|
|
3
|
+
Version: 1.0.2.2
|
|
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
|
|
@@ -30,8 +30,3 @@ Requires-Dist: thefuzz==0.22.1
|
|
|
30
30
|
Requires-Dist: paddleocr==2.8.0
|
|
31
31
|
Requires-Dist: beautifulsoup4==4.12.3
|
|
32
32
|
Requires-Dist: paddlepaddle==2.6.2
|
|
33
|
-
Dynamic: author
|
|
34
|
-
Dynamic: keywords
|
|
35
|
-
Dynamic: license-file
|
|
36
|
-
Dynamic: requires-dist
|
|
37
|
-
Dynamic: summary
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: aait
|
|
3
|
-
Version: 1.0.2.
|
|
3
|
+
Version: 1.0.2.2
|
|
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
|
|
@@ -30,8 +30,3 @@ Requires-Dist: thefuzz==0.22.1
|
|
|
30
30
|
Requires-Dist: paddleocr==2.8.0
|
|
31
31
|
Requires-Dist: beautifulsoup4==4.12.3
|
|
32
32
|
Requires-Dist: paddlepaddle==2.6.2
|
|
33
|
-
Dynamic: author
|
|
34
|
-
Dynamic: keywords
|
|
35
|
-
Dynamic: license-file
|
|
36
|
-
Dynamic: requires-dist
|
|
37
|
-
Dynamic: summary
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
License.txt
|
|
2
|
-
setup.cfg
|
|
3
2
|
setup.py
|
|
4
3
|
aait.egg-info/PKG-INFO
|
|
5
4
|
aait.egg-info/SOURCES.txt
|
|
@@ -89,9 +88,11 @@ orangecontrib/AAIT/widgets/OWChunking.py
|
|
|
89
88
|
orangecontrib/AAIT/widgets/OWConcatRules.py
|
|
90
89
|
orangecontrib/AAIT/widgets/OWConverseLLM.py
|
|
91
90
|
orangecontrib/AAIT/widgets/OWCreateEmbeddings.py
|
|
91
|
+
orangecontrib/AAIT/widgets/OWDeep_Search.py
|
|
92
92
|
orangecontrib/AAIT/widgets/OWDisplayMD.py
|
|
93
93
|
orangecontrib/AAIT/widgets/OWEditTable.py
|
|
94
94
|
orangecontrib/AAIT/widgets/OWEndLoop.py
|
|
95
|
+
orangecontrib/AAIT/widgets/OWExecuteScript.py
|
|
95
96
|
orangecontrib/AAIT/widgets/OWExtraChunks.py
|
|
96
97
|
orangecontrib/AAIT/widgets/OWFileWithPath.py
|
|
97
98
|
orangecontrib/AAIT/widgets/OWGenerateQuestions.py
|
|
@@ -140,6 +141,7 @@ orangecontrib/AAIT/widgets/designer/owconversellm.ui
|
|
|
140
141
|
orangecontrib/AAIT/widgets/designer/owdeepsearch.ui
|
|
141
142
|
orangecontrib/AAIT/widgets/designer/owembeddings.ui
|
|
142
143
|
orangecontrib/AAIT/widgets/designer/owendloop.ui
|
|
144
|
+
orangecontrib/AAIT/widgets/designer/owexecutescript.ui
|
|
143
145
|
orangecontrib/AAIT/widgets/designer/owextrachunks.ui
|
|
144
146
|
orangecontrib/AAIT/widgets/designer/owfilewithpath.ui
|
|
145
147
|
orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui
|
|
@@ -196,6 +198,7 @@ orangecontrib/AAIT/widgets/icons/owchunking.png
|
|
|
196
198
|
orangecontrib/AAIT/widgets/icons/owconversellm.svg
|
|
197
199
|
orangecontrib/AAIT/widgets/icons/owedittable.svg
|
|
198
200
|
orangecontrib/AAIT/widgets/icons/owembeddings.svg
|
|
201
|
+
orangecontrib/AAIT/widgets/icons/owexecutescript.svg
|
|
199
202
|
orangecontrib/AAIT/widgets/icons/owfilewithpath.svg
|
|
200
203
|
orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg
|
|
201
204
|
orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png
|
|
@@ -12,18 +12,18 @@ else: # Execute the file
|
|
|
12
12
|
import gc
|
|
13
13
|
import sys
|
|
14
14
|
from orangewidget.workflow.discovery import WidgetDiscovery
|
|
15
|
-
from orangecanvas.registry import CategoryDescription
|
|
15
|
+
#from orangecanvas.registry import CategoryDescription
|
|
16
16
|
from orangecanvas.registry.utils import category_from_package_globals
|
|
17
17
|
from orangecanvas.utils.pkgmeta import get_distribution
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\","/"):
|
|
23
|
-
from Orange.widgets.orangecontrib.AAIT.utils.tools import first_time_check
|
|
23
|
+
from Orange.widgets.orangecontrib.AAIT.utils.tools import first_time_check # ignore pyflakes alert
|
|
24
24
|
from Orange.widgets.orangecontrib.AAIT.utils import MetManagement
|
|
25
25
|
else:
|
|
26
|
-
from orangecontrib.AAIT.utils.tools import first_time_check
|
|
26
|
+
from orangecontrib.AAIT.utils.tools import first_time_check # ignore pyflakes alert
|
|
27
27
|
from orangecontrib.AAIT.utils import MetManagement
|
|
28
28
|
|
|
29
29
|
|
|
@@ -120,7 +120,7 @@ else: # Execute the file
|
|
|
120
120
|
for extention in MetManagement.get_category_extension_to_load():
|
|
121
121
|
dev=False
|
|
122
122
|
prefix = ""
|
|
123
|
-
extention_a_jouter=extention
|
|
123
|
+
# extention_a_jouter=extention
|
|
124
124
|
if len(extention) > 4:
|
|
125
125
|
if extention[:3]=="dev":
|
|
126
126
|
prefix="__dev"
|
|
@@ -111,7 +111,7 @@ def load_model(model_path, use_gpu, n_ctx=10000):
|
|
|
111
111
|
return
|
|
112
112
|
|
|
113
113
|
|
|
114
|
-
def generate_answers(table, model_path, use_gpu=False, n_ctx=4096, workflow_id="", progress_callback=None, argself=None):
|
|
114
|
+
def generate_answers(table, model_path, use_gpu=False, n_ctx=4096, query_parameters=None, workflow_id="", progress_callback=None, argself=None):
|
|
115
115
|
"""
|
|
116
116
|
Generates answers using a local LLM for each row in a data table with a "prompt" column.
|
|
117
117
|
|
|
@@ -124,6 +124,7 @@ def generate_answers(table, model_path, use_gpu=False, n_ctx=4096, workflow_id="
|
|
|
124
124
|
model_path (str): Path to the local model file.
|
|
125
125
|
use_gpu (bool): Whether to use GPU (CUDA/Metal) acceleration if available. Default is False.
|
|
126
126
|
n_ctx (int): Context window size for the model. Default is 4096.
|
|
127
|
+
query_parameters (dict): Dictionary containing the generation parameters, such as temperature, top p...
|
|
127
128
|
workflow_id (str): ID for streaming the answer.
|
|
128
129
|
progress_callback (callable, optional): Function to report progress updates.
|
|
129
130
|
argself (object, optional): An object with a `.stop` attribute to support early termination.
|
|
@@ -141,6 +142,10 @@ def generate_answers(table, model_path, use_gpu=False, n_ctx=4096, workflow_id="
|
|
|
141
142
|
# Load model
|
|
142
143
|
model = load_model(model_path=model_path, use_gpu=use_gpu, n_ctx=n_ctx)
|
|
143
144
|
|
|
145
|
+
# Generation parameters
|
|
146
|
+
if query_parameters is None:
|
|
147
|
+
query_parameters = {"max_tokens": 4096, "temperature": 0.4, "top_p": 0.4, "top_k": 40, "repeat_penalty": 1.15}
|
|
148
|
+
|
|
144
149
|
# Generate answers on column named "prompt"
|
|
145
150
|
try:
|
|
146
151
|
rows = []
|
|
@@ -153,7 +158,13 @@ def generate_answers(table, model_path, use_gpu=False, n_ctx=4096, workflow_id="
|
|
|
153
158
|
assistant_prompt = row["assistant prompt"].value if "assistant prompt" in data.domain else ""
|
|
154
159
|
|
|
155
160
|
prompt = prompt_management.apply_prompt_template(model_path, user_prompt=prompt, assistant_prompt=assistant_prompt, system_prompt=system_prompt)
|
|
156
|
-
answer = run_query(prompt, model=model,
|
|
161
|
+
answer = run_query(prompt, model=model,
|
|
162
|
+
max_tokens=query_parameters["max_tokens"],
|
|
163
|
+
temperature=query_parameters["temperature"],
|
|
164
|
+
top_p=query_parameters["top_p"],
|
|
165
|
+
top_k=query_parameters["top_k"],
|
|
166
|
+
repeat_penalty=query_parameters["repeat_penalty"],
|
|
167
|
+
workflow_id=workflow_id, argself=argself, progress_callback=progress_callback)
|
|
157
168
|
if answer == "":
|
|
158
169
|
answer = f"Error: The answer could not be generated. The model architecture you tried to use it most likely not supported yet.\n\nModel name: {ntpath.basename(model_path)}"
|
|
159
170
|
metas += [answer]
|
|
@@ -211,7 +222,7 @@ def write_tokens_to_file(token: str, workflow_id=""):
|
|
|
211
222
|
f.write(token)
|
|
212
223
|
f.flush()
|
|
213
224
|
|
|
214
|
-
def run_query(prompt, model, max_tokens=4096, temperature=0, top_p=0, top_k=40, repeat_penalty=1.15,
|
|
225
|
+
def run_query(prompt, model, max_tokens=4096, temperature=0.4, top_p=0.4, top_k=40, repeat_penalty=1.15,
|
|
215
226
|
workflow_id="", argself=None, progress_callback=None):
|
|
216
227
|
"""
|
|
217
228
|
Generates a response from a local LLM model using the given prompt, with support for streaming output
|
|
@@ -241,7 +252,6 @@ def run_query(prompt, model, max_tokens=4096, temperature=0, top_p=0, top_k=40,
|
|
|
241
252
|
answer = ""
|
|
242
253
|
for token in model.generate(prompt=prompt, max_tokens=max_tokens, temp=temperature, top_p=top_p, top_k=top_k,
|
|
243
254
|
repeat_penalty=repeat_penalty, streaming=True, callback=callback_instance):
|
|
244
|
-
|
|
245
255
|
answer += token
|
|
246
256
|
write_tokens_to_file(token, workflow_id)
|
|
247
257
|
if progress_callback is not None:
|
|
@@ -134,57 +134,4 @@ def chunk_markdown(content, tokenizer=None, chunk_size=500, chunk_overlap=125):
|
|
|
134
134
|
return chunks, metadatas
|
|
135
135
|
|
|
136
136
|
def chunk_semantic():
|
|
137
|
-
pass
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
# def chunk_text(text):
|
|
142
|
-
#
|
|
143
|
-
# # Basic initialization with default parameters
|
|
144
|
-
# local_store_path = get_local_store_path()
|
|
145
|
-
# model_name = "all-mpnet-base-v2"
|
|
146
|
-
# model = os.path.join(local_store_path, "Models", "NLP", model_name)
|
|
147
|
-
# chunker = SemanticChunker(
|
|
148
|
-
# embedding_model=model, # Default model
|
|
149
|
-
# threshold=0.4, # Similarity threshold (0-1)
|
|
150
|
-
# similarity_window=3,
|
|
151
|
-
# chunk_size=512, # Maximum tokens per chunk
|
|
152
|
-
# #min_chunk_size=300 # minimal chunk size
|
|
153
|
-
# )
|
|
154
|
-
#
|
|
155
|
-
# chunks = chunker.chunk(text)
|
|
156
|
-
# chunks1 = []
|
|
157
|
-
# for chunk in chunks:
|
|
158
|
-
# chunks1.append(chunk.text)
|
|
159
|
-
# return chunks1
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
# @staticmethod
|
|
163
|
-
# def chunk_data(data):
|
|
164
|
-
# """
|
|
165
|
-
# Takes a Table, segments the content of each instance into chunks of approximately
|
|
166
|
-
# 400 words, stopping at sentence boundaries, and returns a new Table with the new instances.
|
|
167
|
-
#
|
|
168
|
-
# :param data: The input Table.
|
|
169
|
-
# :return: A new Table with the segmented instances.
|
|
170
|
-
# """
|
|
171
|
-
#
|
|
172
|
-
# new_instances = []
|
|
173
|
-
# domain = data.domain
|
|
174
|
-
#
|
|
175
|
-
# # Créer un nouveau domaine avec une colonne "Chunks"
|
|
176
|
-
# new_metas = list(domain.metas) + [Orange.data.StringVariable("Chunks")]
|
|
177
|
-
# new_domain = Orange.data.Domain(domain.attributes, domain.class_vars, new_metas)
|
|
178
|
-
#
|
|
179
|
-
# for instance in data:
|
|
180
|
-
# content = instance["content"].value # Vérifie que "content" existe bien
|
|
181
|
-
# chunks = chunk_text(content) # Découpe le texte en segments
|
|
182
|
-
#
|
|
183
|
-
# for chunk in chunks:
|
|
184
|
-
# # Construire une nouvelle instance avec le segment
|
|
185
|
-
# new_metas_values = list(instance.metas) + [chunk]
|
|
186
|
-
# new_instance = Orange.data.Instance(new_domain, [instance[x] for x in domain.attributes] + [instance[y] for y in domain.class_vars] + new_metas_values)
|
|
187
|
-
# new_instances.append(new_instance)
|
|
188
|
-
#
|
|
189
|
-
# # Retourner une nouvelle table avec toutes les instances générées
|
|
190
|
-
# return Orange.data.Table.from_list(new_domain, new_instances)
|
|
137
|
+
pass
|
|
@@ -15,13 +15,13 @@ def process_documents(dirpath):
|
|
|
15
15
|
|
|
16
16
|
# get path from user selection
|
|
17
17
|
embeddings = check_for_embeddings(dirpath)
|
|
18
|
-
dirpath = dirpath.replace("
|
|
18
|
+
dirpath = dirpath.replace("/", "\\")
|
|
19
19
|
|
|
20
20
|
# Set selected path in the saved embeddings
|
|
21
21
|
if embeddings is not None:
|
|
22
|
-
common_path = find_common_root(embeddings).replace("
|
|
22
|
+
common_path = find_common_root(embeddings).replace("/", "\\")
|
|
23
23
|
for row in embeddings:
|
|
24
|
-
row["path"] = row["path"].value.replace(common_path, dirpath)
|
|
24
|
+
row["path"] = row["path"].value.replace("/", "\\").replace(common_path, dirpath)
|
|
25
25
|
|
|
26
26
|
# Verify which files are already processed
|
|
27
27
|
files_to_process = get_files_to_process(dirpath, embeddings)
|
|
@@ -87,7 +87,7 @@ def get_files_to_process(folder_path, table=None):
|
|
|
87
87
|
# Check if the file has a supported extension
|
|
88
88
|
if os.path.splitext(file)[1].lower() in supported_extensions:
|
|
89
89
|
# Add the file if it is not already in the table
|
|
90
|
-
filepath = os.path.join(root, file).replace("
|
|
90
|
+
filepath = os.path.join(root, file).replace("/", "\\")
|
|
91
91
|
if filepath not in existing_paths:
|
|
92
92
|
new_files.append(filepath)
|
|
93
93
|
sizes[filepath] = os.path.getsize(filepath)
|
|
@@ -52,10 +52,10 @@ def generate_translation(table, model, tokenizer, progress_callback=None, argsel
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
def translate(text, model, tokenizer, stream=False, argself=None):
|
|
55
|
-
tokenized_text = tokenizer([text], return_tensors="pt")
|
|
55
|
+
tokenized_text = tokenizer([text], return_tensors="pt", truncation=True, max_length=512)
|
|
56
56
|
if not stream:
|
|
57
57
|
tokenized_translated = model.generate(**tokenized_text)
|
|
58
|
-
translated_text = tokenizer.decode(tokenized_translated[0], skip_special_tokens=True)
|
|
58
|
+
translated_text = tokenizer.decode(tokenized_translated[0], skip_special_tokens=True, truncation=True)
|
|
59
59
|
else: # TODO: décalage bizarre au lancement d'un workflow
|
|
60
60
|
streamer = TextIteratorStreamer(tokenizer, skip_special_tokens=True)
|
|
61
61
|
generation_kwargs = dict(tokenized_text, streamer=streamer, max_new_tokens=512, num_beams=1)
|
|
@@ -464,7 +464,7 @@ def get_local_store_path():
|
|
|
464
464
|
os.makedirs(store_ia_path,exist_ok=True)
|
|
465
465
|
# create blanck file with future remote path
|
|
466
466
|
try:
|
|
467
|
-
with open(store_ia_path + '/remote_ressources_path.txt', 'w')
|
|
467
|
+
with open(store_ia_path + '/remote_ressources_path.txt', 'w'):
|
|
468
468
|
pass
|
|
469
469
|
except:
|
|
470
470
|
SimpleDialogQt.BoxError("error impossible to write file :"+ store_ia_path)
|
|
@@ -1322,6 +1322,7 @@ def get_api_local_folder(workflow_id=""):
|
|
|
1322
1322
|
workflow_id=workflow_id[:-4]
|
|
1323
1323
|
result+=workflow_id+"/"
|
|
1324
1324
|
return result
|
|
1325
|
+
|
|
1325
1326
|
def get_api_local_folder_admin():
|
|
1326
1327
|
return get_api_local_folder()[:-1]+"_adm/"
|
|
1327
1328
|
|
|
@@ -1332,17 +1333,40 @@ def get_path_linkHTMLWorkflow():
|
|
|
1332
1333
|
aait_path = get_local_store_path()
|
|
1333
1334
|
return aait_path + "Parameters/linkHTMLWorkflow/"
|
|
1334
1335
|
|
|
1336
|
+
def get_path_mailFolder():
|
|
1337
|
+
aait_path = get_local_store_path()
|
|
1338
|
+
return aait_path + "exchangeMail/"
|
|
1339
|
+
|
|
1340
|
+
def get_secret_content_dir():
|
|
1341
|
+
aait_path = get_local_store_path()
|
|
1342
|
+
the_path=aait_path+"/keys/"
|
|
1343
|
+
if not os.path.exists(the_path):
|
|
1344
|
+
os.makedirs(the_path)
|
|
1345
|
+
return the_path
|
|
1335
1346
|
|
|
1336
1347
|
def get_second_from_1970():
|
|
1337
1348
|
return int(time.time())
|
|
1338
1349
|
|
|
1339
1350
|
def write_file_time(path):
|
|
1340
1351
|
time= get_second_from_1970()
|
|
1352
|
+
time_ok=path[:-3]+".ok"
|
|
1353
|
+
reset_files([time_ok])
|
|
1341
1354
|
with open(path, "w") as f:
|
|
1342
1355
|
f.write(str(time))
|
|
1356
|
+
try:
|
|
1357
|
+
with open(time_ok, "w"):
|
|
1358
|
+
pass
|
|
1359
|
+
except Exception as e:
|
|
1360
|
+
print(f"Error creating .ok file: {e}")
|
|
1343
1361
|
return
|
|
1344
1362
|
|
|
1345
1363
|
def read_file_time(path):
|
|
1364
|
+
time_ok = path[:-3] + ".ok"
|
|
1365
|
+
for _ in range(100):
|
|
1366
|
+
if not os.path.exists(time_ok):
|
|
1367
|
+
time.sleep(0.5)
|
|
1368
|
+
if not os.path.exists(time_ok):
|
|
1369
|
+
return 0 # time out
|
|
1346
1370
|
with open(path, "r") as f:
|
|
1347
1371
|
content = f.read()
|
|
1348
1372
|
return int(content)
|
|
@@ -1377,5 +1401,7 @@ if __name__ == "__main__":
|
|
|
1377
1401
|
#print(already_downloaded_compressed_server("http://88.172.137.71:40386/share/ma0UJQ8-jqb9uqiM/AAIT_v240916","Models/NLP/all-mpnet-base-v2/config.json",r"C:\Users\timot\aait_store\Models\NLP\all-mpnet-base-v2\config.json"))
|
|
1378
1402
|
#GetFromRemote("All AI Store")
|
|
1379
1403
|
#IsStoreCompressed("http://88.172.137.71:40386/share/ma0UJQ8-jqb9uqiM/IFIA_models/repository.aait")
|
|
1380
|
-
set_aait_store_remote_ressources_path("http://88.172.137.71:40386/share/ma0UJQ8-jqb9uqiM/IFIA_models/repository.aait")
|
|
1404
|
+
#set_aait_store_remote_ressources_path("http://88.172.137.71:40386/share/ma0UJQ8-jqb9uqiM/IFIA_models/repository.aait")
|
|
1405
|
+
aaa = get_second_from_1970()
|
|
1406
|
+
print(aaa)
|
|
1381
1407
|
|
|
@@ -55,9 +55,16 @@ def BoxSelectExistingFile(argself,default_dir="",extention="All Files (*);;Text
|
|
|
55
55
|
"""
|
|
56
56
|
return "" if nothing was selected else the path
|
|
57
57
|
"""
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
try: # Qt 6
|
|
59
|
+
readonly = QFileDialog.Option.ReadOnly
|
|
60
|
+
except AttributeError: # Qt 5
|
|
61
|
+
readonly = QFileDialog.ReadOnly
|
|
62
|
+
|
|
63
|
+
fileName, _ = QFileDialog.getOpenFileName(
|
|
64
|
+
argself, "Sélectionner un fichier", default_dir,
|
|
65
|
+
options=readonly
|
|
66
|
+
)
|
|
67
|
+
|
|
61
68
|
if fileName:
|
|
62
69
|
fileName=fileName.replace("\\", "/")
|
|
63
70
|
return fileName
|
|
@@ -221,6 +228,7 @@ def get_number_from_dialog(text, value_min, value_max):
|
|
|
221
228
|
selected_value = get_number_from_dialog("select a number between 1 et 100 :", 1, 100)
|
|
222
229
|
print("result :", selected_value)
|
|
223
230
|
"""
|
|
231
|
+
## surement fausse alarme de pyflakes
|
|
224
232
|
app = QApplication(sys.argv) if not QApplication.instance() else QApplication.instance()
|
|
225
233
|
dialog = NumberInputDialog(text, value_min, value_max)
|
|
226
234
|
if dialog.exec():
|
|
@@ -6,8 +6,8 @@ import psutil
|
|
|
6
6
|
def open_hide_terminal(command, with_qt=True, env=None):
|
|
7
7
|
"""
|
|
8
8
|
Ouvre un nouveau terminal indépendant et exécute la commande spécifiée.
|
|
9
|
-
|
|
10
|
-
:param command: La commande à exécuter.
|
|
9
|
+
/!\ attention command est une liste
|
|
10
|
+
:param command: La liste de commande à exécuter.
|
|
11
11
|
:param with_qt: Désactive l'affichage si False (utile pour les applications Qt sans affichage).
|
|
12
12
|
:param hide_terminal: Masque la fenêtre du terminal si True.
|
|
13
13
|
:return: Le PID du processus du terminal ouvert.
|
|
@@ -24,10 +24,18 @@ def open_hide_terminal(command, with_qt=True, env=None):
|
|
|
24
24
|
env['QT_QPA_PLATFORM'] = 'offscreen'
|
|
25
25
|
|
|
26
26
|
process = None
|
|
27
|
+
if not isinstance(command, list):
|
|
28
|
+
raise RuntimeError("error command need to be a list")
|
|
29
|
+
if len(command)==0:
|
|
30
|
+
raise RuntimeError("error command need to be a list with elements")
|
|
31
|
+
|
|
27
32
|
|
|
28
33
|
if sys.platform.startswith("win"):
|
|
29
34
|
# je ne comprends pas pourquoi shell)=True cache le terminal
|
|
30
|
-
|
|
35
|
+
# j insere cmd /k command
|
|
36
|
+
command.insert(0,"/k")
|
|
37
|
+
command.insert(0, "cmd.exe")
|
|
38
|
+
process = subprocess.Popen(command, env=env, shell=True,
|
|
31
39
|
creationflags=subprocess.CREATE_NEW_CONSOLE)
|
|
32
40
|
|
|
33
41
|
# startupinfo = subprocess.STARTUPINFO()
|
|
@@ -44,24 +52,26 @@ def open_hide_terminal(command, with_qt=True, env=None):
|
|
|
44
52
|
# creationflags=creationflags
|
|
45
53
|
# )
|
|
46
54
|
elif sys.platform.startswith("linux"):
|
|
55
|
+
command_chaine = ' '.join(command)
|
|
47
56
|
if hide_terminal:
|
|
48
|
-
process = subprocess.Popen(["bash", "-c",
|
|
57
|
+
process = subprocess.Popen(["bash", "-c", command_chaine], env=env, stdout=subprocess.DEVNULL,
|
|
49
58
|
stderr=subprocess.DEVNULL)
|
|
50
59
|
else:
|
|
51
60
|
try:
|
|
52
|
-
process = subprocess.Popen(["gnome-terminal", "--", "bash", "-c",
|
|
61
|
+
process = subprocess.Popen(["gnome-terminal", "--", "bash", "-c", command_chaine + "; exec bash"], env=env)
|
|
53
62
|
except FileNotFoundError:
|
|
54
|
-
process = subprocess.Popen(["x-terminal-emulator", "-e", "bash", "-c",
|
|
63
|
+
process = subprocess.Popen(["x-terminal-emulator", "-e", "bash", "-c", command_chaine + "; exec bash"],
|
|
55
64
|
env=env)
|
|
56
65
|
|
|
57
66
|
|
|
58
67
|
elif sys.platform.startswith("darwin"):
|
|
68
|
+
command_chaine = ' '.join(command)
|
|
59
69
|
if hide_terminal:
|
|
60
70
|
if with_qt == False:
|
|
61
|
-
|
|
71
|
+
command_chaine = "QT_QPA_PLATFORM=offscreen " + command_chaine
|
|
62
72
|
# Lancer bash sans ouvrir un terminal visible
|
|
63
73
|
process = subprocess.Popen(
|
|
64
|
-
["/bin/bash", "-c",
|
|
74
|
+
["/bin/bash", "-c", command_chaine],
|
|
65
75
|
env=env,
|
|
66
76
|
stdout=subprocess.DEVNULL,
|
|
67
77
|
stderr=subprocess.DEVNULL
|
|
@@ -69,19 +79,19 @@ def open_hide_terminal(command, with_qt=True, env=None):
|
|
|
69
79
|
else:
|
|
70
80
|
# Lancer bash sans ouvrir un terminal visible
|
|
71
81
|
process = subprocess.Popen(
|
|
72
|
-
["/bin/bash", "-c",
|
|
82
|
+
["/bin/bash", "-c", command_chaine],
|
|
73
83
|
env=env,
|
|
74
84
|
stdout=subprocess.DEVNULL,
|
|
75
85
|
stderr=subprocess.DEVNULL
|
|
76
86
|
)
|
|
77
87
|
else:
|
|
78
88
|
if with_qt==False:
|
|
79
|
-
command = "QT_QPA_PLATFORM=offscreen " +
|
|
89
|
+
command = "QT_QPA_PLATFORM=offscreen " + command_chaine
|
|
80
90
|
# Sinon ouvrir Terminal.app
|
|
81
|
-
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{
|
|
91
|
+
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{command_chaine}\"'])
|
|
82
92
|
else:
|
|
83
93
|
# Sinon ouvrir Terminal.app
|
|
84
|
-
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{
|
|
94
|
+
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{command_chaine}\"'])
|
|
85
95
|
if process:
|
|
86
96
|
return process.pid
|
|
87
97
|
else:
|
|
@@ -90,8 +100,9 @@ def open_hide_terminal(command, with_qt=True, env=None):
|
|
|
90
100
|
|
|
91
101
|
def open_terminal(command, with_qt=True, env=None):
|
|
92
102
|
"""
|
|
103
|
+
/!\ attention command est une liste
|
|
93
104
|
Ouvre un nouveau terminal indépendant et exécute la commande spécifiée.
|
|
94
|
-
:param command: La commande à exécuter.
|
|
105
|
+
:param command: La liste de commande à exécuter.
|
|
95
106
|
:param with_qt: Désactive l'affichage si False (utile pour les applications Qt sans affichage).
|
|
96
107
|
:return: Le PID du processus du terminal ouvert.
|
|
97
108
|
"""
|
|
@@ -105,20 +116,31 @@ def open_terminal(command, with_qt=True, env=None):
|
|
|
105
116
|
if not with_qt:
|
|
106
117
|
env['QT_QPA_PLATFORM'] = 'offscreen'
|
|
107
118
|
process = None
|
|
119
|
+
if not isinstance(command, list):
|
|
120
|
+
raise RuntimeError("error command need to be a list")
|
|
121
|
+
if len(command)==0:
|
|
122
|
+
raise RuntimeError("error command need to be a list with elements")
|
|
123
|
+
|
|
124
|
+
|
|
108
125
|
|
|
109
126
|
if sys.platform.startswith("win"):
|
|
110
|
-
|
|
127
|
+
# j insere cmd /k command
|
|
128
|
+
command.insert(0,"/k")
|
|
129
|
+
command.insert(0, "cmd.exe")
|
|
130
|
+
process = subprocess.Popen(command, env=env,creationflags=subprocess.CREATE_NEW_CONSOLE)
|
|
111
131
|
elif sys.platform.startswith("linux"):
|
|
132
|
+
command_chaine = ' '.join(command)
|
|
112
133
|
try:
|
|
113
|
-
process = subprocess.Popen(["gnome-terminal", "--", "bash", "-c",
|
|
134
|
+
process = subprocess.Popen(["gnome-terminal", "--", "bash", "-c", command_chaine + "; exec bash"], env=env)
|
|
114
135
|
except FileNotFoundError:
|
|
115
|
-
process = subprocess.Popen(["x-terminal-emulator", "-e", "bash", "-c",
|
|
136
|
+
process = subprocess.Popen(["x-terminal-emulator", "-e", "bash", "-c", command_chaine + "; exec bash"], env=env)
|
|
116
137
|
elif sys.platform.startswith("darwin"):
|
|
138
|
+
command_chaine = ' '.join(command)
|
|
117
139
|
if with_qt == False:
|
|
118
|
-
|
|
119
|
-
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{
|
|
140
|
+
command_chaine = "QT_QPA_PLATFORM=offscreen "+command_chaine
|
|
141
|
+
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{command_chaine}\"'])
|
|
120
142
|
else:
|
|
121
|
-
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{
|
|
143
|
+
process = subprocess.Popen(["osascript", "-e", f'tell app "Terminal" to do script \"{command_chaine}\"'])
|
|
122
144
|
if process:
|
|
123
145
|
return process.pid
|
|
124
146
|
else:
|