Skip to content

Commit c5e81a9

Browse files
authored
[AI] Add more uses statements (#11788)
* Add more uses statements * Make use of BOM * Add requires 'ai.djl.pytorch_model_zoo' * Trying downgrade of djl * Sort "requires" alphabetically * Add org.freedesktop.dbus as requriement * Sort "uses" alphabetically * Add "provides" * Update djl to 0.30.0 * Fix jackson requirements
1 parent a6912d4 commit c5e81a9

File tree

2 files changed

+46
-30
lines changed

2 files changed

+46
-30
lines changed

build.gradle

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ dependencies {
327327
// YAML formatting
328328
implementation 'org.yaml:snakeyaml:2.3'
329329

330-
// AI
330+
// region AI
331331
implementation 'dev.langchain4j:langchain4j:0.34.0'
332332
// Even though we use jvm-openai for LLM connection, we still need this package for tokenization.
333333
implementation('dev.langchain4j:langchain4j-open-ai:0.34.0') {
@@ -336,16 +336,19 @@ dependencies {
336336
implementation('dev.langchain4j:langchain4j-mistral-ai:0.34.0')
337337
implementation('dev.langchain4j:langchain4j-google-ai-gemini:0.34.0')
338338
implementation('dev.langchain4j:langchain4j-hugging-face:0.34.0')
339-
implementation 'ai.djl:api:0.30.0'
340-
implementation 'ai.djl.pytorch:pytorch-model-zoo:0.30.0'
341-
implementation 'ai.djl.huggingface:tokenizers:0.29.0'
339+
340+
implementation platform('ai.djl:bom:0.30.0')
341+
implementation 'ai.djl:api'
342+
implementation 'ai.djl.huggingface:tokenizers'
343+
implementation 'ai.djl.pytorch:pytorch-model-zoo'
342344
implementation 'io.github.stefanbratanov:jvm-openai:0.11.0'
343345
// openai depends on okhttp, which needs kotlin - see https://github.com/square/okhttp/issues/5299 for details
344346
implementation ('com.squareup.okhttp3:okhttp:4.12.0') {
345347
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
346348
}
347349
// GemxFX also (transitively) depends on kotlin
348350
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.20'
351+
// endregion
349352

350353
implementation 'commons-io:commons-io:2.16.1'
351354

@@ -735,51 +738,58 @@ jlink {
735738

736739
// TODO: Remove the following correction to the merged module
737740
// The module descriptor automatically generated by the plugin for the merged module contained some invalid entries.
738-
// This is based on ./gradlew suggestMergedModuleInfo, sort, strip ";"", comment non-used modules, and include the suggested directives here.
739-
// However, we need to fine-tune this manually (non-alphabetic order)
741+
// This is based on ./gradlew suggestMergedModuleInfo, sort, strip ";"", remove non-used modules, and include the suggested directives here.
740742
mergedModule {
741-
requires 'javafx.base'
742-
requires 'javafx.controls'
743-
requires 'javafx.fxml'
744-
requires 'javafx.graphics'
745-
requires 'javafx.media'
746-
requires 'javafx.swing'
747-
743+
requires 'com.google.gson'
744+
requires 'com.fasterxml.jackson.annotation'
745+
requires 'com.fasterxml.jackson.databind'
746+
requires 'com.fasterxml.jackson.core'
747+
requires 'com.fasterxml.jackson.datatype.jdk8'
748+
requires 'jakarta.xml.bind'
748749
requires 'java.compiler'
749750
requires 'java.datatransfer'
750751
requires 'java.desktop'
751752
requires 'java.logging'
752753
requires 'java.management'
753754
requires 'java.naming'
754755
requires 'java.net.http'
756+
requires 'java.rmi'
755757
requires 'java.scripting'
756758
requires 'java.security.jgss'
757759
requires 'java.security.sasl'
758760
requires 'java.sql'
759761
requires 'java.sql.rowset'
760762
requires 'java.transaction.xa'
761-
requires 'java.rmi'
762763
requires 'java.xml'
764+
requires 'javafx.base'
765+
requires 'javafx.controls'
766+
requires 'javafx.fxml'
767+
requires 'javafx.graphics'
768+
requires 'javafx.media'
769+
requires 'javafx.swing'
763770
requires 'jdk.jsobject'
771+
requires 'jdk.security.jgss'
764772
requires 'jdk.unsupported'
765773
requires 'jdk.unsupported.desktop'
766-
requires 'jdk.security.jgss'
767774
requires 'jdk.xml.dom'
768-
requires 'com.google.gson'
769-
requires 'org.jsoup'
770-
requires 'org.slf4j'
771-
requires 'jakarta.xml.bind'
772775
requires 'org.apache.commons.lang3'
776+
requires 'org.apache.commons.logging'
773777
requires 'org.apache.commons.text'
774-
requires 'org.apache.commons.logging';
775-
uses 'org.mariadb.jdbc.credential.CredentialPlugin'
778+
requires 'org.freedesktop.dbus'
779+
requires 'org.jsoup'
780+
requires 'org.slf4j'
781+
uses 'ai.djl.engine.EngineProvider'
782+
uses 'ai.djl.repository.RepositoryFactory'
783+
uses 'ai.djl.repository.zoo.ZooProvider'
784+
uses 'dev.langchain4j.spi.prompt.PromptTemplateFactory'
785+
uses 'kong.unirest.core.json.JsonEngine'
786+
uses 'org.eclipse.jgit.lib.GpgSigner'
787+
uses 'org.eclipse.jgit.transport.SshSessionFactory'
788+
uses 'org.mariadb.jdbc.LocalInfileInterceptor'
776789
uses 'org.mariadb.jdbc.authentication.AuthenticationPlugin'
790+
uses 'org.mariadb.jdbc.credential.CredentialPlugin'
777791
uses 'org.mariadb.jdbc.tls.TlsSocketPlugin'
778-
uses 'org.mariadb.jdbc.LocalInfileInterceptor'
779-
uses 'org.eclipse.jgit.transport.SshSessionFactory'
780-
uses 'org.eclipse.jgit.lib.GpgSigner'
781-
uses 'kong.unirest.core.json.JsonEngine';
782-
uses 'ai.djl.repository.zoo.ZooProvider';
792+
783793
provides 'org.mariadb.jdbc.tls.TlsSocketPlugin' with 'org.mariadb.jdbc.internal.protocol.tls.DefaultTlsSocketPlugin'
784794
provides 'java.sql.Driver' with 'org.postgresql.Driver'
785795
provides 'org.mariadb.jdbc.authentication.AuthenticationPlugin' with 'org.mariadb.jdbc.internal.com.send.authentication.CachingSha2PasswordPlugin',
@@ -797,9 +807,11 @@ jlink {
797807
'org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider'
798808
provides 'kong.unirest.core.json.JsonEngine' with 'kong.unirest.modules.gson.GsonEngine';
799809
provides 'ai.djl.repository.zoo.ZooProvider' with 'ai.djl.engine.rust.zoo.RsZooProvider',
800-
'ai.djl.huggingface.zoo.HfZooProvider',
801-
'ai.djl.pytorch.zoo.PtZooProvider',
802-
'ai.djl.repository.zoo.DefaultZooProvider';
810+
'ai.djl.huggingface.zoo.HfZooProvider',
811+
'ai.djl.pytorch.zoo.PtZooProvider',
812+
'ai.djl.repository.zoo.DefaultZooProvider';
813+
provides 'ai.djl.engine.EngineProvider' with 'ai.djl.engine.rust.RsEngineProvider',
814+
'ai.djl.pytorch.engine.PtEngineProvider';
803815
}
804816

805817
jpackage {

src/main/java/module-info.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,14 +144,18 @@
144144

145145
// region AI
146146
requires ai.djl.api;
147-
uses ai.djl.repository.zoo.ZooProvider;
147+
requires ai.djl.pytorch_model_zoo;
148148
requires ai.djl.tokenizers;
149149
requires jvm.openai;
150150
requires langchain4j;
151151
requires langchain4j.core;
152152
requires langchain4j.hugging.face;
153153
requires langchain4j.mistral.ai;
154154
requires langchain4j.open.ai;
155+
uses ai.djl.engine.EngineProvider;
156+
uses ai.djl.repository.RepositoryFactory;
157+
uses ai.djl.repository.zoo.ZooProvider;
158+
uses dev.langchain4j.spi.prompt.PromptTemplateFactory;
155159
// endregion
156160

157161
// region: Lucene

0 commit comments

Comments
 (0)