Skip to content

Commit 0f4e0f2

Browse files
committed
Qute Debugging support.
Signed-off-by: azerr <[email protected]>
1 parent 21223a8 commit 0f4e0f2

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

core/runtime/src/main/java/io/quarkiverse/langchain4j/QuarkusPromptTemplateFactory.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313
import dev.langchain4j.spi.prompt.PromptTemplateFactory;
1414
import io.quarkiverse.langchain4j.spi.PromptTemplateFactoryContentFilterProvider;
1515
import io.quarkus.arc.Arc;
16+
import io.quarkus.arc.ArcContainer;
1617
import io.quarkus.arc.impl.LazyValue;
1718
import io.quarkus.qute.Engine;
19+
import io.quarkus.qute.EngineBuilder;
1820
import io.quarkus.qute.ParserHelper;
1921
import io.quarkus.qute.ParserHook;
2022
import io.quarkus.qute.TemplateInstance;
@@ -27,8 +29,14 @@ public QuarkusPromptTemplateFactory() {
2729
engineLazyValue.set(new LazyValue<>(new Supplier<Engine>() {
2830
@Override
2931
public Engine get() {
30-
return Arc.container().instance(Engine.class).get().newBuilder()
31-
.addParserHook(new MustacheTemplateVariableStyleParserHook()).build();
32+
ArcContainer container = Arc.container();
33+
EngineBuilder builder = container.instance(Engine.class).get().newBuilder()
34+
.addParserHook(new MustacheTemplateVariableStyleParserHook());
35+
// fire event to call DebugQuteEngineObserver#configureEngine(@Observes EngineBuilder builder, QuteConfig config)
36+
// to track the langchain4j engine builder with Qute debugger
37+
// see https://github.com/quarkusio/quarkus/blob/84414f0fd571881f5601c1dc73a0f43c07080a87/extensions/qute/runtime/src/main/java/io/quarkus/qute/runtime/debug/DebugQuteEngineObserver.java#L41
38+
container.beanManager().getEvent().fire(builder);
39+
return builder.build();
3240
}
3341
}));
3442
}

0 commit comments

Comments
 (0)