diff --git a/examples/pom.xml b/examples/pom.xml index a7ebaaa..2586fa0 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -21,7 +21,7 @@ - 0.36.2 + 1.0.0-alpha1 diff --git a/examples/quarkus-car-booking/pom.xml b/examples/quarkus-car-booking/pom.xml index 82d578e..d6fb345 100644 --- a/examples/quarkus-car-booking/pom.xml +++ b/examples/quarkus-car-booking/pom.xml @@ -16,7 +16,7 @@ UTF-8 quarkus-bom io.quarkus.platform - 3.8.6 + 3.18.3 true 3.2.5 @@ -42,6 +42,14 @@ io.smallrye.llm smallrye-llm-langchain4j-config-mpconfig + + io.smallrye.llm + smallrye-llm-langchain4j-fault-tolerance + + + io.smallrye.llm + smallrye-llm-langchain4j-core + org.projectlombok lombok diff --git a/pom.xml b/pom.xml index 7aee748..f6798c9 100644 --- a/pom.xml +++ b/pom.xml @@ -45,6 +45,8 @@ 3.5.3.Final 1.0.0-alpha1 3.8.1 + 3.8.1 + 6.7.3 17 17 ${maven.compiler.target} @@ -80,7 +82,7 @@ smallrye-llm-langchain4j-buildcompatible-extension smallrye-llm-langchain4j-core smallrye-llm-langchain4j-config-mpconfig - smallrye-llm-langchain4j-fault-tolerance + smallrye-llm-langchain4j-fault-tolerance smallrye-llm-langchain4j-telemetry @@ -172,12 +174,22 @@ smallrye-llm-langchain4j-telemetry ${project.version} + + io.smallrye.llm + smallrye-llm-langchain4j-fault-tolerance + ${project.version} + io.smallrye.config smallrye-config ${version.io.smallrye.config} test + + io.smallrye + smallrye-fault-tolerance + ${version.io.smallrye.fault-tolerance} + diff --git a/smallrye-llm-langchain4j-buildcompatible-extension/src/main/java/io/smallrye/llm/aiservice/Langchain4JAIServiceBuildCompatibleExtension.java b/smallrye-llm-langchain4j-buildcompatible-extension/src/main/java/io/smallrye/llm/aiservice/Langchain4JAIServiceBuildCompatibleExtension.java index 2cdbeb2..b2bd6b0 100644 --- a/smallrye-llm-langchain4j-buildcompatible-extension/src/main/java/io/smallrye/llm/aiservice/Langchain4JAIServiceBuildCompatibleExtension.java +++ b/smallrye-llm-langchain4j-buildcompatible-extension/src/main/java/io/smallrye/llm/aiservice/Langchain4JAIServiceBuildCompatibleExtension.java @@ -62,6 +62,10 @@ public void detectRegisterAIService(FieldConfig config) throws ClassNotFoundExce if (info.type().isClass()) { ClassType classType = info.type().asClass(); ClassInfo classInfo = classType.declaration(); + if (classInfo.name().equals(Object.class.getName())) { + return; + } + LOGGER.debug("Detecting RegisterAIService on type " + classInfo.name()); AnnotationInfo annotationInfo = classInfo.annotation(RegisterAIService.class); if (annotationInfo != null) { registerAIService(classInfo); diff --git a/smallrye-llm-langchain4j-core/src/main/java/io/smallrye/llm/plugin/CommonLLMPluginCreator.java b/smallrye-llm-langchain4j-core/src/main/java/io/smallrye/llm/plugin/CommonLLMPluginCreator.java index 911f98a..a5cfeca 100644 --- a/smallrye-llm-langchain4j-core/src/main/java/io/smallrye/llm/plugin/CommonLLMPluginCreator.java +++ b/smallrye-llm-langchain4j-core/src/main/java/io/smallrye/llm/plugin/CommonLLMPluginCreator.java @@ -153,10 +153,14 @@ public static Object create(Instance lookup, String beanName, Class t for (Method methodToCall : methodsToCall) { Class parameterType = methodToCall.getParameterTypes()[0]; if ("listeners".equals(property)) { - Class typeParameterClass = ChatLanguageModel.class.isAssignableFrom(targetClass) - || StreamingChatLanguageModel.class.isAssignableFrom(targetClass) - ? ChatModelListener.class - : parameterType.getTypeParameters()[0].getGenericDeclaration(); + Class typeParameterClass; + if (ChatLanguageModel.class.isAssignableFrom(targetClass)) { + typeParameterClass = ChatModelListener.class; + } else if (StreamingChatLanguageModel.class.isAssignableFrom(targetClass)) { + typeParameterClass = StreamingChatLanguageModel.class; + } else { + typeParameterClass = parameterType.getTypeParameters()[0].getGenericDeclaration(); + } List listeners = (List) Collections.checkedList(new ArrayList<>(), typeParameterClass); if ("@all".equals(stringValue.trim())) { @@ -174,7 +178,6 @@ public static Object create(Instance lookup, String beanName, Class t throw new RuntimeException(e); } } - if (listeners != null && !listeners.isEmpty()) { listeners.stream().forEach(l -> LOGGER.info("Adding listener: " + l.getClass().getName())); methodToCall.invoke(builder, listeners); diff --git a/smallrye-llm-langchain4j-fault-tolerance/pom.xml b/smallrye-llm-langchain4j-fault-tolerance/pom.xml index b28076b..52aa693 100644 --- a/smallrye-llm-langchain4j-fault-tolerance/pom.xml +++ b/smallrye-llm-langchain4j-fault-tolerance/pom.xml @@ -1,16 +1,16 @@ - 4.0.0 - - io.smallrye.llm - smallrye-llm-parent - 1.0.0-SNAPSHOT - - smallrye-llm-langchain4j-fault-tolerance - SmallRye LLM: LangChain4j Fault Tolerance + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + io.smallrye.llm + smallrye-llm-parent + 1.0.0-SNAPSHOT + + smallrye-llm-langchain4j-fault-tolerance + SmallRye LLM: LangChain4j Fault Tolerance - + jakarta.enterprise jakarta.enterprise.cdi-api @@ -19,7 +19,6 @@ io.smallrye smallrye-fault-tolerance - 6.6.2 io.smallrye.llm diff --git a/smallrye-llm-langchain4j-portable-extension/pom.xml b/smallrye-llm-langchain4j-portable-extension/pom.xml index 70fdedb..e902647 100644 --- a/smallrye-llm-langchain4j-portable-extension/pom.xml +++ b/smallrye-llm-langchain4j-portable-extension/pom.xml @@ -39,7 +39,6 @@ io.smallrye.config smallrye-config - 3.8.1 test