Open
Description
I have an app (https://github.com/edeandrea/java-ai-playground/tree/quarkus) that if I try to set quarkus.langchain4j.chat-memory.type=token-window
I end up getting a big fat stack trace (see below). The app uses the easy-rag extension.
- Clone https://github.com/edeandrea/java-ai-playground
- Check out the
quarkus
branch - Make sure Ollama is running
- Run
./mvnw clean quarkus:dev -Dquarkus.profile=ollama -Dquarkus.langchain4j.chat-memory.type=token-window
- See the stack trace:
2024-11-01 08:07:22,362 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (main) Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: jakarta.enterprise.inject.spi.DeploymentException: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type dev.langchain4j.model.Tokenizer and qualifiers [@jakarta.enterprise.inject.Default]
- synthetic injection point
- declared on SYNTHETIC bean [types=[dev.langchain4j.memory.chat.ChatMemoryProvider, java.lang.Object], qualifiers=[@Default, @Any], target=n/a]
at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1576)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:338)
at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)
at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:492)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:499)
Caused by: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type dev.langchain4j.model.Tokenizer and qualifiers [@jakarta.enterprise.inject.Default]
- synthetic injection point
- declared on SYNTHETIC bean [types=[dev.langchain4j.memory.chat.ChatMemoryProvider, java.lang.Object], qualifiers=[@Default, @Any], target=n/a]
at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:546)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:698)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:323)
... 12 more
at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:354)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:272)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:62)
at io.quarkus.deployment.dev.IsolatedDevModeMain.firstStart(IsolatedDevModeMain.java:89)
at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:428)
at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:55)
at io.quarkus.bootstrap.app.CuratedApplication.runInCl(CuratedApplication.java:138)
at io.quarkus.bootstrap.app.CuratedApplication.runInAugmentClassLoader(CuratedApplication.java:93)
at io.quarkus.deployment.dev.DevModeMain.start(DevModeMain.java:131)
at io.quarkus.deployment.dev.DevModeMain.main(DevModeMain.java:62)
Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: jakarta.enterprise.inject.spi.DeploymentException: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type dev.langchain4j.model.Tokenizer and qualifiers [@jakarta.enterprise.inject.Default]
- synthetic injection point
- declared on SYNTHETIC bean [types=[dev.langchain4j.memory.chat.ChatMemoryProvider, java.lang.Object], qualifiers=[@Default, @Any], target=n/a]
at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1576)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:338)
at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)
at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:492)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:499)
Caused by: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type dev.langchain4j.model.Tokenizer and qualifiers [@jakarta.enterprise.inject.Default]
- synthetic injection point
- declared on SYNTHETIC bean [types=[dev.langchain4j.memory.chat.ChatMemoryProvider, java.lang.Object], qualifiers=[@Default, @Any], target=n/a]
at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:546)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:698)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:323)
... 12 more
at io.quarkus.builder.Execution.run(Execution.java:124)
at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:79)
at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:161)
at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:350)
... 9 more
Caused by: jakarta.enterprise.inject.spi.DeploymentException: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type dev.langchain4j.model.Tokenizer and qualifiers [@jakarta.enterprise.inject.Default]
- synthetic injection point
- declared on SYNTHETIC bean [types=[dev.langchain4j.memory.chat.ChatMemoryProvider, java.lang.Object], qualifiers=[@Default, @Any], target=n/a]
at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1576)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:338)
at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:178)
at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:492)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:499)
Caused by: jakarta.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type dev.langchain4j.model.Tokenizer and qualifiers [@jakarta.enterprise.inject.Default]
- synthetic injection point
- declared on SYNTHETIC bean [types=[dev.langchain4j.memory.chat.ChatMemoryProvider, java.lang.Object], qualifiers=[@Default, @Any], target=n/a]
at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:546)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:698)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:323)
... 12 more