diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 22424d6..e35c930 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -132,6 +132,9 @@ mkpl-cor = { module = "ru.otus.otuskotlin.marketplace.libs:ok-marketplace-lib-co mkpl-state-common = { module = "ru.otus.otuskotlin.marketplace.state:ok-marketplace-states-common", version.ref = "mkpl" } mkpl-state-biz = { module = "ru.otus.otuskotlin.marketplace.state:ok-marketplace-states-biz", version.ref = "mkpl" } +# Machine Learning +ml-tokenizer = "ai.djl.huggingface:tokenizers:0.25.0" +ml-onnx-runtime = "com.microsoft.onnxruntime:onnxruntime:1.16.3" [bundles] kotest = ["kotest-junit5", "kotest-core", "kotest-datatest", "kotest-property"] diff --git a/ok-marketplace-ml/build.gradle.kts b/ok-marketplace-ml/build.gradle.kts index fec9203..7f8e1e3 100644 --- a/ok-marketplace-ml/build.gradle.kts +++ b/ok-marketplace-ml/build.gradle.kts @@ -1,18 +1,14 @@ plugins { - kotlin("jvm") version "1.9.21" + id("build-jvm") } -group = "ru.otus.otuskotlin.ml" -version = "0.0." - -repositories { - mavenCentral() -} +group = "ru.otus.otuskotlin.marketplace.ml" +version = "0.0.1" dependencies { - implementation("com.microsoft.onnxruntime:onnxruntime:1.16.3") - implementation("ai.djl.huggingface:tokenizers:0.25.0") - implementation("org.slf4j:slf4j-api:2.0.9") + implementation(libs.ml.onnx.runtime) + implementation(libs.ml.tokenizer) + implementation(libs.logback) testImplementation(kotlin("test-junit5")) } @@ -23,11 +19,8 @@ tasks { } } -kotlin { - javaToolchains { - javadocToolFor { - languageVersion.set(JavaLanguageVersion.of(17)) - } - +allprojects { + repositories { + mavenCentral() } } diff --git a/ok-marketplace-ml/onnx-model/README.md b/ok-marketplace-ml/onnx-model/README.md index e69de29..e047a40 100644 --- a/ok-marketplace-ml/onnx-model/README.md +++ b/ok-marketplace-ml/onnx-model/README.md @@ -0,0 +1,21 @@ +# Предобученная модель + +*Внимание!* Эти файлы занимают очень много места. Поэтому их нужно помещать не в GIT, а в GIT-LFS. + +Для этого у вас должен быть установлен пакет `git-lfs`. +```bash +sudo apt install git-lfs +``` + +В _корне проекта_ нужно отметить те файлы, которые будут попадать в `git-lfs`: +```bash +git lfs install +git lfs track *.onnx_data *.onnx +``` +После этого у вас должен появиться файл `/.gitattributes` со следующим содержимым: +``` +*.onnx_data filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +``` + +После этого файлы можно добавлять обычным способом, они не будут обрабатываться самим `git`, их будет обслуживать `git-lfs`. diff --git a/ok-marketplace-ml/settings.gradle.kts b/ok-marketplace-ml/settings.gradle.kts index 0a2e4f8..2dffdb2 100644 --- a/ok-marketplace-ml/settings.gradle.kts +++ b/ok-marketplace-ml/settings.gradle.kts @@ -1,4 +1,4 @@ -rootProject.name = "ok-marketplace-states" +rootProject.name = "ok-marketplace-ml" dependencyResolutionManagement { versionCatalogs { @@ -27,6 +27,3 @@ plugins { // Включает вот такую конструкцию //implementation(projects.m2l5Gradle.sub1.ssub1) enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") - -include(":ok-marketplace-states-common") -include(":ok-marketplace-states-biz") diff --git a/settings.gradle.kts b/settings.gradle.kts index c35865e..c974f69 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,4 +16,5 @@ includeBuild("ok-marketplace-states") includeBuild("ok-marketplace-libs") includeBuild("ok-marketplace-tests") +includeBuild("ok-marketplace-ml") includeBuild("pgkn")